Loading src/com/android/settings/media/MediaOutputIndicatorWorker.java +10 −7 Original line number Diff line number Diff line Loading @@ -81,14 +81,17 @@ public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements mContext.registerReceiver(mReceiver, intentFilter); mLocalBluetoothManager.getEventManager().registerCallback(this); if (mLocalMediaManager == null) { final MediaController controller = getActiveLocalMediaController(); if (controller != null) { if (controller == null) { mPackageName = null; } else { 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.startScan(); } Loading tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java +39 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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, Loading @@ -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 Loading Loading
src/com/android/settings/media/MediaOutputIndicatorWorker.java +10 −7 Original line number Diff line number Diff line Loading @@ -81,14 +81,17 @@ public class MediaOutputIndicatorWorker extends SliceBackgroundWorker implements mContext.registerReceiver(mReceiver, intentFilter); mLocalBluetoothManager.getEventManager().registerCallback(this); if (mLocalMediaManager == null) { final MediaController controller = getActiveLocalMediaController(); if (controller != null) { if (controller == null) { mPackageName = null; } else { 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.startScan(); } Loading
tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java +39 −6 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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, Loading @@ -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 Loading