Skip to content

Commit 477d119

Browse files
committed
Combine MediaSession Callback and TransportControlsCallback
This combines them into a single Callback class and adds default handling to media buttons to check the available actions and call one of the other methods if appropriate. Change-Id: If9897d8cf6d8d8046aa85a646c22382f1db1461b
1 parent 217e8a2 commit 477d119

7 files changed

Lines changed: 280 additions & 334 deletions

File tree

api/current.txt

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16717,18 +16717,14 @@ package android.media.session {
1671716717

1671816718
public final class MediaSession {
1671916719
ctor public MediaSession(android.content.Context, java.lang.String);
16720-
method public void addCallback(android.media.session.MediaSession.Callback);
16721-
method public void addCallback(android.media.session.MediaSession.Callback, android.os.Handler);
16722-
method public void addTransportControlsCallback(android.media.session.MediaSession.TransportControlsCallback);
16723-
method public void addTransportControlsCallback(android.media.session.MediaSession.TransportControlsCallback, android.os.Handler);
1672416720
method public android.media.session.MediaController getController();
1672516721
method public android.media.session.MediaSession.Token getSessionToken();
1672616722
method public boolean isActive();
1672716723
method public void release();
16728-
method public void removeCallback(android.media.session.MediaSession.Callback);
16729-
method public void removeTransportControlsCallback(android.media.session.MediaSession.TransportControlsCallback);
1673016724
method public void sendSessionEvent(java.lang.String, android.os.Bundle);
1673116725
method public void setActive(boolean);
16726+
method public void setCallback(android.media.session.MediaSession.Callback);
16727+
method public void setCallback(android.media.session.MediaSession.Callback, android.os.Handler);
1673216728
method public void setExtras(android.os.Bundle);
1673316729
method public void setFlags(int);
1673416730
method public void setLaunchActivity(android.app.PendingIntent);
@@ -16749,7 +16745,20 @@ package android.media.session {
1674916745
public static abstract class MediaSession.Callback {
1675016746
ctor public MediaSession.Callback();
1675116747
method public void onCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver);
16752-
method public void onMediaButtonEvent(android.content.Intent);
16748+
method public void onCustomAction(java.lang.String, android.os.Bundle);
16749+
method public void onFastForward();
16750+
method public boolean onMediaButtonEvent(android.content.Intent);
16751+
method public void onPause();
16752+
method public void onPlay();
16753+
method public void onPlayFromSearch(java.lang.String, android.os.Bundle);
16754+
method public void onPlayUri(android.net.Uri, android.os.Bundle);
16755+
method public void onRewind();
16756+
method public void onSeekTo(long);
16757+
method public void onSetRating(android.media.Rating);
16758+
method public void onSkipToNext();
16759+
method public void onSkipToPrevious();
16760+
method public void onSkipToTrack(long);
16761+
method public void onStop();
1675316762
}
1675416763

1675516764
public static final class MediaSession.Token implements android.os.Parcelable {
@@ -16775,23 +16784,6 @@ package android.media.session {
1677516784
method public android.media.session.MediaSession.Track.Builder setExtras(android.os.Bundle);
1677616785
}
1677716786

16778-
public static abstract class MediaSession.TransportControlsCallback {
16779-
ctor public MediaSession.TransportControlsCallback();
16780-
method public void onCustomAction(java.lang.String, android.os.Bundle);
16781-
method public void onFastForward();
16782-
method public void onPause();
16783-
method public void onPlay();
16784-
method public void onPlayFromSearch(java.lang.String, android.os.Bundle);
16785-
method public void onPlayUri(android.net.Uri, android.os.Bundle);
16786-
method public void onRewind();
16787-
method public void onSeekTo(long);
16788-
method public void onSetRating(android.media.Rating);
16789-
method public void onSkipToNext();
16790-
method public void onSkipToPrevious();
16791-
method public void onSkipToTrack(long);
16792-
method public void onStop();
16793-
}
16794-
1679516787
public final class MediaSessionManager {
1679616788
method public void addActiveSessionsListener(android.media.session.MediaSessionManager.SessionListener, android.content.ComponentName);
1679716789
method public java.util.List<android.media.session.MediaController> getActiveSessions(android.content.ComponentName);

media/java/android/media/RemoteControlClient.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -970,8 +970,7 @@ public PendingIntent getRcMediaIntent() {
970970
public final static int RCSE_ID_UNREGISTERED = -1;
971971

972972
// USE_SESSIONS
973-
private MediaSession.TransportControlsCallback mTransportListener
974-
= new MediaSession.TransportControlsCallback() {
973+
private MediaSession.Callback mTransportListener = new MediaSession.Callback() {
975974

976975
@Override
977976
public void onSeekTo(long pos) {

media/java/android/media/session/MediaController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,8 @@ public boolean dispatchMediaButtonEvent(@NonNull KeyEvent keyEvent) {
179179
}
180180

181181
/**
182-
* Get the current play queue for this session.
182+
* Get the current play queue for this session if one is set. If you only
183+
* care about the current item {@link #getMetadata()} should be used.
183184
*
184185
* @return The current play queue or null.
185186
*/

0 commit comments

Comments
 (0)