diff --git a/media/java/android/media/MediaRouter2Manager.java b/media/java/android/media/MediaRouter2Manager.java index 5d61dd06c7920..6c9013fe37c4f 100644 --- a/media/java/android/media/MediaRouter2Manager.java +++ b/media/java/android/media/MediaRouter2Manager.java @@ -24,7 +24,6 @@ import android.annotation.Nullable; import android.content.Context; import android.media.session.MediaController; import android.media.session.MediaSessionManager; -import android.os.Bundle; import android.os.Handler; import android.os.RemoteException; import android.os.ServiceManager; @@ -342,14 +341,6 @@ public final class MediaRouter2Manager { } } - /** - * Requests a volume change for a route asynchronously. - */ - //TODO: remove this. - public void requestSetVolume(MediaRoute2Info route, int volume) { - setRouteVolume(route, volume); - } - /** * Requests a volume change for a route asynchronously. *

@@ -574,23 +565,12 @@ public final class MediaRouter2Manager { || Objects.equals(preferredFeatures, prevFeatures)) { return; } - for (CallbackRecord record : mCallbackRecords) { - record.mExecutor.execute(() -> record.mCallback - .onControlCategoriesChanged(packageName, preferredFeatures)); - } for (CallbackRecord record : mCallbackRecords) { record.mExecutor.execute(() -> record.mCallback .onPreferredFeaturesChanged(packageName, preferredFeatures)); } } - /** - * @hide - */ - public RoutingController getControllerForSession(@NonNull RoutingSessionInfo sessionInfo) { - return new RoutingController(sessionInfo); - } - /** * Gets the unmodifiable list of selected routes for the session. */ @@ -790,148 +770,6 @@ public final class MediaRouter2Manager { } } - //TODO: Remove this. - /** - * A class to control media routing session in media route provider. - * With routing controller, an application can select a route into the session or deselect - * a route in the session. - */ - public final class RoutingController { - private final Object mControllerLock = new Object(); - @GuardedBy("mControllerLock") - private RoutingSessionInfo mSessionInfo; - - RoutingController(@NonNull RoutingSessionInfo sessionInfo) { - mSessionInfo = sessionInfo; - } - - /** - * Releases the session - */ - public void release() { - synchronized (mControllerLock) { - releaseSession(mSessionInfo); - } - } - - /** - * Gets the ID of the session - */ - @NonNull - public String getSessionId() { - synchronized (mControllerLock) { - return mSessionInfo.getId(); - } - } - - /** - * Gets the client package name of the session - */ - @NonNull - public String getClientPackageName() { - synchronized (mControllerLock) { - return mSessionInfo.getClientPackageName(); - } - } - - /** - * @return the control hints used to control route session if available. - */ - @Nullable - public Bundle getControlHints() { - synchronized (mControllerLock) { - return mSessionInfo.getControlHints(); - } - } - - /** - * @return the unmodifiable list of currently selected routes - */ - @NonNull - public List getSelectedRoutes() { - return MediaRouter2Manager.this.getSelectedRoutes(mSessionInfo); - } - - /** - * @return the unmodifiable list of selectable routes for the session. - */ - @NonNull - public List getSelectableRoutes() { - return MediaRouter2Manager.this.getSelectableRoutes(mSessionInfo); - } - - /** - * @return the unmodifiable list of deselectable routes for the session. - */ - @NonNull - public List getDeselectableRoutes() { - return MediaRouter2Manager.this.getDeselectableRoutes(mSessionInfo); - } - - /** - * @return the unmodifiable list of transferable routes for the session. - */ - @NonNull - public List getTransferableRoutes() { - List routeIds; - synchronized (mControllerLock) { - routeIds = mSessionInfo.getTransferableRoutes(); - } - return getRoutesWithIds(routeIds); - } - - /** - * Selects a route for the remote session. The given route must satisfy all of the - * following conditions: - *

