Loading api/current.txt +16 −24 Original line number Diff line number Diff line Loading @@ -16743,18 +16743,14 @@ package android.media.session { public final class MediaSession { ctor public MediaSession(android.content.Context, java.lang.String); method public void addCallback(android.media.session.MediaSession.Callback); method public void addCallback(android.media.session.MediaSession.Callback, android.os.Handler); method public void addTransportControlsCallback(android.media.session.MediaSession.TransportControlsCallback); method public void addTransportControlsCallback(android.media.session.MediaSession.TransportControlsCallback, android.os.Handler); method public android.media.session.MediaController getController(); method public android.media.session.MediaSession.Token getSessionToken(); method public boolean isActive(); method public void release(); method public void removeCallback(android.media.session.MediaSession.Callback); method public void removeTransportControlsCallback(android.media.session.MediaSession.TransportControlsCallback); method public void sendSessionEvent(java.lang.String, android.os.Bundle); method public void setActive(boolean); method public void setCallback(android.media.session.MediaSession.Callback); method public void setCallback(android.media.session.MediaSession.Callback, android.os.Handler); method public void setExtras(android.os.Bundle); method public void setFlags(int); method public void setLaunchActivity(android.app.PendingIntent); Loading @@ -16775,7 +16771,20 @@ package android.media.session { public static abstract class MediaSession.Callback { ctor public MediaSession.Callback(); method public void onCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver); method public void onMediaButtonEvent(android.content.Intent); method public void onCustomAction(java.lang.String, android.os.Bundle); method public void onFastForward(); method public boolean onMediaButtonEvent(android.content.Intent); method public void onPause(); method public void onPlay(); method public void onPlayFromSearch(java.lang.String, android.os.Bundle); method public void onPlayUri(android.net.Uri, android.os.Bundle); method public void onRewind(); method public void onSeekTo(long); method public void onSetRating(android.media.Rating); method public void onSkipToNext(); method public void onSkipToPrevious(); method public void onSkipToTrack(long); method public void onStop(); } public static final class MediaSession.Token implements android.os.Parcelable { Loading @@ -16801,23 +16810,6 @@ package android.media.session { method public android.media.session.MediaSession.Track.Builder setExtras(android.os.Bundle); } public static abstract class MediaSession.TransportControlsCallback { ctor public MediaSession.TransportControlsCallback(); method public void onCustomAction(java.lang.String, android.os.Bundle); method public void onFastForward(); method public void onPause(); method public void onPlay(); method public void onPlayFromSearch(java.lang.String, android.os.Bundle); method public void onPlayUri(android.net.Uri, android.os.Bundle); method public void onRewind(); method public void onSeekTo(long); method public void onSetRating(android.media.Rating); method public void onSkipToNext(); method public void onSkipToPrevious(); method public void onSkipToTrack(long); method public void onStop(); } public final class MediaSessionManager { method public void addActiveSessionsListener(android.media.session.MediaSessionManager.SessionListener, android.content.ComponentName); method public java.util.List<android.media.session.MediaController> getActiveSessions(android.content.ComponentName); media/java/android/media/RemoteControlClient.java +1 −2 Original line number Diff line number Diff line Loading @@ -970,8 +970,7 @@ import java.lang.IllegalArgumentException; public final static int RCSE_ID_UNREGISTERED = -1; // USE_SESSIONS private MediaSession.TransportControlsCallback mTransportListener = new MediaSession.TransportControlsCallback() { private MediaSession.Callback mTransportListener = new MediaSession.Callback() { @Override public void onSeekTo(long pos) { Loading media/java/android/media/session/MediaController.java +2 −1 Original line number Diff line number Diff line Loading @@ -179,7 +179,8 @@ public final class MediaController { } /** * Get the current play queue for this session. * Get the current play queue for this session if one is set. If you only * care about the current item {@link #getMetadata()} should be used. * * @return The current play queue or null. */ Loading media/java/android/media/session/MediaSession.java +150 −241 File changed.Preview size limit exceeded, changes collapsed. Show changes media/java/android/media/session/MediaSessionLegacyHelper.java +92 −30 Original line number Diff line number Diff line Loading @@ -29,6 +29,9 @@ import android.media.AudioManager; import android.media.MediaMetadata; import android.media.MediaMetadataEditor; import android.media.MediaMetadataRetriever; import android.media.Rating; import android.media.RemoteControlClient; import android.media.RemoteControlClient.MetadataEditor; import android.os.Bundle; import android.os.Handler; import android.os.Looper; Loading Loading @@ -229,8 +232,7 @@ public class MediaSessionLegacyHelper { } } public void addRccListener(PendingIntent pi, MediaSession.TransportControlsCallback listener) { public void addRccListener(PendingIntent pi, MediaSession.Callback listener) { if (pi == null) { Log.w(TAG, "Pending intent was null, can't add rcc listener."); return; Loading @@ -247,10 +249,7 @@ public class MediaSessionLegacyHelper { // This is already the registered listener, ignore return; } // Otherwise it changed so we need to switch to the new one holder.mSession.removeTransportControlsCallback(holder.mRccListener); } holder.mSession.addTransportControlsCallback(listener, mHandler); holder.mRccListener = listener; holder.mFlags |= MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS; holder.mSession.setFlags(holder.mFlags); Loading @@ -266,7 +265,6 @@ public class MediaSessionLegacyHelper { } SessionHolder holder = getHolder(pi, false); if (holder != null && holder.mRccListener != null) { holder.mSession.removeTransportControlsCallback(holder.mRccListener); holder.mRccListener = null; holder.mFlags &= ~MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS; holder.mSession.setFlags(holder.mFlags); Loading @@ -288,8 +286,7 @@ public class MediaSessionLegacyHelper { return; } if (holder.mMediaButtonListener != null) { // Already have this listener registered, but update it anyway as // the extras may have changed. // Already have this listener registered if (DEBUG) { Log.d(TAG, "addMediaButtonListener already added " + pi); } Loading @@ -300,11 +297,8 @@ public class MediaSessionLegacyHelper { // set this flag holder.mFlags |= MediaSession.FLAG_HANDLES_MEDIA_BUTTONS; holder.mSession.setFlags(holder.mFlags); holder.mSession.addTransportControlsCallback(holder.mMediaButtonListener, mHandler); holder.mMediaButtonReceiver = new MediaButtonReceiver(pi, context); holder.mSession.addCallback(holder.mMediaButtonReceiver, mHandler); holder.mSession.setMediaButtonReceiver(pi); holder.update(); if (DEBUG) { Log.d(TAG, "addMediaButtonListener added " + pi); } Loading @@ -316,13 +310,10 @@ public class MediaSessionLegacyHelper { } SessionHolder holder = getHolder(pi, false); if (holder != null && holder.mMediaButtonListener != null) { holder.mSession.removeTransportControlsCallback(holder.mMediaButtonListener); holder.mFlags &= ~MediaSession.FLAG_HANDLES_MEDIA_BUTTONS; holder.mSession.setFlags(holder.mFlags); holder.mMediaButtonListener = null; holder.mSession.removeCallback(holder.mMediaButtonReceiver); holder.mMediaButtonReceiver = null; holder.update(); if (DEBUG) { Log.d(TAG, "removeMediaButtonListener removed " + pi); Loading Loading @@ -387,28 +378,19 @@ public class MediaSessionLegacyHelper { } } private static final class MediaButtonReceiver extends MediaSession.Callback { private static final class MediaButtonListener extends MediaSession.Callback { private final PendingIntent mPendingIntent; private final Context mContext; public MediaButtonReceiver(PendingIntent pi, Context context) { public MediaButtonListener(PendingIntent pi, Context context) { mPendingIntent = pi; mContext = context; } @Override public void onMediaButtonEvent(Intent mediaButtonIntent) { public boolean onMediaButtonEvent(Intent mediaButtonIntent) { MediaSessionLegacyHelper.sendKeyEvent(mPendingIntent, mContext, mediaButtonIntent); } } private static final class MediaButtonListener extends MediaSession.TransportControlsCallback { private final PendingIntent mPendingIntent; private final Context mContext; public MediaButtonListener(PendingIntent pi, Context context) { mPendingIntent = pi; mContext = context; return true; } @Override Loading Loading @@ -468,10 +450,11 @@ public class MediaSessionLegacyHelper { public final MediaSession mSession; public final PendingIntent mPi; public MediaButtonListener mMediaButtonListener; public MediaButtonReceiver mMediaButtonReceiver; public MediaSession.TransportControlsCallback mRccListener; public MediaSession.Callback mRccListener; public int mFlags; public SessionCallback mCb; public SessionHolder(MediaSession session, PendingIntent pi) { mSession = session; mPi = pi; Loading @@ -479,8 +462,87 @@ public class MediaSessionLegacyHelper { public void update() { if (mMediaButtonListener == null && mRccListener == null) { mSession.setCallback(null); mSession.release(); mCb = null; mSessions.remove(mPi); } else if (mCb == null) { mCb = new SessionCallback(); mSession.setCallback(mCb); } } private class SessionCallback extends MediaSession.Callback { @Override public boolean onMediaButtonEvent(Intent mediaButtonIntent) { if (mMediaButtonListener != null) { mMediaButtonListener.onMediaButtonEvent(mediaButtonIntent); } return true; } @Override public void onPlay() { if (mMediaButtonListener != null) { mMediaButtonListener.onPlay(); } } @Override public void onPause() { if (mMediaButtonListener != null) { mMediaButtonListener.onPause(); } } @Override public void onSkipToNext() { if (mMediaButtonListener != null) { mMediaButtonListener.onSkipToNext(); } } @Override public void onSkipToPrevious() { if (mMediaButtonListener != null) { mMediaButtonListener.onSkipToPrevious(); } } @Override public void onFastForward() { if (mMediaButtonListener != null) { mMediaButtonListener.onFastForward(); } } @Override public void onRewind() { if (mMediaButtonListener != null) { mMediaButtonListener.onRewind(); } } @Override public void onStop() { if (mMediaButtonListener != null) { mMediaButtonListener.onStop(); } } @Override public void onSeekTo(long pos) { if (mRccListener != null) { mRccListener.onSeekTo(pos); } } @Override public void onSetRating(Rating rating) { if (mRccListener != null) { mRccListener.onSetRating(rating); } } } } Loading Loading
api/current.txt +16 −24 Original line number Diff line number Diff line Loading @@ -16743,18 +16743,14 @@ package android.media.session { public final class MediaSession { ctor public MediaSession(android.content.Context, java.lang.String); method public void addCallback(android.media.session.MediaSession.Callback); method public void addCallback(android.media.session.MediaSession.Callback, android.os.Handler); method public void addTransportControlsCallback(android.media.session.MediaSession.TransportControlsCallback); method public void addTransportControlsCallback(android.media.session.MediaSession.TransportControlsCallback, android.os.Handler); method public android.media.session.MediaController getController(); method public android.media.session.MediaSession.Token getSessionToken(); method public boolean isActive(); method public void release(); method public void removeCallback(android.media.session.MediaSession.Callback); method public void removeTransportControlsCallback(android.media.session.MediaSession.TransportControlsCallback); method public void sendSessionEvent(java.lang.String, android.os.Bundle); method public void setActive(boolean); method public void setCallback(android.media.session.MediaSession.Callback); method public void setCallback(android.media.session.MediaSession.Callback, android.os.Handler); method public void setExtras(android.os.Bundle); method public void setFlags(int); method public void setLaunchActivity(android.app.PendingIntent); Loading @@ -16775,7 +16771,20 @@ package android.media.session { public static abstract class MediaSession.Callback { ctor public MediaSession.Callback(); method public void onCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver); method public void onMediaButtonEvent(android.content.Intent); method public void onCustomAction(java.lang.String, android.os.Bundle); method public void onFastForward(); method public boolean onMediaButtonEvent(android.content.Intent); method public void onPause(); method public void onPlay(); method public void onPlayFromSearch(java.lang.String, android.os.Bundle); method public void onPlayUri(android.net.Uri, android.os.Bundle); method public void onRewind(); method public void onSeekTo(long); method public void onSetRating(android.media.Rating); method public void onSkipToNext(); method public void onSkipToPrevious(); method public void onSkipToTrack(long); method public void onStop(); } public static final class MediaSession.Token implements android.os.Parcelable { Loading @@ -16801,23 +16810,6 @@ package android.media.session { method public android.media.session.MediaSession.Track.Builder setExtras(android.os.Bundle); } public static abstract class MediaSession.TransportControlsCallback { ctor public MediaSession.TransportControlsCallback(); method public void onCustomAction(java.lang.String, android.os.Bundle); method public void onFastForward(); method public void onPause(); method public void onPlay(); method public void onPlayFromSearch(java.lang.String, android.os.Bundle); method public void onPlayUri(android.net.Uri, android.os.Bundle); method public void onRewind(); method public void onSeekTo(long); method public void onSetRating(android.media.Rating); method public void onSkipToNext(); method public void onSkipToPrevious(); method public void onSkipToTrack(long); method public void onStop(); } public final class MediaSessionManager { method public void addActiveSessionsListener(android.media.session.MediaSessionManager.SessionListener, android.content.ComponentName); method public java.util.List<android.media.session.MediaController> getActiveSessions(android.content.ComponentName);
media/java/android/media/RemoteControlClient.java +1 −2 Original line number Diff line number Diff line Loading @@ -970,8 +970,7 @@ import java.lang.IllegalArgumentException; public final static int RCSE_ID_UNREGISTERED = -1; // USE_SESSIONS private MediaSession.TransportControlsCallback mTransportListener = new MediaSession.TransportControlsCallback() { private MediaSession.Callback mTransportListener = new MediaSession.Callback() { @Override public void onSeekTo(long pos) { Loading
media/java/android/media/session/MediaController.java +2 −1 Original line number Diff line number Diff line Loading @@ -179,7 +179,8 @@ public final class MediaController { } /** * Get the current play queue for this session. * Get the current play queue for this session if one is set. If you only * care about the current item {@link #getMetadata()} should be used. * * @return The current play queue or null. */ Loading
media/java/android/media/session/MediaSession.java +150 −241 File changed.Preview size limit exceeded, changes collapsed. Show changes
media/java/android/media/session/MediaSessionLegacyHelper.java +92 −30 Original line number Diff line number Diff line Loading @@ -29,6 +29,9 @@ import android.media.AudioManager; import android.media.MediaMetadata; import android.media.MediaMetadataEditor; import android.media.MediaMetadataRetriever; import android.media.Rating; import android.media.RemoteControlClient; import android.media.RemoteControlClient.MetadataEditor; import android.os.Bundle; import android.os.Handler; import android.os.Looper; Loading Loading @@ -229,8 +232,7 @@ public class MediaSessionLegacyHelper { } } public void addRccListener(PendingIntent pi, MediaSession.TransportControlsCallback listener) { public void addRccListener(PendingIntent pi, MediaSession.Callback listener) { if (pi == null) { Log.w(TAG, "Pending intent was null, can't add rcc listener."); return; Loading @@ -247,10 +249,7 @@ public class MediaSessionLegacyHelper { // This is already the registered listener, ignore return; } // Otherwise it changed so we need to switch to the new one holder.mSession.removeTransportControlsCallback(holder.mRccListener); } holder.mSession.addTransportControlsCallback(listener, mHandler); holder.mRccListener = listener; holder.mFlags |= MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS; holder.mSession.setFlags(holder.mFlags); Loading @@ -266,7 +265,6 @@ public class MediaSessionLegacyHelper { } SessionHolder holder = getHolder(pi, false); if (holder != null && holder.mRccListener != null) { holder.mSession.removeTransportControlsCallback(holder.mRccListener); holder.mRccListener = null; holder.mFlags &= ~MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS; holder.mSession.setFlags(holder.mFlags); Loading @@ -288,8 +286,7 @@ public class MediaSessionLegacyHelper { return; } if (holder.mMediaButtonListener != null) { // Already have this listener registered, but update it anyway as // the extras may have changed. // Already have this listener registered if (DEBUG) { Log.d(TAG, "addMediaButtonListener already added " + pi); } Loading @@ -300,11 +297,8 @@ public class MediaSessionLegacyHelper { // set this flag holder.mFlags |= MediaSession.FLAG_HANDLES_MEDIA_BUTTONS; holder.mSession.setFlags(holder.mFlags); holder.mSession.addTransportControlsCallback(holder.mMediaButtonListener, mHandler); holder.mMediaButtonReceiver = new MediaButtonReceiver(pi, context); holder.mSession.addCallback(holder.mMediaButtonReceiver, mHandler); holder.mSession.setMediaButtonReceiver(pi); holder.update(); if (DEBUG) { Log.d(TAG, "addMediaButtonListener added " + pi); } Loading @@ -316,13 +310,10 @@ public class MediaSessionLegacyHelper { } SessionHolder holder = getHolder(pi, false); if (holder != null && holder.mMediaButtonListener != null) { holder.mSession.removeTransportControlsCallback(holder.mMediaButtonListener); holder.mFlags &= ~MediaSession.FLAG_HANDLES_MEDIA_BUTTONS; holder.mSession.setFlags(holder.mFlags); holder.mMediaButtonListener = null; holder.mSession.removeCallback(holder.mMediaButtonReceiver); holder.mMediaButtonReceiver = null; holder.update(); if (DEBUG) { Log.d(TAG, "removeMediaButtonListener removed " + pi); Loading Loading @@ -387,28 +378,19 @@ public class MediaSessionLegacyHelper { } } private static final class MediaButtonReceiver extends MediaSession.Callback { private static final class MediaButtonListener extends MediaSession.Callback { private final PendingIntent mPendingIntent; private final Context mContext; public MediaButtonReceiver(PendingIntent pi, Context context) { public MediaButtonListener(PendingIntent pi, Context context) { mPendingIntent = pi; mContext = context; } @Override public void onMediaButtonEvent(Intent mediaButtonIntent) { public boolean onMediaButtonEvent(Intent mediaButtonIntent) { MediaSessionLegacyHelper.sendKeyEvent(mPendingIntent, mContext, mediaButtonIntent); } } private static final class MediaButtonListener extends MediaSession.TransportControlsCallback { private final PendingIntent mPendingIntent; private final Context mContext; public MediaButtonListener(PendingIntent pi, Context context) { mPendingIntent = pi; mContext = context; return true; } @Override Loading Loading @@ -468,10 +450,11 @@ public class MediaSessionLegacyHelper { public final MediaSession mSession; public final PendingIntent mPi; public MediaButtonListener mMediaButtonListener; public MediaButtonReceiver mMediaButtonReceiver; public MediaSession.TransportControlsCallback mRccListener; public MediaSession.Callback mRccListener; public int mFlags; public SessionCallback mCb; public SessionHolder(MediaSession session, PendingIntent pi) { mSession = session; mPi = pi; Loading @@ -479,8 +462,87 @@ public class MediaSessionLegacyHelper { public void update() { if (mMediaButtonListener == null && mRccListener == null) { mSession.setCallback(null); mSession.release(); mCb = null; mSessions.remove(mPi); } else if (mCb == null) { mCb = new SessionCallback(); mSession.setCallback(mCb); } } private class SessionCallback extends MediaSession.Callback { @Override public boolean onMediaButtonEvent(Intent mediaButtonIntent) { if (mMediaButtonListener != null) { mMediaButtonListener.onMediaButtonEvent(mediaButtonIntent); } return true; } @Override public void onPlay() { if (mMediaButtonListener != null) { mMediaButtonListener.onPlay(); } } @Override public void onPause() { if (mMediaButtonListener != null) { mMediaButtonListener.onPause(); } } @Override public void onSkipToNext() { if (mMediaButtonListener != null) { mMediaButtonListener.onSkipToNext(); } } @Override public void onSkipToPrevious() { if (mMediaButtonListener != null) { mMediaButtonListener.onSkipToPrevious(); } } @Override public void onFastForward() { if (mMediaButtonListener != null) { mMediaButtonListener.onFastForward(); } } @Override public void onRewind() { if (mMediaButtonListener != null) { mMediaButtonListener.onRewind(); } } @Override public void onStop() { if (mMediaButtonListener != null) { mMediaButtonListener.onStop(); } } @Override public void onSeekTo(long pos) { if (mRccListener != null) { mRccListener.onSeekTo(pos); } } @Override public void onSetRating(Rating rating) { if (mRccListener != null) { mRccListener.onSetRating(rating); } } } } Loading