Loading packages/SystemUI/src/com/android/systemui/media/dialog/MediaSwitchingController.java +0 −38 Original line number Diff line number Diff line Loading @@ -103,7 +103,6 @@ import dagger.assisted.AssistedInject; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; Loading Loading @@ -143,7 +142,6 @@ public class MediaSwitchingController protected final Object mMediaDevicesLock = new Object(); protected final Object mInputMediaDevicesLock = new Object(); @VisibleForTesting final List<MediaDevice> mGroupMediaDevices = new CopyOnWriteArrayList<>(); final List<MediaDevice> mCachedMediaDevices = new CopyOnWriteArrayList<>(); private final OutputMediaItemListProxy mOutputMediaItemListProxy; private final List<MediaItem> mInputMediaItemList = new CopyOnWriteArrayList<>(); Loading Loading @@ -849,42 +847,6 @@ public class MediaSwitchingController && (currentConnectedMediaDevice.isHostForOngoingSession()); } List<MediaDevice> getGroupMediaDevices() { final List<MediaDevice> selectedDevices = getSelectedMediaDevice(); final List<MediaDevice> selectableDevices = getSelectableMediaDevice(); if (mGroupMediaDevices.isEmpty()) { mGroupMediaDevices.addAll(selectedDevices); mGroupMediaDevices.addAll(selectableDevices); return mGroupMediaDevices; } // To keep the same list order final Collection<MediaDevice> sourceDevices = new ArrayList<>(); final Collection<MediaDevice> targetMediaDevices = new ArrayList<>(); sourceDevices.addAll(selectedDevices); sourceDevices.addAll(selectableDevices); for (MediaDevice originalDevice : mGroupMediaDevices) { for (MediaDevice newDevice : sourceDevices) { if (TextUtils.equals(originalDevice.getId(), newDevice.getId())) { targetMediaDevices.add(newDevice); sourceDevices.remove(newDevice); break; } } } // Add new devices at the end of list if necessary if (!sourceDevices.isEmpty()) { targetMediaDevices.addAll(sourceDevices); } mGroupMediaDevices.clear(); mGroupMediaDevices.addAll(targetMediaDevices); return mGroupMediaDevices; } void resetGroupMediaDevices() { mGroupMediaDevices.clear(); } protected void connectDevice(MediaDevice device) { mInfoMediaManager.setDeviceState( device, LocalMediaManager.MediaDeviceState.STATE_CONNECTING); Loading packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaSwitchingControllerTest.java +0 −102 Original line number Diff line number Diff line Loading @@ -63,7 +63,6 @@ import android.platform.test.annotations.EnableFlags; import android.platform.test.flag.junit.FlagsParameterization; import android.service.notification.StatusBarNotification; import android.testing.TestableLooper; import android.text.TextUtils; import android.view.View; import androidx.core.graphics.drawable.IconCompat; Loading Loading @@ -1099,82 +1098,6 @@ public class MediaSwitchingControllerTest extends SysuiTestCase { .containsExactly(mRemoteSessionInfo); } @Test public void getGroupMediaDevices_differentDeviceOrder_showingSameOrder() { final MediaDevice selectedMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectedMediaDevice2 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice2 = mock(MediaDevice.class); final List<MediaDevice> selectedMediaDevices = new ArrayList<>(); final List<MediaDevice> selectableMediaDevices = new ArrayList<>(); when(selectedMediaDevice1.getId()).thenReturn(TEST_DEVICE_1_ID); when(selectedMediaDevice2.getId()).thenReturn(TEST_DEVICE_2_ID); when(selectableMediaDevice1.getId()).thenReturn(TEST_DEVICE_3_ID); when(selectableMediaDevice2.getId()).thenReturn(TEST_DEVICE_4_ID); selectedMediaDevices.add(selectedMediaDevice1); selectedMediaDevices.add(selectedMediaDevice2); selectableMediaDevices.add(selectableMediaDevice1); selectableMediaDevices.add(selectableMediaDevice2); doReturn(selectedMediaDevices).when(mLocalMediaManager).getSelectedMediaDevice(); doReturn(selectableMediaDevices).when(mLocalMediaManager).getSelectableMediaDevice(); final List<MediaDevice> groupMediaDevices = mMediaSwitchingController.getGroupMediaDevices(); // Reset order selectedMediaDevices.clear(); selectedMediaDevices.add(selectedMediaDevice2); selectedMediaDevices.add(selectedMediaDevice1); selectableMediaDevices.clear(); selectableMediaDevices.add(selectableMediaDevice2); selectableMediaDevices.add(selectableMediaDevice1); final List<MediaDevice> newDevices = mMediaSwitchingController.getGroupMediaDevices(); assertThat(newDevices.size()).isEqualTo(groupMediaDevices.size()); for (int i = 0; i < groupMediaDevices.size(); i++) { assertThat(TextUtils.equals(groupMediaDevices.get(i).getId(), newDevices.get(i).getId())).isTrue(); } } @Test public void getGroupMediaDevices_newDevice_verifyDeviceOrder() { final MediaDevice selectedMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectedMediaDevice2 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice2 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice3 = mock(MediaDevice.class); final List<MediaDevice> selectedMediaDevices = new ArrayList<>(); final List<MediaDevice> selectableMediaDevices = new ArrayList<>(); when(selectedMediaDevice1.getId()).thenReturn(TEST_DEVICE_1_ID); when(selectedMediaDevice2.getId()).thenReturn(TEST_DEVICE_2_ID); when(selectableMediaDevice1.getId()).thenReturn(TEST_DEVICE_3_ID); when(selectableMediaDevice2.getId()).thenReturn(TEST_DEVICE_4_ID); when(selectableMediaDevice3.getId()).thenReturn(TEST_DEVICE_5_ID); selectedMediaDevices.add(selectedMediaDevice1); selectedMediaDevices.add(selectedMediaDevice2); selectableMediaDevices.add(selectableMediaDevice1); selectableMediaDevices.add(selectableMediaDevice2); doReturn(selectedMediaDevices).when(mLocalMediaManager).getSelectedMediaDevice(); doReturn(selectableMediaDevices).when(mLocalMediaManager).getSelectableMediaDevice(); final List<MediaDevice> groupMediaDevices = mMediaSwitchingController.getGroupMediaDevices(); // Reset order selectedMediaDevices.clear(); selectedMediaDevices.add(selectedMediaDevice2); selectedMediaDevices.add(selectedMediaDevice1); selectableMediaDevices.clear(); selectableMediaDevices.add(selectableMediaDevice3); selectableMediaDevices.add(selectableMediaDevice2); selectableMediaDevices.add(selectableMediaDevice1); final List<MediaDevice> newDevices = mMediaSwitchingController.getGroupMediaDevices(); assertThat(newDevices.size()).isEqualTo(5); for (int i = 0; i < groupMediaDevices.size(); i++) { assertThat(TextUtils.equals(groupMediaDevices.get(i).getId(), newDevices.get(i).getId())).isTrue(); } assertThat(newDevices.get(4).getId()).isEqualTo(TEST_DEVICE_5_ID); } @Test public void getNotificationLargeIcon_withoutPackageName_returnsNull() { mMediaSwitchingController = Loading Loading @@ -1311,31 +1234,6 @@ public class MediaSwitchingControllerTest extends SysuiTestCase { .isInstanceOf(IconCompat.class); } @Test public void resetGroupMediaDevices_clearGroupDevices() { final MediaDevice selectedMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectedMediaDevice2 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice2 = mock(MediaDevice.class); final List<MediaDevice> selectedMediaDevices = new ArrayList<>(); final List<MediaDevice> selectableMediaDevices = new ArrayList<>(); when(selectedMediaDevice1.getId()).thenReturn(TEST_DEVICE_1_ID); when(selectedMediaDevice2.getId()).thenReturn(TEST_DEVICE_2_ID); when(selectableMediaDevice1.getId()).thenReturn(TEST_DEVICE_3_ID); when(selectableMediaDevice2.getId()).thenReturn(TEST_DEVICE_4_ID); selectedMediaDevices.add(selectedMediaDevice1); selectedMediaDevices.add(selectedMediaDevice2); selectableMediaDevices.add(selectableMediaDevice1); selectableMediaDevices.add(selectableMediaDevice2); doReturn(selectedMediaDevices).when(mLocalMediaManager).getSelectedMediaDevice(); doReturn(selectableMediaDevices).when(mLocalMediaManager).getSelectableMediaDevice(); assertThat(mMediaSwitchingController.getGroupMediaDevices().isEmpty()).isFalse(); mMediaSwitchingController.resetGroupMediaDevices(); assertThat(mMediaSwitchingController.mGroupMediaDevices.isEmpty()).isTrue(); } @Test public void isVolumeControlEnabled_isCastWithVolumeFixed_returnsFalse() { when(mMediaDevice1.getDeviceType()).thenReturn( Loading Loading
packages/SystemUI/src/com/android/systemui/media/dialog/MediaSwitchingController.java +0 −38 Original line number Diff line number Diff line Loading @@ -103,7 +103,6 @@ import dagger.assisted.AssistedInject; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; Loading Loading @@ -143,7 +142,6 @@ public class MediaSwitchingController protected final Object mMediaDevicesLock = new Object(); protected final Object mInputMediaDevicesLock = new Object(); @VisibleForTesting final List<MediaDevice> mGroupMediaDevices = new CopyOnWriteArrayList<>(); final List<MediaDevice> mCachedMediaDevices = new CopyOnWriteArrayList<>(); private final OutputMediaItemListProxy mOutputMediaItemListProxy; private final List<MediaItem> mInputMediaItemList = new CopyOnWriteArrayList<>(); Loading Loading @@ -849,42 +847,6 @@ public class MediaSwitchingController && (currentConnectedMediaDevice.isHostForOngoingSession()); } List<MediaDevice> getGroupMediaDevices() { final List<MediaDevice> selectedDevices = getSelectedMediaDevice(); final List<MediaDevice> selectableDevices = getSelectableMediaDevice(); if (mGroupMediaDevices.isEmpty()) { mGroupMediaDevices.addAll(selectedDevices); mGroupMediaDevices.addAll(selectableDevices); return mGroupMediaDevices; } // To keep the same list order final Collection<MediaDevice> sourceDevices = new ArrayList<>(); final Collection<MediaDevice> targetMediaDevices = new ArrayList<>(); sourceDevices.addAll(selectedDevices); sourceDevices.addAll(selectableDevices); for (MediaDevice originalDevice : mGroupMediaDevices) { for (MediaDevice newDevice : sourceDevices) { if (TextUtils.equals(originalDevice.getId(), newDevice.getId())) { targetMediaDevices.add(newDevice); sourceDevices.remove(newDevice); break; } } } // Add new devices at the end of list if necessary if (!sourceDevices.isEmpty()) { targetMediaDevices.addAll(sourceDevices); } mGroupMediaDevices.clear(); mGroupMediaDevices.addAll(targetMediaDevices); return mGroupMediaDevices; } void resetGroupMediaDevices() { mGroupMediaDevices.clear(); } protected void connectDevice(MediaDevice device) { mInfoMediaManager.setDeviceState( device, LocalMediaManager.MediaDeviceState.STATE_CONNECTING); Loading
packages/SystemUI/tests/src/com/android/systemui/media/dialog/MediaSwitchingControllerTest.java +0 −102 Original line number Diff line number Diff line Loading @@ -63,7 +63,6 @@ import android.platform.test.annotations.EnableFlags; import android.platform.test.flag.junit.FlagsParameterization; import android.service.notification.StatusBarNotification; import android.testing.TestableLooper; import android.text.TextUtils; import android.view.View; import androidx.core.graphics.drawable.IconCompat; Loading Loading @@ -1099,82 +1098,6 @@ public class MediaSwitchingControllerTest extends SysuiTestCase { .containsExactly(mRemoteSessionInfo); } @Test public void getGroupMediaDevices_differentDeviceOrder_showingSameOrder() { final MediaDevice selectedMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectedMediaDevice2 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice2 = mock(MediaDevice.class); final List<MediaDevice> selectedMediaDevices = new ArrayList<>(); final List<MediaDevice> selectableMediaDevices = new ArrayList<>(); when(selectedMediaDevice1.getId()).thenReturn(TEST_DEVICE_1_ID); when(selectedMediaDevice2.getId()).thenReturn(TEST_DEVICE_2_ID); when(selectableMediaDevice1.getId()).thenReturn(TEST_DEVICE_3_ID); when(selectableMediaDevice2.getId()).thenReturn(TEST_DEVICE_4_ID); selectedMediaDevices.add(selectedMediaDevice1); selectedMediaDevices.add(selectedMediaDevice2); selectableMediaDevices.add(selectableMediaDevice1); selectableMediaDevices.add(selectableMediaDevice2); doReturn(selectedMediaDevices).when(mLocalMediaManager).getSelectedMediaDevice(); doReturn(selectableMediaDevices).when(mLocalMediaManager).getSelectableMediaDevice(); final List<MediaDevice> groupMediaDevices = mMediaSwitchingController.getGroupMediaDevices(); // Reset order selectedMediaDevices.clear(); selectedMediaDevices.add(selectedMediaDevice2); selectedMediaDevices.add(selectedMediaDevice1); selectableMediaDevices.clear(); selectableMediaDevices.add(selectableMediaDevice2); selectableMediaDevices.add(selectableMediaDevice1); final List<MediaDevice> newDevices = mMediaSwitchingController.getGroupMediaDevices(); assertThat(newDevices.size()).isEqualTo(groupMediaDevices.size()); for (int i = 0; i < groupMediaDevices.size(); i++) { assertThat(TextUtils.equals(groupMediaDevices.get(i).getId(), newDevices.get(i).getId())).isTrue(); } } @Test public void getGroupMediaDevices_newDevice_verifyDeviceOrder() { final MediaDevice selectedMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectedMediaDevice2 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice2 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice3 = mock(MediaDevice.class); final List<MediaDevice> selectedMediaDevices = new ArrayList<>(); final List<MediaDevice> selectableMediaDevices = new ArrayList<>(); when(selectedMediaDevice1.getId()).thenReturn(TEST_DEVICE_1_ID); when(selectedMediaDevice2.getId()).thenReturn(TEST_DEVICE_2_ID); when(selectableMediaDevice1.getId()).thenReturn(TEST_DEVICE_3_ID); when(selectableMediaDevice2.getId()).thenReturn(TEST_DEVICE_4_ID); when(selectableMediaDevice3.getId()).thenReturn(TEST_DEVICE_5_ID); selectedMediaDevices.add(selectedMediaDevice1); selectedMediaDevices.add(selectedMediaDevice2); selectableMediaDevices.add(selectableMediaDevice1); selectableMediaDevices.add(selectableMediaDevice2); doReturn(selectedMediaDevices).when(mLocalMediaManager).getSelectedMediaDevice(); doReturn(selectableMediaDevices).when(mLocalMediaManager).getSelectableMediaDevice(); final List<MediaDevice> groupMediaDevices = mMediaSwitchingController.getGroupMediaDevices(); // Reset order selectedMediaDevices.clear(); selectedMediaDevices.add(selectedMediaDevice2); selectedMediaDevices.add(selectedMediaDevice1); selectableMediaDevices.clear(); selectableMediaDevices.add(selectableMediaDevice3); selectableMediaDevices.add(selectableMediaDevice2); selectableMediaDevices.add(selectableMediaDevice1); final List<MediaDevice> newDevices = mMediaSwitchingController.getGroupMediaDevices(); assertThat(newDevices.size()).isEqualTo(5); for (int i = 0; i < groupMediaDevices.size(); i++) { assertThat(TextUtils.equals(groupMediaDevices.get(i).getId(), newDevices.get(i).getId())).isTrue(); } assertThat(newDevices.get(4).getId()).isEqualTo(TEST_DEVICE_5_ID); } @Test public void getNotificationLargeIcon_withoutPackageName_returnsNull() { mMediaSwitchingController = Loading Loading @@ -1311,31 +1234,6 @@ public class MediaSwitchingControllerTest extends SysuiTestCase { .isInstanceOf(IconCompat.class); } @Test public void resetGroupMediaDevices_clearGroupDevices() { final MediaDevice selectedMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectedMediaDevice2 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice1 = mock(MediaDevice.class); final MediaDevice selectableMediaDevice2 = mock(MediaDevice.class); final List<MediaDevice> selectedMediaDevices = new ArrayList<>(); final List<MediaDevice> selectableMediaDevices = new ArrayList<>(); when(selectedMediaDevice1.getId()).thenReturn(TEST_DEVICE_1_ID); when(selectedMediaDevice2.getId()).thenReturn(TEST_DEVICE_2_ID); when(selectableMediaDevice1.getId()).thenReturn(TEST_DEVICE_3_ID); when(selectableMediaDevice2.getId()).thenReturn(TEST_DEVICE_4_ID); selectedMediaDevices.add(selectedMediaDevice1); selectedMediaDevices.add(selectedMediaDevice2); selectableMediaDevices.add(selectableMediaDevice1); selectableMediaDevices.add(selectableMediaDevice2); doReturn(selectedMediaDevices).when(mLocalMediaManager).getSelectedMediaDevice(); doReturn(selectableMediaDevices).when(mLocalMediaManager).getSelectableMediaDevice(); assertThat(mMediaSwitchingController.getGroupMediaDevices().isEmpty()).isFalse(); mMediaSwitchingController.resetGroupMediaDevices(); assertThat(mMediaSwitchingController.mGroupMediaDevices.isEmpty()).isTrue(); } @Test public void isVolumeControlEnabled_isCastWithVolumeFixed_returnsFalse() { when(mMediaDevice1.getDeviceType()).thenReturn( Loading