- * If the route doesn't meet any of above conditions, it will be ignored. - * - * @see #getSelectedRoutes() - * @see #getSelectableRoutes() - */ - public void selectRoute(@NonNull MediaRoute2Info route) { - MediaRouter2Manager.this.selectRoute(mSessionInfo, route); - } - - /** - * Deselects a route from the remote session. The given route must satisfy all of the - * following conditions: - * - * If the route doesn't meet any of above conditions, it will be ignored. - * - * @see #getSelectedRoutes() - * @see #getDeselectableRoutes() - */ - public void deselectRoute(@NonNull MediaRoute2Info route) { - MediaRouter2Manager.this.deselectRoute(mSessionInfo, route); - } - - /** - * Transfers session to the given rotue. - */ - public void transferToRoute(@NonNull MediaRoute2Info route) { - MediaRouter2Manager.this.transferToRoute(mSessionInfo, route); - } - - /** - * Gets the session info of the session - * - * @hide - */ - @NonNull - public RoutingSessionInfo getSessionInfo() { - synchronized (mControllerLock) { - return mSessionInfo; - } - } - } - /** * Interface for receiving events about media routing changes. */ @@ -976,16 +814,6 @@ public final class MediaRouter2Manager { public void onTransferFailed(@NonNull RoutingSessionInfo session, @NonNull MediaRoute2Info route) { } - //TODO: Remove this. - /** - * Called when the preferred route features of an app is changed. - * - * @param packageName the package name of the application - * @param preferredFeatures the list of preferred route features set by an application. - */ - public void onControlCategoriesChanged(@NonNull String packageName, - @NonNull List preferredFeatures) {} - /** * Called when the preferred route features of an app is changed. * diff --git a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java index 436f2fa87394e..1d06df08bd3a6 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java @@ -108,10 +108,8 @@ public class InfoMediaManager extends MediaManager { final List infos = mRouterManager.getActiveSessions(); if (infos.size() > 0) { final RoutingSessionInfo info = infos.get(0); - final MediaRouter2Manager.RoutingController controller = - mRouterManager.getControllerForSession(info); + mRouterManager.transfer(info, device.mRouteInfo); - controller.transferToRoute(device.mRouteInfo); isConnected = true; } return isConnected; @@ -131,7 +129,7 @@ public class InfoMediaManager extends MediaManager { final RoutingSessionInfo info = getRoutingSessionInfo(); if (info != null && info.getSelectableRoutes().contains(device.mRouteInfo.getId())) { - mRouterManager.getControllerForSession(info).selectRoute(device.mRouteInfo); + mRouterManager.selectRoute(info, device.mRouteInfo); return true; } @@ -162,7 +160,7 @@ public class InfoMediaManager extends MediaManager { final RoutingSessionInfo info = getRoutingSessionInfo(); if (info != null && info.getSelectedRoutes().contains(device.mRouteInfo.getId())) { - mRouterManager.getControllerForSession(info).deselectRoute(device.mRouteInfo); + mRouterManager.deselectRoute(info, device.mRouteInfo); return true; } @@ -207,8 +205,7 @@ public class InfoMediaManager extends MediaManager { final RoutingSessionInfo info = getRoutingSessionInfo(); if (info != null) { - for (MediaRoute2Info route : mRouterManager.getControllerForSession(info) - .getSelectableRoutes()) { + for (MediaRoute2Info route : mRouterManager.getSelectableRoutes(info)) { deviceList.add(new InfoMediaDevice(mContext, mRouterManager, route, mPackageName)); } @@ -235,8 +232,7 @@ public class InfoMediaManager extends MediaManager { final RoutingSessionInfo info = getRoutingSessionInfo(); if (info != null) { - for (MediaRoute2Info route : mRouterManager.getControllerForSession(info) - .getSelectedRoutes()) { + for (MediaRoute2Info route : mRouterManager.getSelectedRoutes(info)) { deviceList.add(new InfoMediaDevice(mContext, mRouterManager, route, mPackageName)); } @@ -434,7 +430,7 @@ public class InfoMediaManager extends MediaManager { } @Override - public void onControlCategoriesChanged(String packageName, List controlCategories) { + public void onPreferredFeaturesChanged(String packageName, List preferredFeatures) { if (TextUtils.equals(mPackageName, packageName)) { refreshDevices(); } diff --git a/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java index f1c0f6b44150f..34de1528ed9aa 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java @@ -180,7 +180,7 @@ public abstract class MediaDevice implements Comparable { */ public void requestSetVolume(int volume) { - mRouterManager.requestSetVolume(mRouteInfo, volume); + mRouterManager.setRouteVolume(mRouteInfo, volume); } /** diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java index 2ed9c7b94d89e..99c568a4707b5 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaManagerTest.java @@ -136,7 +136,7 @@ public class InfoMediaManagerTest { } @Test - public void onControlCategoriesChanged_samePackageName_shouldAddMediaDevice() { + public void onPreferredFeaturesChanged_samePackageName_shouldAddMediaDevice() { final List routingSessionInfos = new ArrayList<>(); final RoutingSessionInfo sessionInfo = mock(RoutingSessionInfo.class); routingSessionInfos.add(sessionInfo); @@ -156,7 +156,7 @@ public class InfoMediaManagerTest { final MediaDevice mediaDevice = mInfoMediaManager.findMediaDevice(TEST_ID); assertThat(mediaDevice).isNull(); - mInfoMediaManager.mMediaRouterCallback.onControlCategoriesChanged(TEST_PACKAGE_NAME, null); + mInfoMediaManager.mMediaRouterCallback.onPreferredFeaturesChanged(TEST_PACKAGE_NAME, null); final MediaDevice infoDevice = mInfoMediaManager.mMediaDevices.get(0); assertThat(infoDevice.getId()).isEqualTo(TEST_ID); @@ -165,8 +165,8 @@ public class InfoMediaManagerTest { } @Test - public void onControlCategoriesChanged_differentPackageName_doNothing() { - mInfoMediaManager.mMediaRouterCallback.onControlCategoriesChanged("com.fake.play", null); + public void onPreferredFeaturesChanged_differentPackageName_doNothing() { + mInfoMediaManager.mMediaRouterCallback.onPreferredFeaturesChanged("com.fake.play", null); assertThat(mInfoMediaManager.mMediaDevices).hasSize(0); }