diff --git a/api/system-current.txt b/api/system-current.txt index 0d7465c9fed34..16d76752e572c 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -3389,6 +3389,15 @@ package android.media { method @NonNull public android.media.TimedMetaData.Builder setTimedMetaData(long, @NonNull byte[]); } + public abstract class VolumeProvider { + method public void setCallback(android.media.VolumeProvider.Callback); + } + + public abstract static class VolumeProvider.Callback { + ctor public VolumeProvider.Callback(); + method public abstract void onVolumeChanged(android.media.VolumeProvider); + } + } package android.media.audiopolicy { @@ -3564,6 +3573,10 @@ package android.media.session { method public void onSetMediaButtonEventDelegate(@NonNull android.media.session.MediaSessionEngine.MediaButtonEventDelegate); } + public static final class MediaSession.Token implements android.os.Parcelable { + method public android.media.session.ControllerLink getControllerLink(); + } + public final class MediaSessionEngine implements java.lang.AutoCloseable { ctor public MediaSessionEngine(@NonNull android.content.Context, @NonNull android.media.session.SessionLink, @NonNull android.media.session.SessionCallbackLink, @NonNull android.media.session.MediaSessionEngine.CallbackStub, int); method public void close(); diff --git a/media/java/android/media/VolumeProvider.java b/media/java/android/media/VolumeProvider.java index 1c017c564b43e..0297406e425a5 100644 --- a/media/java/android/media/VolumeProvider.java +++ b/media/java/android/media/VolumeProvider.java @@ -16,6 +16,7 @@ package android.media; import android.annotation.IntDef; +import android.annotation.SystemApi; import android.media.session.MediaSession; import java.lang.annotation.Retention; @@ -147,6 +148,7 @@ public abstract class VolumeProvider { * Sets a callback to receive volume changes. * @hide */ + @SystemApi public void setCallback(Callback callback) { mCallback = callback; } @@ -155,6 +157,7 @@ public abstract class VolumeProvider { * Listens for changes to the volume. * @hide */ + @SystemApi public static abstract class Callback { public abstract void onVolumeChanged(VolumeProvider volumeProvider); } diff --git a/media/java/android/media/session/ControllerCallbackLink.java b/media/java/android/media/session/ControllerCallbackLink.java index 2d59e442abf08..adc14a550b7d4 100644 --- a/media/java/android/media/session/ControllerCallbackLink.java +++ b/media/java/android/media/session/ControllerCallbackLink.java @@ -315,12 +315,6 @@ public final class ControllerCallbackLink implements Parcelable { } private void ensureMediaControlPermission() { - // Allow API calls from the System UI - if (mContext.checkCallingPermission(android.Manifest.permission.STATUS_BAR_SERVICE) - == PackageManager.PERMISSION_GRANTED) { - return; - } - // Check if it's system server or has MEDIA_CONTENT_CONTROL. // Note that system server doesn't have MEDIA_CONTENT_CONTROL, so we need extra // check here. diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java index 4896d0803e420..1a185e982cf12 100644 --- a/media/java/android/media/session/MediaSession.java +++ b/media/java/android/media/session/MediaSession.java @@ -481,7 +481,7 @@ public final class MediaSession { * @hide */ @SystemApi - ControllerLink getControllerLink() { + public ControllerLink getControllerLink() { return mControllerLink; } diff --git a/media/java/android/media/session/SessionCallbackLink.java b/media/java/android/media/session/SessionCallbackLink.java index 0dbf427b048dd..3bcb65c420106 100644 --- a/media/java/android/media/session/SessionCallbackLink.java +++ b/media/java/android/media/session/SessionCallbackLink.java @@ -944,12 +944,6 @@ public final class SessionCallbackLink implements Parcelable { } private void ensureMediaControlPermission() { - // Allow API calls from the System UI - if (mContext.checkCallingPermission(android.Manifest.permission.STATUS_BAR_SERVICE) - == PackageManager.PERMISSION_GRANTED) { - return; - } - // Check if it's system server or has MEDIA_CONTENT_CONTROL. // Note that system server doesn't have MEDIA_CONTENT_CONTROL, so we need extra // check here.