From ac3cf468afddacc34d9a9b8b0eb2afbb61b7fc1c Mon Sep 17 00:00:00 2001 From: shaoweishen Date: Wed, 22 Mar 2023 12:06:21 +0000 Subject: [PATCH] [Output Switcher] Update stop button text update stop button text and null check for muting expected device. Bug: 272787441 Bug: 274631614 Test: atest MediaOutputAdapterTest MediaOutputControllerTest MediaOutputBaseDialogTest MediaOutputDialogTest Change-Id: Idd9680f42bbb9651dea3dc8850a0f425bcba569b --- .../com/android/settingslib/media/LocalMediaManager.java | 9 ++++++--- .../android/systemui/media/dialog/MediaOutputDialog.java | 2 +- .../systemui/media/dialog/MediaOutputDialogTest.java | 3 ++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java index 7458f0106283f..cff643578f67c 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java @@ -22,6 +22,7 @@ import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; 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; @@ -592,9 +593,11 @@ public class LocalMediaManager implements BluetoothCallback { } 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 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 fbd0079f8dc0d..cb6f5a78ec302 100644 --- a/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialog.java +++ b/packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputDialog.java @@ -108,7 +108,7 @@ public class MediaOutputDialog extends MediaOutputBaseDialog { @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 31866a8df7e50..b02fdf4e4a20d 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 @@ -247,7 +247,8 @@ public class MediaOutputDialogTest extends SysuiTestCase { @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);