Loading packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java +5 −3 Original line number Diff line number Diff line Loading @@ -154,15 +154,17 @@ public abstract class InfoMediaManager extends MediaManager { protected abstract RouteListingPreference getRouteListingPreference(); /** * Returns the list of currently active {@link RoutingSessionInfo routing sessions} known to the * system. * Returns the list of remote {@link RoutingSessionInfo routing sessions} known to the system. */ @NonNull protected abstract List<RoutingSessionInfo> getActiveRoutingSessions(); protected abstract List<RoutingSessionInfo> getRemoteSessions(); @NonNull protected abstract List<RoutingSessionInfo> getRoutingSessionsForPackage(); @Nullable protected abstract RoutingSessionInfo getRoutingSessionById(@NonNull String sessionId); @NonNull protected abstract List<MediaRoute2Info> getAllRoutes(); Loading packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java +9 −11 Original line number Diff line number Diff line Loading @@ -388,15 +388,13 @@ public class LocalMediaManager implements BluetoothCallback { * @param volume the value of volume */ public void adjustSessionVolume(String sessionId, int volume) { final List<RoutingSessionInfo> infos = getActiveMediaSession(); for (RoutingSessionInfo info : infos) { if (TextUtils.equals(sessionId, info.getId())) { mInfoMediaManager.adjustSessionVolume(info, volume); return; } } RoutingSessionInfo session = mInfoMediaManager.getRoutingSessionById(sessionId); if (session != null) { mInfoMediaManager.adjustSessionVolume(session, volume); } else { Log.w(TAG, "adjustSessionVolume: Unable to find session: " + sessionId); } } /** * Adjust the volume of session. Loading Loading @@ -435,12 +433,12 @@ public class LocalMediaManager implements BluetoothCallback { } /** * Gets the current active session. * Gets the list of remote {@link RoutingSessionInfo routing sessions} known to the system. * * @return current active session list{@link android.media.RoutingSessionInfo} * <p>This list does not include any system routing sessions. */ public List<RoutingSessionInfo> getActiveMediaSession() { return mInfoMediaManager.getActiveRoutingSessions(); public List<RoutingSessionInfo> getRemoteRoutingSessions() { return mInfoMediaManager.getRemoteSessions(); } /** Loading packages/SettingsLib/src/com/android/settingslib/media/ManagerInfoMediaManager.java +16 −6 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.settingslib.bluetooth.LocalBluetoothManager; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Executor; import java.util.concurrent.Executors; Loading Loading @@ -151,11 +150,22 @@ public class ManagerInfoMediaManager extends InfoMediaManager { @Override @NonNull protected List<RoutingSessionInfo> getActiveRoutingSessions() { List<RoutingSessionInfo> infos = new ArrayList<>(); infos.add(mRouterManager.getSystemRoutingSession(null)); infos.addAll(mRouterManager.getRemoteSessions()); return infos; protected List<RoutingSessionInfo> getRemoteSessions() { return mRouterManager.getRemoteSessions(); } @Nullable @Override protected RoutingSessionInfo getRoutingSessionById(@NonNull String sessionId) { for (RoutingSessionInfo sessionInfo : getRemoteSessions()) { if (TextUtils.equals(sessionInfo.getId(), sessionId)) { return sessionInfo; } } RoutingSessionInfo systemSession = mRouterManager.getSystemRoutingSession(null); return TextUtils.equals(systemSession.getId(), sessionId) ? systemSession : null; } @Override Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java +2 −9 Original line number Diff line number Diff line Loading @@ -832,19 +832,12 @@ public class InfoMediaManagerTest { } @Test public void getActiveMediaSession_returnActiveSession() { RoutingSessionInfo sysSessionInfo = mock(RoutingSessionInfo.class); public void getRemoteSessions_returnsRemoteSessions() { final List<RoutingSessionInfo> infos = new ArrayList<>(); infos.add(mock(RoutingSessionInfo.class)); final List<RoutingSessionInfo> activeSessionInfos = new ArrayList<>(); activeSessionInfos.add(sysSessionInfo); activeSessionInfos.addAll(infos); mShadowRouter2Manager.setSystemRoutingSession(sysSessionInfo); mShadowRouter2Manager.setRemoteSessions(infos); assertThat(mInfoMediaManager.getActiveRoutingSessions()) .containsExactlyElementsIn(activeSessionInfos); assertThat(mInfoMediaManager.getRemoteSessions()).containsExactlyElementsIn(infos); } @Test Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -433,9 +433,9 @@ public class LocalMediaManagerTest { final RoutingSessionInfo info = mock(RoutingSessionInfo.class); when(info.getId()).thenReturn(TEST_SESSION_ID); routingSessionInfos.add(info); when(mInfoMediaManager.getActiveRoutingSessions()).thenReturn(routingSessionInfos); when(mInfoMediaManager.getRemoteSessions()).thenReturn(routingSessionInfos); assertThat(mLocalMediaManager.getActiveMediaSession().get(0).getId()) assertThat(mLocalMediaManager.getRemoteRoutingSessions().get(0).getId()) .matches(TEST_SESSION_ID); } Loading Loading @@ -544,7 +544,7 @@ public class LocalMediaManagerTest { final RoutingSessionInfo info = mock(RoutingSessionInfo.class); when(info.getId()).thenReturn(TEST_SESSION_ID); routingSessionInfos.add(info); when(mInfoMediaManager.getActiveRoutingSessions()).thenReturn(routingSessionInfos); when(mInfoMediaManager.getRoutingSessionById(TEST_SESSION_ID)).thenReturn(info); mLocalMediaManager.adjustSessionVolume(TEST_SESSION_ID, 10); Loading Loading
packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java +5 −3 Original line number Diff line number Diff line Loading @@ -154,15 +154,17 @@ public abstract class InfoMediaManager extends MediaManager { protected abstract RouteListingPreference getRouteListingPreference(); /** * Returns the list of currently active {@link RoutingSessionInfo routing sessions} known to the * system. * Returns the list of remote {@link RoutingSessionInfo routing sessions} known to the system. */ @NonNull protected abstract List<RoutingSessionInfo> getActiveRoutingSessions(); protected abstract List<RoutingSessionInfo> getRemoteSessions(); @NonNull protected abstract List<RoutingSessionInfo> getRoutingSessionsForPackage(); @Nullable protected abstract RoutingSessionInfo getRoutingSessionById(@NonNull String sessionId); @NonNull protected abstract List<MediaRoute2Info> getAllRoutes(); Loading
packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java +9 −11 Original line number Diff line number Diff line Loading @@ -388,15 +388,13 @@ public class LocalMediaManager implements BluetoothCallback { * @param volume the value of volume */ public void adjustSessionVolume(String sessionId, int volume) { final List<RoutingSessionInfo> infos = getActiveMediaSession(); for (RoutingSessionInfo info : infos) { if (TextUtils.equals(sessionId, info.getId())) { mInfoMediaManager.adjustSessionVolume(info, volume); return; } } RoutingSessionInfo session = mInfoMediaManager.getRoutingSessionById(sessionId); if (session != null) { mInfoMediaManager.adjustSessionVolume(session, volume); } else { Log.w(TAG, "adjustSessionVolume: Unable to find session: " + sessionId); } } /** * Adjust the volume of session. Loading Loading @@ -435,12 +433,12 @@ public class LocalMediaManager implements BluetoothCallback { } /** * Gets the current active session. * Gets the list of remote {@link RoutingSessionInfo routing sessions} known to the system. * * @return current active session list{@link android.media.RoutingSessionInfo} * <p>This list does not include any system routing sessions. */ public List<RoutingSessionInfo> getActiveMediaSession() { return mInfoMediaManager.getActiveRoutingSessions(); public List<RoutingSessionInfo> getRemoteRoutingSessions() { return mInfoMediaManager.getRemoteSessions(); } /** Loading
packages/SettingsLib/src/com/android/settingslib/media/ManagerInfoMediaManager.java +16 −6 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ import android.util.Log; import com.android.internal.annotations.VisibleForTesting; import com.android.settingslib.bluetooth.LocalBluetoothManager; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Executor; import java.util.concurrent.Executors; Loading Loading @@ -151,11 +150,22 @@ public class ManagerInfoMediaManager extends InfoMediaManager { @Override @NonNull protected List<RoutingSessionInfo> getActiveRoutingSessions() { List<RoutingSessionInfo> infos = new ArrayList<>(); infos.add(mRouterManager.getSystemRoutingSession(null)); infos.addAll(mRouterManager.getRemoteSessions()); return infos; protected List<RoutingSessionInfo> getRemoteSessions() { return mRouterManager.getRemoteSessions(); } @Nullable @Override protected RoutingSessionInfo getRoutingSessionById(@NonNull String sessionId) { for (RoutingSessionInfo sessionInfo : getRemoteSessions()) { if (TextUtils.equals(sessionInfo.getId(), sessionId)) { return sessionInfo; } } RoutingSessionInfo systemSession = mRouterManager.getSystemRoutingSession(null); return TextUtils.equals(systemSession.getId(), sessionId) ? systemSession : null; } @Override Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java +2 −9 Original line number Diff line number Diff line Loading @@ -832,19 +832,12 @@ public class InfoMediaManagerTest { } @Test public void getActiveMediaSession_returnActiveSession() { RoutingSessionInfo sysSessionInfo = mock(RoutingSessionInfo.class); public void getRemoteSessions_returnsRemoteSessions() { final List<RoutingSessionInfo> infos = new ArrayList<>(); infos.add(mock(RoutingSessionInfo.class)); final List<RoutingSessionInfo> activeSessionInfos = new ArrayList<>(); activeSessionInfos.add(sysSessionInfo); activeSessionInfos.addAll(infos); mShadowRouter2Manager.setSystemRoutingSession(sysSessionInfo); mShadowRouter2Manager.setRemoteSessions(infos); assertThat(mInfoMediaManager.getActiveRoutingSessions()) .containsExactlyElementsIn(activeSessionInfos); assertThat(mInfoMediaManager.getRemoteSessions()).containsExactlyElementsIn(infos); } @Test Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java +3 −3 Original line number Diff line number Diff line Loading @@ -433,9 +433,9 @@ public class LocalMediaManagerTest { final RoutingSessionInfo info = mock(RoutingSessionInfo.class); when(info.getId()).thenReturn(TEST_SESSION_ID); routingSessionInfos.add(info); when(mInfoMediaManager.getActiveRoutingSessions()).thenReturn(routingSessionInfos); when(mInfoMediaManager.getRemoteSessions()).thenReturn(routingSessionInfos); assertThat(mLocalMediaManager.getActiveMediaSession().get(0).getId()) assertThat(mLocalMediaManager.getRemoteRoutingSessions().get(0).getId()) .matches(TEST_SESSION_ID); } Loading Loading @@ -544,7 +544,7 @@ public class LocalMediaManagerTest { final RoutingSessionInfo info = mock(RoutingSessionInfo.class); when(info.getId()).thenReturn(TEST_SESSION_ID); routingSessionInfos.add(info); when(mInfoMediaManager.getActiveRoutingSessions()).thenReturn(routingSessionInfos); when(mInfoMediaManager.getRoutingSessionById(TEST_SESSION_ID)).thenReturn(info); mLocalMediaManager.adjustSessionVolume(TEST_SESSION_ID, 10); Loading