Loading src/com/android/settings/notification/MediaVolumePreferenceController.java +31 −16 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.android.settings.media.MediaOutputIndicatorWorker; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SliceBackgroundWorker; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.flags.Flags; import com.android.settingslib.media.BluetoothMediaDevice; import com.android.settingslib.media.MediaDevice; import com.android.settingslib.media.MediaOutputConstants; Loading Loading @@ -94,7 +95,9 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont @VisibleForTesting boolean isSupportEndItem() { return getWorker() != null && getWorker().isBroadcastSupported() return Flags.legacyLeAudioSharing() && getWorker() != null && getWorker().isBroadcastSupported() && (getWorker().isDeviceBroadcasting() || isConnectedBLEDevice()); } Loading @@ -114,7 +117,8 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont if (mPreference != null) { if (mPreference.isMuted()) { mPreference.updateContentDescription( mContext.getString(R.string.volume_content_description_silent_mode, mContext.getString( R.string.volume_content_description_silent_mode, mPreference.getTitle())); } else { mPreference.updateContentDescription(mPreference.getTitle()); Loading @@ -134,10 +138,15 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont if (getWorker().isDeviceBroadcasting()) { intent.setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME); intent.setAction(MediaOutputConstants.ACTION_LAUNCH_MEDIA_OUTPUT_BROADCAST_DIALOG); intent.putExtra(MediaOutputConstants.EXTRA_PACKAGE_NAME, intent.putExtra( MediaOutputConstants.EXTRA_PACKAGE_NAME, getWorker().getActiveLocalMediaController().getPackageName()); pi = PendingIntent.getBroadcast(context, 0 /* requestCode */, intent, pi = PendingIntent.getBroadcast( context, 0 /* requestCode */, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } else { final CachedBluetoothDevice bluetoothDevice = Loading @@ -147,14 +156,20 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont return null; } intent.setAction(ACTION_LAUNCH_BROADCAST_DIALOG); intent.putExtra(BluetoothBroadcastDialog.KEY_APP_LABEL, intent.putExtra( BluetoothBroadcastDialog.KEY_APP_LABEL, Utils.getApplicationLabel(mContext, getWorker().getPackageName())); intent.putExtra(BluetoothBroadcastDialog.KEY_DEVICE_ADDRESS, bluetoothDevice.getAddress()); intent.putExtra(BluetoothBroadcastDialog.KEY_MEDIA_STREAMING, getWorker() != null && getWorker().getActiveLocalMediaController() != null); pi = PendingIntent.getActivity(context, 0 /* requestCode */, intent, intent.putExtra( BluetoothBroadcastDialog.KEY_DEVICE_ADDRESS, bluetoothDevice.getAddress()); intent.putExtra( BluetoothBroadcastDialog.KEY_MEDIA_STREAMING, getWorker() != null && getWorker().getActiveLocalMediaController() != null); pi = PendingIntent.getActivity( context, 0 /* requestCode */, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } Loading @@ -164,8 +179,8 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont } private IconCompat getBroadcastIcon(Context context) { final Drawable drawable = context.getDrawable( com.android.settingslib.R.drawable.settings_input_antenna); final Drawable drawable = context.getDrawable(com.android.settingslib.R.drawable.settings_input_antenna); if (drawable != null) { drawable.setTint(Utils.getColorAccentDefaultColor(context)); return Utils.createIconWithDrawable(drawable); Loading tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java +60 −16 Original line number Diff line number Diff line Loading @@ -31,17 +31,23 @@ import android.content.Intent; import android.media.AudioManager; import android.media.session.MediaController; import android.net.Uri; import android.platform.test.annotations.RequiresFlagsDisabled; import android.platform.test.annotations.RequiresFlagsEnabled; import android.platform.test.flag.junit.CheckFlagsRule; import android.platform.test.flag.junit.DeviceFlagsValueProvider; import androidx.slice.builders.SliceAction; import com.android.settings.media.MediaOutputIndicatorWorker; import com.android.settings.slices.SliceBackgroundWorker; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.flags.Flags; import com.android.settingslib.media.BluetoothMediaDevice; import com.android.settingslib.media.MediaDevice; import com.android.settingslib.media.MediaOutputConstants; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; Loading @@ -60,16 +66,16 @@ public class MediaVolumePreferenceControllerTest { "android.settings.MEDIA_BROADCAST_DIALOG"; private static MediaOutputIndicatorWorker sMediaOutputIndicatorWorker; @Rule public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); private MediaVolumePreferenceController mController; private Context mContext; @Mock private MediaController mMediaController; @Mock private MediaDevice mDevice1; @Mock private MediaDevice mDevice2; @Mock private MediaController mMediaController; @Mock private MediaDevice mDevice1; @Mock private MediaDevice mDevice2; @Before public void setUp() { Loading @@ -77,8 +83,8 @@ public class MediaVolumePreferenceControllerTest { mContext = RuntimeEnvironment.application; mController = new MediaVolumePreferenceController(mContext); sMediaOutputIndicatorWorker = spy( new MediaOutputIndicatorWorker(mContext, VOLUME_MEDIA_URI)); sMediaOutputIndicatorWorker = spy(new MediaOutputIndicatorWorker(mContext, VOLUME_MEDIA_URI)); when(mDevice1.isBLEDevice()).thenReturn(true); when(mDevice2.isBLEDevice()).thenReturn(false); } Loading @@ -101,8 +107,8 @@ public class MediaVolumePreferenceControllerTest { @Test public void isSliceableCorrectKey_returnsTrue() { final MediaVolumePreferenceController controller = new MediaVolumePreferenceController( mContext); final MediaVolumePreferenceController controller = new MediaVolumePreferenceController(mContext); assertThat(controller.isSliceable()).isTrue(); } Loading @@ -112,6 +118,17 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsDisabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_flagOff_returnsFalse() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); assertThat(mController.isSupportEndItem()).isFalse(); } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_withBleDevice_returnsTrue() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); Loading @@ -121,6 +138,7 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_notSupportedBroadcast_returnsFalse() { doReturn(false).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); Loading @@ -129,6 +147,7 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_withNonBleDevice_returnsFalse() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); Loading @@ -138,6 +157,7 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_deviceIsBroadcastingAndConnectedToNonBleDevice_returnsTrue() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(true).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); Loading @@ -147,6 +167,7 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_deviceIsNotBroadcastingAndConnectedToNonBleDevice_returnsFalse() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); Loading @@ -155,8 +176,20 @@ public class MediaVolumePreferenceControllerTest { assertThat(mController.isSupportEndItem()).isFalse(); } @Test @RequiresFlagsDisabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void getSliceEndItem_flagOff_getsNullSliceAction() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(true).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); doReturn(mDevice2).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); final SliceAction sliceAction = mController.getSliceEndItem(mContext); assertThat(sliceAction).isNull(); } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void getSliceEndItem_NotSupportEndItem_getsNullSliceAction() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); Loading @@ -168,22 +201,26 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void getSliceEndItem_deviceIsBroadcasting_getsBroadcastIntent() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); doReturn(true).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); doReturn(mMediaController).when(sMediaOutputIndicatorWorker) doReturn(mMediaController) .when(sMediaOutputIndicatorWorker) .getActiveLocalMediaController(); final SliceAction sliceAction = mController.getSliceEndItem(mContext); final PendingIntent endItemPendingIntent = sliceAction.getAction(); final PendingIntent expectedToggleIntent = getBroadcastIntent( final PendingIntent expectedToggleIntent = getBroadcastIntent( MediaOutputConstants.ACTION_LAUNCH_MEDIA_OUTPUT_BROADCAST_DIALOG); assertThat(endItemPendingIntent).isEqualTo(expectedToggleIntent); } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void getSliceEndItem_deviceIsNotBroadcasting_getsActivityIntent() { final MediaDevice device = mock(BluetoothMediaDevice.class); final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class); Loading @@ -192,7 +229,8 @@ public class MediaVolumePreferenceControllerTest { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(device).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); doReturn(mMediaController).when(sMediaOutputIndicatorWorker) doReturn(mMediaController) .when(sMediaOutputIndicatorWorker) .getActiveLocalMediaController(); final SliceAction sliceAction = mController.getSliceEndItem(mContext); Loading @@ -215,13 +253,19 @@ public class MediaVolumePreferenceControllerTest { private PendingIntent getBroadcastIntent(String action) { final Intent intent = new Intent(action); intent.setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME); return PendingIntent.getBroadcast(mContext, 0 /* requestCode */, intent, return PendingIntent.getBroadcast( mContext, 0 /* requestCode */, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } private PendingIntent getActivityIntent(String action) { final Intent intent = new Intent(action); return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, return PendingIntent.getActivity( mContext, 0 /* requestCode */, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } } Loading
src/com/android/settings/notification/MediaVolumePreferenceController.java +31 −16 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.android.settings.media.MediaOutputIndicatorWorker; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.slices.SliceBackgroundWorker; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.flags.Flags; import com.android.settingslib.media.BluetoothMediaDevice; import com.android.settingslib.media.MediaDevice; import com.android.settingslib.media.MediaOutputConstants; Loading Loading @@ -94,7 +95,9 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont @VisibleForTesting boolean isSupportEndItem() { return getWorker() != null && getWorker().isBroadcastSupported() return Flags.legacyLeAudioSharing() && getWorker() != null && getWorker().isBroadcastSupported() && (getWorker().isDeviceBroadcasting() || isConnectedBLEDevice()); } Loading @@ -114,7 +117,8 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont if (mPreference != null) { if (mPreference.isMuted()) { mPreference.updateContentDescription( mContext.getString(R.string.volume_content_description_silent_mode, mContext.getString( R.string.volume_content_description_silent_mode, mPreference.getTitle())); } else { mPreference.updateContentDescription(mPreference.getTitle()); Loading @@ -134,10 +138,15 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont if (getWorker().isDeviceBroadcasting()) { intent.setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME); intent.setAction(MediaOutputConstants.ACTION_LAUNCH_MEDIA_OUTPUT_BROADCAST_DIALOG); intent.putExtra(MediaOutputConstants.EXTRA_PACKAGE_NAME, intent.putExtra( MediaOutputConstants.EXTRA_PACKAGE_NAME, getWorker().getActiveLocalMediaController().getPackageName()); pi = PendingIntent.getBroadcast(context, 0 /* requestCode */, intent, pi = PendingIntent.getBroadcast( context, 0 /* requestCode */, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } else { final CachedBluetoothDevice bluetoothDevice = Loading @@ -147,14 +156,20 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont return null; } intent.setAction(ACTION_LAUNCH_BROADCAST_DIALOG); intent.putExtra(BluetoothBroadcastDialog.KEY_APP_LABEL, intent.putExtra( BluetoothBroadcastDialog.KEY_APP_LABEL, Utils.getApplicationLabel(mContext, getWorker().getPackageName())); intent.putExtra(BluetoothBroadcastDialog.KEY_DEVICE_ADDRESS, bluetoothDevice.getAddress()); intent.putExtra(BluetoothBroadcastDialog.KEY_MEDIA_STREAMING, getWorker() != null && getWorker().getActiveLocalMediaController() != null); pi = PendingIntent.getActivity(context, 0 /* requestCode */, intent, intent.putExtra( BluetoothBroadcastDialog.KEY_DEVICE_ADDRESS, bluetoothDevice.getAddress()); intent.putExtra( BluetoothBroadcastDialog.KEY_MEDIA_STREAMING, getWorker() != null && getWorker().getActiveLocalMediaController() != null); pi = PendingIntent.getActivity( context, 0 /* requestCode */, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } Loading @@ -164,8 +179,8 @@ public class MediaVolumePreferenceController extends VolumeSeekBarPreferenceCont } private IconCompat getBroadcastIcon(Context context) { final Drawable drawable = context.getDrawable( com.android.settingslib.R.drawable.settings_input_antenna); final Drawable drawable = context.getDrawable(com.android.settingslib.R.drawable.settings_input_antenna); if (drawable != null) { drawable.setTint(Utils.getColorAccentDefaultColor(context)); return Utils.createIconWithDrawable(drawable); Loading
tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java +60 −16 Original line number Diff line number Diff line Loading @@ -31,17 +31,23 @@ import android.content.Intent; import android.media.AudioManager; import android.media.session.MediaController; import android.net.Uri; import android.platform.test.annotations.RequiresFlagsDisabled; import android.platform.test.annotations.RequiresFlagsEnabled; import android.platform.test.flag.junit.CheckFlagsRule; import android.platform.test.flag.junit.DeviceFlagsValueProvider; import androidx.slice.builders.SliceAction; import com.android.settings.media.MediaOutputIndicatorWorker; import com.android.settings.slices.SliceBackgroundWorker; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.flags.Flags; import com.android.settingslib.media.BluetoothMediaDevice; import com.android.settingslib.media.MediaDevice; import com.android.settingslib.media.MediaOutputConstants; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; Loading @@ -60,16 +66,16 @@ public class MediaVolumePreferenceControllerTest { "android.settings.MEDIA_BROADCAST_DIALOG"; private static MediaOutputIndicatorWorker sMediaOutputIndicatorWorker; @Rule public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule(); private MediaVolumePreferenceController mController; private Context mContext; @Mock private MediaController mMediaController; @Mock private MediaDevice mDevice1; @Mock private MediaDevice mDevice2; @Mock private MediaController mMediaController; @Mock private MediaDevice mDevice1; @Mock private MediaDevice mDevice2; @Before public void setUp() { Loading @@ -77,8 +83,8 @@ public class MediaVolumePreferenceControllerTest { mContext = RuntimeEnvironment.application; mController = new MediaVolumePreferenceController(mContext); sMediaOutputIndicatorWorker = spy( new MediaOutputIndicatorWorker(mContext, VOLUME_MEDIA_URI)); sMediaOutputIndicatorWorker = spy(new MediaOutputIndicatorWorker(mContext, VOLUME_MEDIA_URI)); when(mDevice1.isBLEDevice()).thenReturn(true); when(mDevice2.isBLEDevice()).thenReturn(false); } Loading @@ -101,8 +107,8 @@ public class MediaVolumePreferenceControllerTest { @Test public void isSliceableCorrectKey_returnsTrue() { final MediaVolumePreferenceController controller = new MediaVolumePreferenceController( mContext); final MediaVolumePreferenceController controller = new MediaVolumePreferenceController(mContext); assertThat(controller.isSliceable()).isTrue(); } Loading @@ -112,6 +118,17 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsDisabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_flagOff_returnsFalse() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); assertThat(mController.isSupportEndItem()).isFalse(); } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_withBleDevice_returnsTrue() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); Loading @@ -121,6 +138,7 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_notSupportedBroadcast_returnsFalse() { doReturn(false).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); Loading @@ -129,6 +147,7 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_withNonBleDevice_returnsFalse() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); Loading @@ -138,6 +157,7 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_deviceIsBroadcastingAndConnectedToNonBleDevice_returnsTrue() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(true).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); Loading @@ -147,6 +167,7 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void isSupportEndItem_deviceIsNotBroadcastingAndConnectedToNonBleDevice_returnsFalse() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); Loading @@ -155,8 +176,20 @@ public class MediaVolumePreferenceControllerTest { assertThat(mController.isSupportEndItem()).isFalse(); } @Test @RequiresFlagsDisabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void getSliceEndItem_flagOff_getsNullSliceAction() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(true).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); doReturn(mDevice2).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); final SliceAction sliceAction = mController.getSliceEndItem(mContext); assertThat(sliceAction).isNull(); } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void getSliceEndItem_NotSupportEndItem_getsNullSliceAction() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); Loading @@ -168,22 +201,26 @@ public class MediaVolumePreferenceControllerTest { } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void getSliceEndItem_deviceIsBroadcasting_getsBroadcastIntent() { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(mDevice1).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); doReturn(true).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); doReturn(mMediaController).when(sMediaOutputIndicatorWorker) doReturn(mMediaController) .when(sMediaOutputIndicatorWorker) .getActiveLocalMediaController(); final SliceAction sliceAction = mController.getSliceEndItem(mContext); final PendingIntent endItemPendingIntent = sliceAction.getAction(); final PendingIntent expectedToggleIntent = getBroadcastIntent( final PendingIntent expectedToggleIntent = getBroadcastIntent( MediaOutputConstants.ACTION_LAUNCH_MEDIA_OUTPUT_BROADCAST_DIALOG); assertThat(endItemPendingIntent).isEqualTo(expectedToggleIntent); } @Test @RequiresFlagsEnabled(Flags.FLAG_LEGACY_LE_AUDIO_SHARING) public void getSliceEndItem_deviceIsNotBroadcasting_getsActivityIntent() { final MediaDevice device = mock(BluetoothMediaDevice.class); final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class); Loading @@ -192,7 +229,8 @@ public class MediaVolumePreferenceControllerTest { doReturn(true).when(sMediaOutputIndicatorWorker).isBroadcastSupported(); doReturn(device).when(sMediaOutputIndicatorWorker).getCurrentConnectedMediaDevice(); doReturn(false).when(sMediaOutputIndicatorWorker).isDeviceBroadcasting(); doReturn(mMediaController).when(sMediaOutputIndicatorWorker) doReturn(mMediaController) .when(sMediaOutputIndicatorWorker) .getActiveLocalMediaController(); final SliceAction sliceAction = mController.getSliceEndItem(mContext); Loading @@ -215,13 +253,19 @@ public class MediaVolumePreferenceControllerTest { private PendingIntent getBroadcastIntent(String action) { final Intent intent = new Intent(action); intent.setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME); return PendingIntent.getBroadcast(mContext, 0 /* requestCode */, intent, return PendingIntent.getBroadcast( mContext, 0 /* requestCode */, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } private PendingIntent getActivityIntent(String action) { final Intent intent = new Intent(action); return PendingIntent.getActivity(mContext, 0 /* requestCode */, intent, return PendingIntent.getActivity( mContext, 0 /* requestCode */, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); } }