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