"Play null on" displayed under media volume
-Reset package name when it is different with previous one -Add test case Bug: 156224161 Test: make -j50 RunSettingsRoboTests Change-Id: Ifcacc171d86017b702f51343036e0ebf0e0d1989
This commit is contained in:
@@ -81,14 +81,17 @@ public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements
|
|||||||
mContext.registerReceiver(mReceiver, intentFilter);
|
mContext.registerReceiver(mReceiver, intentFilter);
|
||||||
mLocalBluetoothManager.getEventManager().registerCallback(this);
|
mLocalBluetoothManager.getEventManager().registerCallback(this);
|
||||||
|
|
||||||
if (mLocalMediaManager == null) {
|
|
||||||
final MediaController controller = getActiveLocalMediaController();
|
final MediaController controller = getActiveLocalMediaController();
|
||||||
if (controller != null) {
|
if (controller == null) {
|
||||||
|
mPackageName = null;
|
||||||
|
} else {
|
||||||
mPackageName = controller.getPackageName();
|
mPackageName = controller.getPackageName();
|
||||||
}
|
}
|
||||||
mLocalMediaManager = new LocalMediaManager(mContext, mPackageName, null);
|
if (mLocalMediaManager == null || !TextUtils.equals(mPackageName,
|
||||||
|
mLocalMediaManager.getPackageName())) {
|
||||||
|
mLocalMediaManager = new LocalMediaManager(mContext, mPackageName,
|
||||||
|
null /* notification */);
|
||||||
}
|
}
|
||||||
|
|
||||||
mLocalMediaManager.registerCallback(this);
|
mLocalMediaManager.registerCallback(this);
|
||||||
mLocalMediaManager.startScan();
|
mLocalMediaManager.startScan();
|
||||||
}
|
}
|
||||||
|
@@ -62,6 +62,8 @@ import java.util.List;
|
|||||||
@Config(shadows = {ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class})
|
@Config(shadows = {ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class})
|
||||||
public class MediaOutputIndicatorWorkerTest {
|
public class MediaOutputIndicatorWorkerTest {
|
||||||
private static final Uri URI = Uri.parse("content://com.android.settings.slices/test");
|
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
|
@Mock
|
||||||
private BluetoothEventManager mBluetoothEventManager;
|
private BluetoothEventManager mBluetoothEventManager;
|
||||||
@@ -109,6 +111,33 @@ public class MediaOutputIndicatorWorkerTest {
|
|||||||
verify(mLocalMediaManager).startScan();
|
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
|
@Test
|
||||||
public void onSliceUnpinned_unRegisterCallback() {
|
public void onSliceUnpinned_unRegisterCallback() {
|
||||||
mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
|
mMediaOutputIndicatorWorker.mLocalMediaManager = mLocalMediaManager;
|
||||||
@@ -138,6 +167,16 @@ public class MediaOutputIndicatorWorkerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getActiveLocalMediaController_localMediaPlaying_returnController() {
|
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(
|
mPlaybackInfo = new MediaController.PlaybackInfo(
|
||||||
MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
|
MediaController.PlaybackInfo.PLAYBACK_TYPE_LOCAL,
|
||||||
VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
|
VolumeProvider.VOLUME_CONTROL_ABSOLUTE,
|
||||||
@@ -148,12 +187,6 @@ public class MediaOutputIndicatorWorkerTest {
|
|||||||
mPlaybackState = new PlaybackState.Builder()
|
mPlaybackState = new PlaybackState.Builder()
|
||||||
.setState(PlaybackState.STATE_PLAYING, 0, 1)
|
.setState(PlaybackState.STATE_PLAYING, 0, 1)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
when(mMediaController.getPlaybackInfo()).thenReturn(mPlaybackInfo);
|
|
||||||
when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
|
|
||||||
|
|
||||||
assertThat(mMediaOutputIndicatorWorker.getActiveLocalMediaController()).isEqualTo(
|
|
||||||
mMediaController);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user