Loading packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterTest.kt +36 −5 Original line number Diff line number Diff line Loading @@ -141,7 +141,10 @@ class MediaOutputAdapterTest : SysuiTestCase() { @Test fun getItemId_forDeviceGroup_returnsItemType() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true } mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true on { isVolumeControlEnabledForSession } doReturn true } initializeSession() assertThat(mMediaOutputAdapter.getItemId(1)) Loading Loading @@ -326,7 +329,10 @@ class MediaOutputAdapterTest : SysuiTestCase() { @Test fun onBindViewHolder_bindDeselectableDevice_verifyView() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn false } mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn false on { isVolumeControlEnabledForSession } doReturn true } mMediaSwitchingController.stub { on { selectedMediaDevice } doReturn listOf(mMediaDevice1, mMediaDevice2) on { deselectableMediaDevice } doReturn listOf(mMediaDevice1, mMediaDevice2) Loading Loading @@ -655,7 +661,10 @@ class MediaOutputAdapterTest : SysuiTestCase() { @Test fun multipleSelectedDevices_listCollapsed_verifyItemTypes() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true } mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true on { isVolumeControlEnabledForSession } doReturn true } initializeSession() with(mMediaOutputAdapter) { Loading @@ -665,9 +674,28 @@ class MediaOutputAdapterTest : SysuiTestCase() { } } @Test @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_PERSONAL_AUDIO_SHARING) fun multipleSelectedDevices_volumeControlDisabled_notCollapseList() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true on { isVolumeControlEnabledForSession } doReturn false } initializeSession() with(mMediaOutputAdapter) { assertThat(itemCount).isEqualTo(2) assertThat(getItemViewType(0)).isEqualTo(MediaItemType.TYPE_DEVICE) assertThat(getItemViewType(1)).isEqualTo(MediaItemType.TYPE_DEVICE) } } @Test fun multipleSelectedDevices_listCollapsed_verifySessionControl() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true } mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true on { isVolumeControlEnabledForSession } doReturn true } initializeSession() createAndBindDeviceViewHolder(position = 1).apply { Loading Loading @@ -698,7 +726,10 @@ class MediaOutputAdapterTest : SysuiTestCase() { @Test fun multipleSelectedDevices_expandIconClicked_verifyIndividualDevices() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true } mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true on { isVolumeControlEnabledForSession } doReturn true } initializeSession() val groupDividerViewHolder = Loading packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.kt +7 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.widget.TextView import androidx.annotation.VisibleForTesting import androidx.appcompat.content.res.AppCompatResources import androidx.recyclerview.widget.RecyclerView import com.android.media.flags.Flags import com.android.settingslib.media.InputMediaDevice import com.android.settingslib.media.MediaDevice import com.android.systemui.FontStyles.GSF_TITLE_MEDIUM_EMPHASIZED Loading @@ -58,7 +59,12 @@ class MediaOutputAdapter(controller: MediaSwitchingController) : override fun updateItems() { if (mGroupSelectedItems == null) { // Decide whether to group devices only during the initial render. mGroupSelectedItems = mController.selectedMediaDevice.size > 1 // Avoid grouping broadcast devices because grouped volume control is not available for // broadcast session. mGroupSelectedItems = mController.selectedMediaDevice.size > 1 && (!Flags.enableOutputSwitcherPersonalAudioSharing() || mController.isVolumeControlEnabledForSession) } val newList = Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/media/dialog/MediaOutputAdapterTest.kt +36 −5 Original line number Diff line number Diff line Loading @@ -141,7 +141,10 @@ class MediaOutputAdapterTest : SysuiTestCase() { @Test fun getItemId_forDeviceGroup_returnsItemType() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true } mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true on { isVolumeControlEnabledForSession } doReturn true } initializeSession() assertThat(mMediaOutputAdapter.getItemId(1)) Loading Loading @@ -326,7 +329,10 @@ class MediaOutputAdapterTest : SysuiTestCase() { @Test fun onBindViewHolder_bindDeselectableDevice_verifyView() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn false } mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn false on { isVolumeControlEnabledForSession } doReturn true } mMediaSwitchingController.stub { on { selectedMediaDevice } doReturn listOf(mMediaDevice1, mMediaDevice2) on { deselectableMediaDevice } doReturn listOf(mMediaDevice1, mMediaDevice2) Loading Loading @@ -655,7 +661,10 @@ class MediaOutputAdapterTest : SysuiTestCase() { @Test fun multipleSelectedDevices_listCollapsed_verifyItemTypes() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true } mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true on { isVolumeControlEnabledForSession } doReturn true } initializeSession() with(mMediaOutputAdapter) { Loading @@ -665,9 +674,28 @@ class MediaOutputAdapterTest : SysuiTestCase() { } } @Test @EnableFlags(Flags.FLAG_ENABLE_OUTPUT_SWITCHER_PERSONAL_AUDIO_SHARING) fun multipleSelectedDevices_volumeControlDisabled_notCollapseList() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true on { isVolumeControlEnabledForSession } doReturn false } initializeSession() with(mMediaOutputAdapter) { assertThat(itemCount).isEqualTo(2) assertThat(getItemViewType(0)).isEqualTo(MediaItemType.TYPE_DEVICE) assertThat(getItemViewType(1)).isEqualTo(MediaItemType.TYPE_DEVICE) } } @Test fun multipleSelectedDevices_listCollapsed_verifySessionControl() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true } mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true on { isVolumeControlEnabledForSession } doReturn true } initializeSession() createAndBindDeviceViewHolder(position = 1).apply { Loading Loading @@ -698,7 +726,10 @@ class MediaOutputAdapterTest : SysuiTestCase() { @Test fun multipleSelectedDevices_expandIconClicked_verifyIndividualDevices() { mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true } mMediaSwitchingController.stub { on { isGroupListCollapsed } doReturn true on { isVolumeControlEnabledForSession } doReturn true } initializeSession() val groupDividerViewHolder = Loading
packages/SystemUI/src/com/android/systemui/media/dialog/MediaOutputAdapter.kt +7 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.widget.TextView import androidx.annotation.VisibleForTesting import androidx.appcompat.content.res.AppCompatResources import androidx.recyclerview.widget.RecyclerView import com.android.media.flags.Flags import com.android.settingslib.media.InputMediaDevice import com.android.settingslib.media.MediaDevice import com.android.systemui.FontStyles.GSF_TITLE_MEDIUM_EMPHASIZED Loading @@ -58,7 +59,12 @@ class MediaOutputAdapter(controller: MediaSwitchingController) : override fun updateItems() { if (mGroupSelectedItems == null) { // Decide whether to group devices only during the initial render. mGroupSelectedItems = mController.selectedMediaDevice.size > 1 // Avoid grouping broadcast devices because grouped volume control is not available for // broadcast session. mGroupSelectedItems = mController.selectedMediaDevice.size > 1 && (!Flags.enableOutputSwitcherPersonalAudioSharing() || mController.isVolumeControlEnabledForSession) } val newList = Loading