Loading media/java/android/media/IMediaRoute2Provider.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ oneway interface IMediaRoute2Provider { void selectRoute(int sessionId, String routeId); void deselectRoute(int sessionId, String routeId); void transferRoute(int sessionId, String routeId); void transferToRoute(int sessionId, String routeId); void notifyControlRequestSent(String id, in Intent request); void requestSetVolume(String id, int volume); Loading media/java/android/media/IMediaRoute2ProviderClient.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -28,4 +28,5 @@ oneway interface IMediaRoute2ProviderClient { void updateState(in MediaRoute2ProviderInfo providerInfo, in List<RouteSessionInfo> sessionInfos); void notifySessionCreated(in @nullable RouteSessionInfo sessionInfo, long requestId); void notifySessionInfoChanged(in RouteSessionInfo sessionInfo); } media/java/android/media/IMediaRouter2Client.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -29,4 +29,5 @@ oneway interface IMediaRouter2Client { void notifyRoutesRemoved(in List<MediaRoute2Info> routes); void notifyRoutesChanged(in List<MediaRoute2Info> routes); void notifySessionCreated(in @nullable RouteSessionInfo sessionInfo, int requestId); void notifySessionInfoChanged(in RouteSessionInfo sessionInfo); } media/java/android/media/IMediaRouterService.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,9 @@ interface IMediaRouterService { void requestCreateSession(IMediaRouter2Client client, in MediaRoute2Info route, String controlCategory, int requestId); void setControlCategories(IMediaRouter2Client client, in List<String> categories); void selectRoute(IMediaRouter2Client client, String sessionId, in MediaRoute2Info route); void deselectRoute(IMediaRouter2Client client, String sessionId, in MediaRoute2Info route); void transferToRoute(IMediaRouter2Client client, String sessionId, in MediaRoute2Info route); void registerManager(IMediaRouter2Manager manager, String packageName); void unregisterManager(IMediaRouter2Manager manager); Loading media/java/android/media/MediaRoute2ProviderService.java +34 −5 Original line number Diff line number Diff line Loading @@ -134,7 +134,6 @@ public abstract class MediaRoute2ProviderService extends Service { */ public final void updateSessionInfo(@NonNull RouteSessionInfo sessionInfo) { Objects.requireNonNull(sessionInfo, "sessionInfo must not be null"); int sessionId = sessionInfo.getSessionId(); if (sessionInfo.getSelectedRoutes().isEmpty()) { releaseSession(sessionId); Loading @@ -152,6 +151,35 @@ public abstract class MediaRoute2ProviderService extends Service { } } /** * Notifies the session is changed. * * TODO: This method is temporary, only created for tests. Remove when the alternative is ready. * @hide */ public final void notifySessionInfoChanged(@NonNull RouteSessionInfo sessionInfo) { Objects.requireNonNull(sessionInfo, "sessionInfo must not be null"); int sessionId = sessionInfo.getSessionId(); synchronized (mSessionLock) { if (mSessionInfo.containsKey(sessionId)) { mSessionInfo.put(sessionId, sessionInfo); } else { Log.w(TAG, "Ignoring unknown session info."); return; } } if (mClient == null) { return; } try { mClient.notifySessionInfoChanged(sessionInfo); } catch (RemoteException ex) { Log.w(TAG, "Failed to notify session info changed."); } } /** * Notifies clients of that the session is created and ready for use. If the session can be * controlled, pass a {@link Bundle} that contains how to control it. Loading @@ -163,6 +191,7 @@ public abstract class MediaRoute2ProviderService extends Service { * @param requestId id of the previous request to create this session */ // TODO: fail reason? // TODO: Maybe better to create notifySessionCreationFailed? public final void notifySessionCreated(@Nullable RouteSessionInfo sessionInfo, long requestId) { if (sessionInfo != null) { int sessionId = sessionInfo.getSessionId(); Loading Loading @@ -269,7 +298,7 @@ public abstract class MediaRoute2ProviderService extends Service { * @param sessionId id of the session * @param routeId id of the route */ public abstract void onTransferRoute(int sessionId, @NonNull String routeId); public abstract void onTransferToRoute(int sessionId, @NonNull String routeId); /** * Updates provider info and publishes routes and session info. Loading Loading @@ -364,11 +393,11 @@ public abstract class MediaRoute2ProviderService extends Service { } @Override public void transferRoute(int sessionId, String routeId) { public void transferToRoute(int sessionId, String routeId) { if (!checkCallerisSystem()) { return; } mHandler.sendMessage(obtainMessage(MediaRoute2ProviderService::onTransferRoute, mHandler.sendMessage(obtainMessage(MediaRoute2ProviderService::onTransferToRoute, MediaRoute2ProviderService.this, sessionId, routeId)); } Loading Loading
media/java/android/media/IMediaRoute2Provider.aidl +1 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ oneway interface IMediaRoute2Provider { void selectRoute(int sessionId, String routeId); void deselectRoute(int sessionId, String routeId); void transferRoute(int sessionId, String routeId); void transferToRoute(int sessionId, String routeId); void notifyControlRequestSent(String id, in Intent request); void requestSetVolume(String id, int volume); Loading
media/java/android/media/IMediaRoute2ProviderClient.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -28,4 +28,5 @@ oneway interface IMediaRoute2ProviderClient { void updateState(in MediaRoute2ProviderInfo providerInfo, in List<RouteSessionInfo> sessionInfos); void notifySessionCreated(in @nullable RouteSessionInfo sessionInfo, long requestId); void notifySessionInfoChanged(in RouteSessionInfo sessionInfo); }
media/java/android/media/IMediaRouter2Client.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -29,4 +29,5 @@ oneway interface IMediaRouter2Client { void notifyRoutesRemoved(in List<MediaRoute2Info> routes); void notifyRoutesChanged(in List<MediaRoute2Info> routes); void notifySessionCreated(in @nullable RouteSessionInfo sessionInfo, int requestId); void notifySessionInfoChanged(in RouteSessionInfo sessionInfo); }
media/java/android/media/IMediaRouterService.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,9 @@ interface IMediaRouterService { void requestCreateSession(IMediaRouter2Client client, in MediaRoute2Info route, String controlCategory, int requestId); void setControlCategories(IMediaRouter2Client client, in List<String> categories); void selectRoute(IMediaRouter2Client client, String sessionId, in MediaRoute2Info route); void deselectRoute(IMediaRouter2Client client, String sessionId, in MediaRoute2Info route); void transferToRoute(IMediaRouter2Client client, String sessionId, in MediaRoute2Info route); void registerManager(IMediaRouter2Manager manager, String packageName); void unregisterManager(IMediaRouter2Manager manager); Loading
media/java/android/media/MediaRoute2ProviderService.java +34 −5 Original line number Diff line number Diff line Loading @@ -134,7 +134,6 @@ public abstract class MediaRoute2ProviderService extends Service { */ public final void updateSessionInfo(@NonNull RouteSessionInfo sessionInfo) { Objects.requireNonNull(sessionInfo, "sessionInfo must not be null"); int sessionId = sessionInfo.getSessionId(); if (sessionInfo.getSelectedRoutes().isEmpty()) { releaseSession(sessionId); Loading @@ -152,6 +151,35 @@ public abstract class MediaRoute2ProviderService extends Service { } } /** * Notifies the session is changed. * * TODO: This method is temporary, only created for tests. Remove when the alternative is ready. * @hide */ public final void notifySessionInfoChanged(@NonNull RouteSessionInfo sessionInfo) { Objects.requireNonNull(sessionInfo, "sessionInfo must not be null"); int sessionId = sessionInfo.getSessionId(); synchronized (mSessionLock) { if (mSessionInfo.containsKey(sessionId)) { mSessionInfo.put(sessionId, sessionInfo); } else { Log.w(TAG, "Ignoring unknown session info."); return; } } if (mClient == null) { return; } try { mClient.notifySessionInfoChanged(sessionInfo); } catch (RemoteException ex) { Log.w(TAG, "Failed to notify session info changed."); } } /** * Notifies clients of that the session is created and ready for use. If the session can be * controlled, pass a {@link Bundle} that contains how to control it. Loading @@ -163,6 +191,7 @@ public abstract class MediaRoute2ProviderService extends Service { * @param requestId id of the previous request to create this session */ // TODO: fail reason? // TODO: Maybe better to create notifySessionCreationFailed? public final void notifySessionCreated(@Nullable RouteSessionInfo sessionInfo, long requestId) { if (sessionInfo != null) { int sessionId = sessionInfo.getSessionId(); Loading Loading @@ -269,7 +298,7 @@ public abstract class MediaRoute2ProviderService extends Service { * @param sessionId id of the session * @param routeId id of the route */ public abstract void onTransferRoute(int sessionId, @NonNull String routeId); public abstract void onTransferToRoute(int sessionId, @NonNull String routeId); /** * Updates provider info and publishes routes and session info. Loading Loading @@ -364,11 +393,11 @@ public abstract class MediaRoute2ProviderService extends Service { } @Override public void transferRoute(int sessionId, String routeId) { public void transferToRoute(int sessionId, String routeId) { if (!checkCallerisSystem()) { return; } mHandler.sendMessage(obtainMessage(MediaRoute2ProviderService::onTransferRoute, mHandler.sendMessage(obtainMessage(MediaRoute2ProviderService::onTransferToRoute, MediaRoute2ProviderService.this, sessionId, routeId)); } Loading