diff options
4 files changed, 11 insertions, 187 deletions
diff --git a/media/java/android/media/MediaRouter2Manager.java b/media/java/android/media/MediaRouter2Manager.java index 5d61dd06c792..6c9013fe37c4 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; @@ -344,14 +343,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. * <p> * It may have no effect if the route is currently not selected. * </p> @@ -576,22 +567,11 @@ public final class MediaRouter2Manager { } 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. */ @NonNull @@ -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<MediaRoute2Info> getSelectedRoutes() { - return MediaRouter2Manager.this.getSelectedRoutes(mSessionInfo); - } - - /** - * @return the unmodifiable list of selectable routes for the session. - */ - @NonNull - public List<MediaRoute2Info> getSelectableRoutes() { - return MediaRouter2Manager.this.getSelectableRoutes(mSessionInfo); - } - - /** - * @return the unmodifiable list of deselectable routes for the session. - */ - @NonNull - public List<MediaRoute2Info> getDeselectableRoutes() { - return MediaRouter2Manager.this.getDeselectableRoutes(mSessionInfo); - } - - /** - * @return the unmodifiable list of transferable routes for the session. - */ - @NonNull - public List<MediaRoute2Info> getTransferableRoutes() { - List<String> 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: - * <ul> - * <li>ID should not be included in {@link #getSelectedRoutes()}</li> - * <li>ID should be included in {@link #getSelectableRoutes()}</li> - * </ul> - * 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: - * <ul> - * <li>ID should be included in {@link #getSelectedRoutes()}</li> - * <li>ID should be included in {@link #getDeselectableRoutes()}</li> - * </ul> - * 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<String> 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 436f2fa87394..1d06df08bd3a 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<RoutingSessionInfo> 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<String> controlCategories) { + public void onPreferredFeaturesChanged(String packageName, List<String> 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 f1c0f6b44150..34de1528ed9a 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<MediaDevice> { */ 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 2ed9c7b94d89..99c568a4707b 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<RoutingSessionInfo> 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); } |