Loading api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -25948,7 +25948,6 @@ package android.media { method @NonNull public abstract android.media.MediaSession2 onGetPrimarySession(); method @Nullable public abstract android.media.MediaSession2Service.MediaNotification onUpdateNotification(@NonNull android.media.MediaSession2); method public final void removeSession(@NonNull android.media.MediaSession2); field public static final String SERVICE_INTERFACE = "android.media.MediaSession2Service"; } public static class MediaSession2Service.MediaNotification { Loading Loading @@ -27471,6 +27470,7 @@ package android.media.session { method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens(); method public boolean isTrustedForMediaControl(@NonNull android.media.session.MediaSessionManager.RemoteUserInfo); method public void notifySession2Created(@NonNull android.media.Session2Token); method public void notifySession2Destroyed(@NonNull android.media.Session2Token); method public void removeOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener); method public void removeOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener); } api/system-current.txt +9 −0 Original line number Diff line number Diff line Loading @@ -3414,6 +3414,15 @@ package android.media { method public void stop(); } public final class Session2Token implements android.os.Parcelable { ctor public Session2Token(@NonNull android.content.Context, @NonNull String, @Nullable android.os.Bundle); method public void destroy(); method @NonNull public android.os.Bundle getExtras(); method public int getPid(); method public boolean isDestroyed(); field public static final String SESSION_SERVICE_INTERFACE = "android.media.MediaSession2Service"; } public static class SubtitleData.Builder { ctor public SubtitleData.Builder(); ctor public SubtitleData.Builder(@NonNull android.media.SubtitleData); Loading media/Android.bp +0 −1 Original line number Diff line number Diff line Loading @@ -132,7 +132,6 @@ filegroup { "apex/java/android/media/Session2Command.java", "apex/java/android/media/Session2CommandGroup.java", "apex/java/android/media/Session2Link.java", "apex/java/android/media/Session2Token.java", ], } Loading media/apex/java/android/media/MediaConstants.java +2 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,8 @@ class MediaConstants { static final String KEY_PACKAGE_NAME = "android.media.key.PACKAGE_NAME"; // Bundle key for Parcelable static final String KEY_SESSION2LINK = "android.media.key.SESSION2LINK"; static final String KEY_SESSION2_TOKEN = "android.media.key.SESSION2_TOKEN"; static final String KEY_SESSION2_LINK = "android.media.key.SESSION2_LINK"; static final String KEY_ALLOWED_COMMANDS = "android.media.key.ALLOWED_COMMANDS"; static final String KEY_PLAYBACK_ACTIVE = "android.media.key.PLAYBACK_ACTIVE"; Loading media/apex/java/android/media/MediaController2.java +8 −6 Original line number Diff line number Diff line Loading @@ -20,9 +20,11 @@ import static android.media.MediaConstants.KEY_ALLOWED_COMMANDS; import static android.media.MediaConstants.KEY_PACKAGE_NAME; import static android.media.MediaConstants.KEY_PID; import static android.media.MediaConstants.KEY_PLAYBACK_ACTIVE; import static android.media.MediaConstants.KEY_SESSION2LINK; import static android.media.MediaConstants.KEY_SESSION2_LINK; import static android.media.MediaConstants.KEY_SESSION2_TOKEN; import static android.media.Session2Command.RESULT_ERROR_UNKNOWN_ERROR; import static android.media.Session2Command.RESULT_INFO_SKIPPED; import static android.media.Session2Token.SESSION_SERVICE_INTERFACE; import static android.media.Session2Token.TYPE_SESSION; import android.annotation.NonNull; Loading Loading @@ -260,7 +262,8 @@ public class MediaController2 implements AutoCloseable { // Called by Controller2Link.onConnected void onConnected(int seq, Bundle connectionResult) { Session2Link sessionBinder = connectionResult.getParcelable(KEY_SESSION2LINK); Session2Token token = connectionResult.getParcelable(KEY_SESSION2_TOKEN); Session2Link sessionBinder = token.getExtras().getParcelable(KEY_SESSION2_LINK); Session2CommandGroup allowedCommands = connectionResult.getParcelable(KEY_ALLOWED_COMMANDS); boolean playbackActive = connectionResult.getBoolean(KEY_PLAYBACK_ACTIVE); Loading @@ -281,8 +284,7 @@ public class MediaController2 implements AutoCloseable { // Implementation for the local binder is no-op, // so can be used without worrying about deadlock. sessionBinder.linkToDeath(mDeathRecipient, 0); mConnectedToken = new Session2Token(mSessionToken.getUid(), TYPE_SESSION, mSessionToken.getPackageName(), sessionBinder); mConnectedToken = token; } mCallbackExecutor.execute(() -> { mCallback.onConnected(MediaController2.this, allowedCommands); Loading Loading @@ -353,7 +355,7 @@ public class MediaController2 implements AutoCloseable { } private boolean requestConnectToSession() { Session2Link sessionBinder = mSessionToken.getSessionLink(); Session2Link sessionBinder = mSessionToken.getExtras().getParcelable(KEY_SESSION2_LINK); Bundle connectionRequest = createConnectionRequest(); try { sessionBinder.connect(mControllerStub, getNextSeqNumber(), connectionRequest); Loading @@ -366,7 +368,7 @@ public class MediaController2 implements AutoCloseable { private boolean requestConnectToService() { // Service. Needs to get fresh binder whenever connection is needed. final Intent intent = new Intent(MediaSession2Service.SERVICE_INTERFACE); final Intent intent = new Intent(SESSION_SERVICE_INTERFACE); intent.setClassName(mSessionToken.getPackageName(), mSessionToken.getServiceName()); // Use bindService() instead of startForegroundService() to start session service for three Loading Loading
api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -25948,7 +25948,6 @@ package android.media { method @NonNull public abstract android.media.MediaSession2 onGetPrimarySession(); method @Nullable public abstract android.media.MediaSession2Service.MediaNotification onUpdateNotification(@NonNull android.media.MediaSession2); method public final void removeSession(@NonNull android.media.MediaSession2); field public static final String SERVICE_INTERFACE = "android.media.MediaSession2Service"; } public static class MediaSession2Service.MediaNotification { Loading Loading @@ -27471,6 +27470,7 @@ package android.media.session { method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens(); method public boolean isTrustedForMediaControl(@NonNull android.media.session.MediaSessionManager.RemoteUserInfo); method public void notifySession2Created(@NonNull android.media.Session2Token); method public void notifySession2Destroyed(@NonNull android.media.Session2Token); method public void removeOnActiveSessionsChangedListener(@NonNull android.media.session.MediaSessionManager.OnActiveSessionsChangedListener); method public void removeOnSession2TokensChangedListener(@NonNull android.media.session.MediaSessionManager.OnSession2TokensChangedListener); }
api/system-current.txt +9 −0 Original line number Diff line number Diff line Loading @@ -3414,6 +3414,15 @@ package android.media { method public void stop(); } public final class Session2Token implements android.os.Parcelable { ctor public Session2Token(@NonNull android.content.Context, @NonNull String, @Nullable android.os.Bundle); method public void destroy(); method @NonNull public android.os.Bundle getExtras(); method public int getPid(); method public boolean isDestroyed(); field public static final String SESSION_SERVICE_INTERFACE = "android.media.MediaSession2Service"; } public static class SubtitleData.Builder { ctor public SubtitleData.Builder(); ctor public SubtitleData.Builder(@NonNull android.media.SubtitleData); Loading
media/Android.bp +0 −1 Original line number Diff line number Diff line Loading @@ -132,7 +132,6 @@ filegroup { "apex/java/android/media/Session2Command.java", "apex/java/android/media/Session2CommandGroup.java", "apex/java/android/media/Session2Link.java", "apex/java/android/media/Session2Token.java", ], } Loading
media/apex/java/android/media/MediaConstants.java +2 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,8 @@ class MediaConstants { static final String KEY_PACKAGE_NAME = "android.media.key.PACKAGE_NAME"; // Bundle key for Parcelable static final String KEY_SESSION2LINK = "android.media.key.SESSION2LINK"; static final String KEY_SESSION2_TOKEN = "android.media.key.SESSION2_TOKEN"; static final String KEY_SESSION2_LINK = "android.media.key.SESSION2_LINK"; static final String KEY_ALLOWED_COMMANDS = "android.media.key.ALLOWED_COMMANDS"; static final String KEY_PLAYBACK_ACTIVE = "android.media.key.PLAYBACK_ACTIVE"; Loading
media/apex/java/android/media/MediaController2.java +8 −6 Original line number Diff line number Diff line Loading @@ -20,9 +20,11 @@ import static android.media.MediaConstants.KEY_ALLOWED_COMMANDS; import static android.media.MediaConstants.KEY_PACKAGE_NAME; import static android.media.MediaConstants.KEY_PID; import static android.media.MediaConstants.KEY_PLAYBACK_ACTIVE; import static android.media.MediaConstants.KEY_SESSION2LINK; import static android.media.MediaConstants.KEY_SESSION2_LINK; import static android.media.MediaConstants.KEY_SESSION2_TOKEN; import static android.media.Session2Command.RESULT_ERROR_UNKNOWN_ERROR; import static android.media.Session2Command.RESULT_INFO_SKIPPED; import static android.media.Session2Token.SESSION_SERVICE_INTERFACE; import static android.media.Session2Token.TYPE_SESSION; import android.annotation.NonNull; Loading Loading @@ -260,7 +262,8 @@ public class MediaController2 implements AutoCloseable { // Called by Controller2Link.onConnected void onConnected(int seq, Bundle connectionResult) { Session2Link sessionBinder = connectionResult.getParcelable(KEY_SESSION2LINK); Session2Token token = connectionResult.getParcelable(KEY_SESSION2_TOKEN); Session2Link sessionBinder = token.getExtras().getParcelable(KEY_SESSION2_LINK); Session2CommandGroup allowedCommands = connectionResult.getParcelable(KEY_ALLOWED_COMMANDS); boolean playbackActive = connectionResult.getBoolean(KEY_PLAYBACK_ACTIVE); Loading @@ -281,8 +284,7 @@ public class MediaController2 implements AutoCloseable { // Implementation for the local binder is no-op, // so can be used without worrying about deadlock. sessionBinder.linkToDeath(mDeathRecipient, 0); mConnectedToken = new Session2Token(mSessionToken.getUid(), TYPE_SESSION, mSessionToken.getPackageName(), sessionBinder); mConnectedToken = token; } mCallbackExecutor.execute(() -> { mCallback.onConnected(MediaController2.this, allowedCommands); Loading Loading @@ -353,7 +355,7 @@ public class MediaController2 implements AutoCloseable { } private boolean requestConnectToSession() { Session2Link sessionBinder = mSessionToken.getSessionLink(); Session2Link sessionBinder = mSessionToken.getExtras().getParcelable(KEY_SESSION2_LINK); Bundle connectionRequest = createConnectionRequest(); try { sessionBinder.connect(mControllerStub, getNextSeqNumber(), connectionRequest); Loading @@ -366,7 +368,7 @@ public class MediaController2 implements AutoCloseable { private boolean requestConnectToService() { // Service. Needs to get fresh binder whenever connection is needed. final Intent intent = new Intent(MediaSession2Service.SERVICE_INTERFACE); final Intent intent = new Intent(SESSION_SERVICE_INTERFACE); intent.setClassName(mSessionToken.getPackageName(), mSessionToken.getServiceName()); // Use bindService() instead of startForegroundService() to start session service for three Loading