Merge "[Output Switcher] Update stop button text" into tm-qpr-dev am: 0aadb77a13 am: 904bbc956a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22196624

Change-Id: I9152e0c3ada7d15332cb7cddea3f446f5bc8402c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
index 24acf8a..c45e8e4 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
@@ -23,6 +23,7 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.graphics.drawable.Drawable;
+import android.media.AudioDeviceAttributes;
 import android.media.AudioManager;
 import android.media.RoutingSessionInfo;
 import android.os.Build;
@@ -566,9 +567,11 @@
         }
 
         private boolean isMutingExpectedDevice(CachedBluetoothDevice cachedDevice) {
-            return mAudioManager.getMutingExpectedDevice() != null
-                    && cachedDevice.getAddress().equals(
-                    mAudioManager.getMutingExpectedDevice().getAddress());
+            AudioDeviceAttributes mutingExpectedDevice = mAudioManager.getMutingExpectedDevice();
+            if (mutingExpectedDevice == null || cachedDevice == null) {
+                return false;
+            }
+            return cachedDevice.getAddress().equals(mutingExpectedDevice.getAddress());
         }
 
         private List<MediaDevice> buildDisconnectedBluetoothDevice() {
diff --git a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialog.java b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialog.java
index a174b45..19b32e9 100644
--- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialog.java
@@ -117,7 +117,7 @@
 
     @Override
     public CharSequence getStopButtonText() {
-        int resId = R.string.keyboard_key_media_stop;
+        int resId = R.string.media_output_dialog_button_stop_casting;
         if (isBroadcastSupported() && mMediaOutputController.isPlaying()
                 && !mMediaOutputController.isBluetoothLeBroadcastEnabled()) {
             resId = R.string.media_output_broadcast;
diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaOutputDialogTest.java b/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaOutputDialogTest.java
index 9ecc63c..c3fabfe 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaOutputDialogTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaOutputDialogTest.java
@@ -306,7 +306,8 @@
 
     @Test
     public void getStopButtonText_notSupportsBroadcast_returnsDefaultText() {
-        String stopText = mContext.getText(R.string.keyboard_key_media_stop).toString();
+        String stopText = mContext.getText(
+                R.string.media_output_dialog_button_stop_casting).toString();
         MediaOutputController mockMediaOutputController = mock(MediaOutputController.class);
         when(mockMediaOutputController.isBroadcastSupported()).thenReturn(false);