From f9fc86593c59b9a2df3438b1ff560be1cc2b8e7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Budnik?= Date: Mon, 10 Jul 2023 15:07:56 +0000 Subject: [PATCH] Remove duplicate routing logic from Settings app Also, remove unused MediaRouter2Manager references. This is a non-functional change. Bug: 192657812 Test: Presubmit Change-Id: I72f5f40e157cea922ad40a2602fba881572fb708 --- .../settings/media/MediaDeviceUpdateWorker.java | 15 ++------------- .../android/settings/media/RemoteMediaSlice.java | 3 ++- .../notification/RemoteVolumeGroupController.java | 8 ++------ .../media/MediaDeviceUpdateWorkerTest.java | 12 +++++------- .../settings/media/RemoteMediaSliceTest.java | 4 ++-- .../RemoteVolumeGroupControllerTest.java | 2 +- 6 files changed, 14 insertions(+), 30 deletions(-) diff --git a/src/com/android/settings/media/MediaDeviceUpdateWorker.java b/src/com/android/settings/media/MediaDeviceUpdateWorker.java index 6fa512ec41f..d4aef479a80 100644 --- a/src/com/android/settings/media/MediaDeviceUpdateWorker.java +++ b/src/com/android/settings/media/MediaDeviceUpdateWorker.java @@ -40,7 +40,6 @@ import com.android.settingslib.media.LocalMediaManager; import com.android.settingslib.media.MediaDevice; import com.android.settingslib.utils.ThreadUtils; -import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @@ -224,18 +223,8 @@ public class MediaDeviceUpdateWorker extends SliceBackgroundWorker return mLocalMediaManager.getSessionName(); } - List getActiveRemoteMediaDevice() { - final List sessionInfos = new ArrayList<>(); - for (RoutingSessionInfo info : mLocalMediaManager.getActiveMediaSession()) { - if (!info.isSystemSession()) { - if (DEBUG) { - Log.d(TAG, "getActiveRemoteMediaDevice() info : " + info.toString() - + ", package name : " + info.getClientPackageName()); - } - sessionInfos.add(info); - } - } - return sessionInfos; + List getActiveRemoteMediaDevices() { + return mLocalMediaManager.getRemoteRoutingSessions(); } /** diff --git a/src/com/android/settings/media/RemoteMediaSlice.java b/src/com/android/settings/media/RemoteMediaSlice.java index 193a6c7efe4..a9980e879e0 100644 --- a/src/com/android/settings/media/RemoteMediaSlice.java +++ b/src/com/android/settings/media/RemoteMediaSlice.java @@ -100,8 +100,9 @@ public class RemoteMediaSlice implements CustomSliceable { Log.e(TAG, "Unable to get the slice worker."); return listBuilder.build(); } + // Only displaying remote devices - final List infos = getWorker().getActiveRemoteMediaDevice(); + final List infos = getWorker().getActiveRemoteMediaDevices(); if (infos.isEmpty()) { Log.d(TAG, "No active remote media device"); return listBuilder.build(); diff --git a/src/com/android/settings/notification/RemoteVolumeGroupController.java b/src/com/android/settings/notification/RemoteVolumeGroupController.java index a943d5fa90e..e2faf023db2 100644 --- a/src/com/android/settings/notification/RemoteVolumeGroupController.java +++ b/src/com/android/settings/notification/RemoteVolumeGroupController.java @@ -54,7 +54,7 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem static final String SWITCHER_PREFIX = "OUTPUT_SWITCHER"; private PreferenceCategory mPreferenceCategory; - private List mRoutingSessionInfos = new ArrayList<>(); + private final List mRoutingSessionInfos = new ArrayList<>(); @VisibleForTesting LocalMediaManager mLocalMediaManager; @@ -89,11 +89,7 @@ public class RemoteVolumeGroupController extends BasePreferenceController implem private void initRemoteMediaSession() { mRoutingSessionInfos.clear(); - for (RoutingSessionInfo info : mLocalMediaManager.getActiveMediaSession()) { - if (!info.isSystemSession()) { - mRoutingSessionInfos.add(info); - } - } + mRoutingSessionInfos.addAll(mLocalMediaManager.getRemoteRoutingSessions()); } @Override diff --git a/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java b/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java index 73b5ab063be..e0d76ce3b71 100644 --- a/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java +++ b/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java @@ -218,16 +218,13 @@ public class MediaDeviceUpdateWorkerTest { mMediaDeviceUpdateWorker.mLocalMediaManager = mock(LocalMediaManager.class); final List routingSessionInfos = new ArrayList<>(); final RoutingSessionInfo remoteSessionInfo = mock(RoutingSessionInfo.class); - final RoutingSessionInfo localSessionInfo = mock(RoutingSessionInfo.class); when(remoteSessionInfo.isSystemSession()).thenReturn(false); - when(localSessionInfo.isSystemSession()).thenReturn(true); routingSessionInfos.add(remoteSessionInfo); - routingSessionInfos.add(localSessionInfo); - when(mMediaDeviceUpdateWorker.mLocalMediaManager.getActiveMediaSession()).thenReturn( - routingSessionInfos); + when(mMediaDeviceUpdateWorker.mLocalMediaManager.getRemoteRoutingSessions()) + .thenReturn(routingSessionInfos); - assertThat(mMediaDeviceUpdateWorker.getActiveRemoteMediaDevice()).containsExactly( - remoteSessionInfo); + assertThat(mMediaDeviceUpdateWorker.getActiveRemoteMediaDevices()) + .containsExactly(remoteSessionInfo); } @Test @@ -246,6 +243,7 @@ public class MediaDeviceUpdateWorkerTest { TEST_DEVICE_PACKAGE_NAME1); mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, URI2); + mMediaDeviceUpdateWorker.mManager = mock(MediaRouter2Manager.class); mMediaDeviceUpdateWorker.mLocalMediaManager = mock(LocalMediaManager.class); when(mMediaDeviceUpdateWorker.mLocalMediaManager.getPackageName()) .thenReturn(TEST_DEVICE_PACKAGE_NAME2); diff --git a/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java b/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java index d995793a58d..5188ad443ff 100644 --- a/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java +++ b/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java @@ -100,8 +100,8 @@ public class RemoteMediaSliceTest { when(remoteSessionInfo.getVolume()).thenReturn(10); when(remoteSessionInfo.isSystemSession()).thenReturn(false); mRoutingSessionInfos.add(remoteSessionInfo); - when(sMediaDeviceUpdateWorker.getActiveRemoteMediaDevice()).thenReturn( - mRoutingSessionInfos); + when(sMediaDeviceUpdateWorker.getActiveRemoteMediaDevices()) + .thenReturn(mRoutingSessionInfos); } @Test diff --git a/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java b/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java index e71396308ce..b8d89ad7c52 100644 --- a/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java @@ -118,7 +118,7 @@ public class RemoteVolumeGroupControllerTest { when(remoteSessionInfo.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME); when(remoteSessionInfo.isSystemSession()).thenReturn(false); mRoutingSessionInfos.add(remoteSessionInfo); - when(mLocalMediaManager.getActiveMediaSession()).thenReturn(mRoutingSessionInfos); + when(mLocalMediaManager.getRemoteRoutingSessions()).thenReturn(mRoutingSessionInfos); } @Test