Loading core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -24035,6 +24035,7 @@ package android.media { method public void registerTransferCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.TransferCallback); method public void setOnGetControllerHintsListener(@Nullable android.media.MediaRouter2.OnGetControllerHintsListener); method public void setRouteListingPreference(@Nullable android.media.RouteListingPreference); method public void showSystemOutputSwitcher(); method public void stop(); method public void transferTo(@NonNull android.media.MediaRoute2Info); method public void unregisterControllerCallback(@NonNull android.media.MediaRouter2.ControllerCallback); media/java/android/media/IMediaRouterService.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -94,4 +94,5 @@ interface IMediaRouterService { void setSessionVolumeWithManager(IMediaRouter2Manager manager, int requestId, String sessionId, int volume); void releaseSessionWithManager(IMediaRouter2Manager manager, int requestId, String sessionId); void showMediaOutputSwitcher(String packageName); } media/java/android/media/MediaRouter2.java +13 −0 Original line number Diff line number Diff line Loading @@ -460,6 +460,19 @@ public final class MediaRouter2 { } } /** * Shows the system UI output switcher. */ public void showSystemOutputSwitcher() { synchronized (mLock) { try { mMediaRouterService.showMediaOutputSwitcher(mPackageName); } catch (RemoteException ex) { ex.rethrowFromSystemServer(); } } } /** * Sets the {@link RouteListingPreference} of the app associated to this media router. * Loading services/core/java/com/android/server/media/MediaRouterService.java +19 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ import com.android.internal.util.DumpUtils; import com.android.server.LocalServices; import com.android.server.Watchdog; import com.android.server.pm.UserManagerInternal; import com.android.server.statusbar.StatusBarManagerInternal; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -245,6 +246,24 @@ public final class MediaRouterService extends IMediaRouterService.Stub } } // Binder call @Override public void showMediaOutputSwitcher(String packageName) { if (!validatePackageName(Binder.getCallingUid(), packageName)) { throw new SecurityException("packageName must match the calling identity"); } final long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { StatusBarManagerInternal statusBar = LocalServices.getService(StatusBarManagerInternal.class); statusBar.showMediaOutputSwitcher(packageName); } } finally { Binder.restoreCallingIdentity(token); } } // Binder call @Override public MediaRouterClientState getState(IMediaRouterClient client) { Loading Loading
core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -24035,6 +24035,7 @@ package android.media { method public void registerTransferCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaRouter2.TransferCallback); method public void setOnGetControllerHintsListener(@Nullable android.media.MediaRouter2.OnGetControllerHintsListener); method public void setRouteListingPreference(@Nullable android.media.RouteListingPreference); method public void showSystemOutputSwitcher(); method public void stop(); method public void transferTo(@NonNull android.media.MediaRoute2Info); method public void unregisterControllerCallback(@NonNull android.media.MediaRouter2.ControllerCallback);
media/java/android/media/IMediaRouterService.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -94,4 +94,5 @@ interface IMediaRouterService { void setSessionVolumeWithManager(IMediaRouter2Manager manager, int requestId, String sessionId, int volume); void releaseSessionWithManager(IMediaRouter2Manager manager, int requestId, String sessionId); void showMediaOutputSwitcher(String packageName); }
media/java/android/media/MediaRouter2.java +13 −0 Original line number Diff line number Diff line Loading @@ -460,6 +460,19 @@ public final class MediaRouter2 { } } /** * Shows the system UI output switcher. */ public void showSystemOutputSwitcher() { synchronized (mLock) { try { mMediaRouterService.showMediaOutputSwitcher(mPackageName); } catch (RemoteException ex) { ex.rethrowFromSystemServer(); } } } /** * Sets the {@link RouteListingPreference} of the app associated to this media router. * Loading
services/core/java/com/android/server/media/MediaRouterService.java +19 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,7 @@ import com.android.internal.util.DumpUtils; import com.android.server.LocalServices; import com.android.server.Watchdog; import com.android.server.pm.UserManagerInternal; import com.android.server.statusbar.StatusBarManagerInternal; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -245,6 +246,24 @@ public final class MediaRouterService extends IMediaRouterService.Stub } } // Binder call @Override public void showMediaOutputSwitcher(String packageName) { if (!validatePackageName(Binder.getCallingUid(), packageName)) { throw new SecurityException("packageName must match the calling identity"); } final long token = Binder.clearCallingIdentity(); try { synchronized (mLock) { StatusBarManagerInternal statusBar = LocalServices.getService(StatusBarManagerInternal.class); statusBar.showMediaOutputSwitcher(packageName); } } finally { Binder.restoreCallingIdentity(token); } } // Binder call @Override public MediaRouterClientState getState(IMediaRouterClient client) { Loading