diff --git a/res/values/strings.xml b/res/values/strings.xml index 369115cdd4b..a6f29f6ae9e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4689,7 +4689,7 @@ On-screen keyboard - Available virtual keyboard + Available On-screen keyboard Manage on-screen keyboards @@ -4707,7 +4707,7 @@ Work profile keyboards & tools - Virtual keyboard for work + On-screen keyboard for work Default diff --git a/res/xml/manage_assist.xml b/res/xml/manage_assist.xml index 3430c0518ea..59ba2f53b9e 100644 --- a/res/xml/manage_assist.xml +++ b/res/xml/manage_assist.xml @@ -25,7 +25,8 @@ + android:summary="@string/summary_placeholder" + settings:searchable="false"/> mMediaDevices = new ArrayList<>(); + @Mock + private LocalBluetoothManager mLocalBluetoothManager; + @Mock + private BluetoothEventManager mBluetoothEventManager; + private MediaDeviceUpdateWorker mMediaDeviceUpdateWorker; private ContentResolver mResolver; private Context mContext; @@ -209,4 +226,21 @@ public class MediaDeviceUpdateWorkerTest { assertThat(mMediaDeviceUpdateWorker.getActiveRemoteMediaDevice()).containsExactly( remoteSessionInfo); } + + @Test + public void onSlicePinned_packageUpdated_checkPackageName() { + ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager; + when(mLocalBluetoothManager.getEventManager()).thenReturn(mBluetoothEventManager); + mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, URI1); + mMediaDeviceUpdateWorker.onSlicePinned(); + + assertThat(mMediaDeviceUpdateWorker.mLocalMediaManager.getPackageName()).matches( + TEST_DEVICE_PACKAGE_NAME1); + + mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, URI2); + mMediaDeviceUpdateWorker.onSlicePinned(); + + assertThat(mMediaDeviceUpdateWorker.mLocalMediaManager.getPackageName()).matches( + TEST_DEVICE_PACKAGE_NAME2); + } } diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java index d96541d43b6..dd3a2367780 100644 --- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java +++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java @@ -62,6 +62,8 @@ import java.util.List; @Config(shadows = {ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class}) public class MediaOutputIndicatorWorkerTest { private static final Uri URI = Uri.parse("content://com.android.settings.slices/test"); + private static final String TEST_PACKAGE_NAME = "com.android.test"; + private static final String TEST_PACKAGE_NAME2 = "com.android.test2"; @Mock private BluetoothEventManager mBluetoothEventManager; @@ -109,6 +111,33 @@ public class MediaOutputIndicatorWorkerTest { verify(mLocalMediaManager).startScan(); } + @Test + public void onSlicePinned_packageUpdated_checkPackageName() { + initPlayback(); + when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo); + when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState); + when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGE_NAME); + + mMediaOutputIndicatorWorker.onSlicePinned(); + assertThat(mMediaOutputIndicatorWorker.mLocalMediaManager.getPackageName()).matches( + TEST_PACKAGE_NAME); + + when(mMediaController.getPackageName()).thenReturn(TEST_PACKAGE_NAME2); + mMediaOutputIndicatorWorker.onSlicePinned(); + + assertThat(mMediaOutputIndicatorWorker.mLocalMediaManager.getPackageName()).matches( + TEST_PACKAGE_NAME2); + } + + @Test + public void onSlicePinned_noActiveController_noPackageName() { + mMediaControllers.clear(); + + mMediaOutputIndicatorWorker.onSlicePinned(); + + assertThat(mMediaOutputIndicatorWorker.mLocalMediaManager.getPackageName()).isNull(); + } + @Test public void onSliceUnpinned_unRegisterCallback() { mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager; @@ -138,6 +167,16 @@ public class MediaOutputIndicatorWorkerTest { @Test public void getActiveLocalMediaController_localMediaPlaying_returnController() { + initPlayback(); + + when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo); + when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState); + + assertThat(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).isEqualTo( + mMediaController); + } + + private void initPlayback() { mPlaybackInfo = new MediaController.PlaybackInfo( MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL, VolumeProvider.VOLUME_CONTROL_ABSOLUTE, @@ -148,12 +187,6 @@ public class MediaOutputIndicatorWorkerTest { mPlaybackState = new PlaybackState.Builder() .setState(PlaybackState.STATE_PLAYING, 0, 1) .build(); - - when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo); - when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState); - - assertThat(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).isEqualTo( - mMediaController); } @Test