Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba110856 authored by Sungsoo Lim's avatar Sungsoo Lim
Browse files

MediaSession: Add methods for setting shuffle and repeat modes

Bug: 27317954
Change-Id: Ie83b25f40dd84e5b521a186077f23d343314201a
parent d5bd3838
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -22572,8 +22572,10 @@ package android.media.session {
    method public java.util.List<android.media.session.MediaSession.QueueItem> getQueue();
    method public java.lang.CharSequence getQueueTitle();
    method public int getRatingType();
    method public int getRepeatMode();
    method public android.app.PendingIntent getSessionActivity();
    method public android.media.session.MediaSession.Token getSessionToken();
    method public boolean getShuffleMode();
    method public android.media.session.MediaController.TransportControls getTransportControls();
    method public void registerCallback(android.media.session.MediaController.Callback);
    method public void registerCallback(android.media.session.MediaController.Callback, android.os.Handler);
@@ -22590,8 +22592,10 @@ package android.media.session {
    method public void onPlaybackStateChanged(android.media.session.PlaybackState);
    method public void onQueueChanged(java.util.List<android.media.session.MediaSession.QueueItem>);
    method public void onQueueTitleChanged(java.lang.CharSequence);
    method public void onRepeatModeChanged(int);
    method public void onSessionDestroyed();
    method public void onSessionEvent(java.lang.String, android.os.Bundle);
    method public void onShuffleModeChanged(boolean);
  }
  public static final class MediaController.PlaybackInfo {
@@ -22620,6 +22624,8 @@ package android.media.session {
    method public void sendCustomAction(android.media.session.PlaybackState.CustomAction, android.os.Bundle);
    method public void sendCustomAction(java.lang.String, android.os.Bundle);
    method public void setRating(android.media.Rating);
    method public void setRepeatMode(int);
    method public void setShuffleMode(boolean);
    method public void skipToNext();
    method public void skipToPrevious();
    method public void skipToQueueItem(long);
@@ -22646,7 +22652,9 @@ package android.media.session {
    method public void setQueue(java.util.List<android.media.session.MediaSession.QueueItem>);
    method public void setQueueTitle(java.lang.CharSequence);
    method public void setRatingType(int);
    method public void setRepeatMode(int);
    method public void setSessionActivity(android.app.PendingIntent);
    method public void setShuffleMode(boolean);
    field public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
    field public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
  }
@@ -22669,6 +22677,8 @@ package android.media.session {
    method public void onRewind();
    method public void onSeekTo(long);
    method public void onSetRating(android.media.Rating);
    method public void onSetRepeatMode(int);
    method public void onSetShuffleMode(boolean);
    method public void onSkipToNext();
    method public void onSkipToPrevious();
    method public void onSkipToQueueItem(long);
@@ -22729,12 +22739,17 @@ package android.media.session {
    field public static final long ACTION_REWIND = 8L; // 0x8L
    field public static final long ACTION_SEEK_TO = 256L; // 0x100L
    field public static final long ACTION_SET_RATING = 128L; // 0x80L
    field public static final long ACTION_SET_REPEAT_MODE = 262144L; // 0x40000L
    field public static final long ACTION_SET_SHUFFLE_MODE = 524288L; // 0x80000L
    field public static final long ACTION_SKIP_TO_NEXT = 32L; // 0x20L
    field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L
    field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
    field public static final long ACTION_STOP = 1L; // 0x1L
    field public static final android.os.Parcelable.Creator<android.media.session.PlaybackState> CREATOR;
    field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
    field public static final int REPEAT_MODE_ALL = 2; // 0x2
    field public static final int REPEAT_MODE_NONE = 0; // 0x0
    field public static final int REPEAT_MODE_ONE = 1; // 0x1
    field public static final int STATE_BUFFERING = 6; // 0x6
    field public static final int STATE_CONNECTING = 8; // 0x8
    field public static final int STATE_ERROR = 7; // 0x7
+15 −0
Original line number Diff line number Diff line
@@ -24158,8 +24158,10 @@ package android.media.session {
    method public java.util.List<android.media.session.MediaSession.QueueItem> getQueue();
    method public java.lang.CharSequence getQueueTitle();
    method public int getRatingType();
    method public int getRepeatMode();
    method public android.app.PendingIntent getSessionActivity();
    method public android.media.session.MediaSession.Token getSessionToken();
    method public boolean getShuffleMode();
    method public android.media.session.MediaController.TransportControls getTransportControls();
    method public void registerCallback(android.media.session.MediaController.Callback);
    method public void registerCallback(android.media.session.MediaController.Callback, android.os.Handler);
@@ -24176,8 +24178,10 @@ package android.media.session {
    method public void onPlaybackStateChanged(android.media.session.PlaybackState);
    method public void onQueueChanged(java.util.List<android.media.session.MediaSession.QueueItem>);
    method public void onQueueTitleChanged(java.lang.CharSequence);
    method public void onRepeatModeChanged(int);
    method public void onSessionDestroyed();
    method public void onSessionEvent(java.lang.String, android.os.Bundle);
    method public void onShuffleModeChanged(boolean);
  }
  public static final class MediaController.PlaybackInfo {
@@ -24206,6 +24210,8 @@ package android.media.session {
    method public void sendCustomAction(android.media.session.PlaybackState.CustomAction, android.os.Bundle);
    method public void sendCustomAction(java.lang.String, android.os.Bundle);
    method public void setRating(android.media.Rating);
    method public void setRepeatMode(int);
    method public void setShuffleMode(boolean);
    method public void skipToNext();
    method public void skipToPrevious();
    method public void skipToQueueItem(long);
@@ -24232,7 +24238,9 @@ package android.media.session {
    method public void setQueue(java.util.List<android.media.session.MediaSession.QueueItem>);
    method public void setQueueTitle(java.lang.CharSequence);
    method public void setRatingType(int);
    method public void setRepeatMode(int);
    method public void setSessionActivity(android.app.PendingIntent);
    method public void setShuffleMode(boolean);
    field public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
    field public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
  }
@@ -24255,6 +24263,8 @@ package android.media.session {
    method public void onRewind();
    method public void onSeekTo(long);
    method public void onSetRating(android.media.Rating);
    method public void onSetRepeatMode(int);
    method public void onSetShuffleMode(boolean);
    method public void onSkipToNext();
    method public void onSkipToPrevious();
    method public void onSkipToQueueItem(long);
@@ -24315,12 +24325,17 @@ package android.media.session {
    field public static final long ACTION_REWIND = 8L; // 0x8L
    field public static final long ACTION_SEEK_TO = 256L; // 0x100L
    field public static final long ACTION_SET_RATING = 128L; // 0x80L
    field public static final long ACTION_SET_REPEAT_MODE = 262144L; // 0x40000L
    field public static final long ACTION_SET_SHUFFLE_MODE = 524288L; // 0x80000L
    field public static final long ACTION_SKIP_TO_NEXT = 32L; // 0x20L
    field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L
    field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
    field public static final long ACTION_STOP = 1L; // 0x1L
    field public static final android.os.Parcelable.Creator<android.media.session.PlaybackState> CREATOR;
    field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
    field public static final int REPEAT_MODE_ALL = 2; // 0x2
    field public static final int REPEAT_MODE_NONE = 0; // 0x0
    field public static final int REPEAT_MODE_ONE = 1; // 0x1
    field public static final int STATE_BUFFERING = 6; // 0x6
    field public static final int STATE_CONNECTING = 8; // 0x8
    field public static final int STATE_ERROR = 7; // 0x7
+15 −0
Original line number Diff line number Diff line
@@ -22642,8 +22642,10 @@ package android.media.session {
    method public java.util.List<android.media.session.MediaSession.QueueItem> getQueue();
    method public java.lang.CharSequence getQueueTitle();
    method public int getRatingType();
    method public int getRepeatMode();
    method public android.app.PendingIntent getSessionActivity();
    method public android.media.session.MediaSession.Token getSessionToken();
    method public boolean getShuffleMode();
    method public android.media.session.MediaController.TransportControls getTransportControls();
    method public void registerCallback(android.media.session.MediaController.Callback);
    method public void registerCallback(android.media.session.MediaController.Callback, android.os.Handler);
@@ -22660,8 +22662,10 @@ package android.media.session {
    method public void onPlaybackStateChanged(android.media.session.PlaybackState);
    method public void onQueueChanged(java.util.List<android.media.session.MediaSession.QueueItem>);
    method public void onQueueTitleChanged(java.lang.CharSequence);
    method public void onRepeatModeChanged(int);
    method public void onSessionDestroyed();
    method public void onSessionEvent(java.lang.String, android.os.Bundle);
    method public void onShuffleModeChanged(boolean);
  }
  public static final class MediaController.PlaybackInfo {
@@ -22690,6 +22694,8 @@ package android.media.session {
    method public void sendCustomAction(android.media.session.PlaybackState.CustomAction, android.os.Bundle);
    method public void sendCustomAction(java.lang.String, android.os.Bundle);
    method public void setRating(android.media.Rating);
    method public void setRepeatMode(int);
    method public void setShuffleMode(boolean);
    method public void skipToNext();
    method public void skipToPrevious();
    method public void skipToQueueItem(long);
@@ -22716,7 +22722,9 @@ package android.media.session {
    method public void setQueue(java.util.List<android.media.session.MediaSession.QueueItem>);
    method public void setQueueTitle(java.lang.CharSequence);
    method public void setRatingType(int);
    method public void setRepeatMode(int);
    method public void setSessionActivity(android.app.PendingIntent);
    method public void setShuffleMode(boolean);
    field public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
    field public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
  }
@@ -22739,6 +22747,8 @@ package android.media.session {
    method public void onRewind();
    method public void onSeekTo(long);
    method public void onSetRating(android.media.Rating);
    method public void onSetRepeatMode(int);
    method public void onSetShuffleMode(boolean);
    method public void onSkipToNext();
    method public void onSkipToPrevious();
    method public void onSkipToQueueItem(long);
@@ -22799,12 +22809,17 @@ package android.media.session {
    field public static final long ACTION_REWIND = 8L; // 0x8L
    field public static final long ACTION_SEEK_TO = 256L; // 0x100L
    field public static final long ACTION_SET_RATING = 128L; // 0x80L
    field public static final long ACTION_SET_REPEAT_MODE = 262144L; // 0x40000L
    field public static final long ACTION_SET_SHUFFLE_MODE = 524288L; // 0x80000L
    field public static final long ACTION_SKIP_TO_NEXT = 32L; // 0x20L
    field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L
    field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
    field public static final long ACTION_STOP = 1L; // 0x1L
    field public static final android.os.Parcelable.Creator<android.media.session.PlaybackState> CREATOR;
    field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
    field public static final int REPEAT_MODE_ALL = 2; // 0x2
    field public static final int REPEAT_MODE_NONE = 0; // 0x0
    field public static final int REPEAT_MODE_ONE = 1; // 0x1
    field public static final int STATE_BUFFERING = 6; // 0x6
    field public static final int STATE_CONNECTING = 8; // 0x8
    field public static final int STATE_ERROR = 7; // 0x7
+12 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ public class Media extends BaseCommand {
        (new Media()).run(args);
    }

    @Override
    public void onShowUsage(PrintStream out) {
        out.println(
                "usage: media [subcommand] [options]\n" +
@@ -73,6 +74,7 @@ public class Media extends BaseCommand {
        );
    }

    @Override
    public void onRun() throws Exception {
        mSessionService = ISessionManager.Stub.asInterface(ServiceManager.checkService(
                Context.MEDIA_SESSION_SERVICE));
@@ -222,6 +224,16 @@ public class Media extends BaseCommand {
            System.out.println("onVolumeInfoChanged " + info);
        }

        @Override
        public void onRepeatModeChanged(int repeatMode) throws RemoteException {
            System.out.println("onRepeatModeChanged " + repeatMode);
        }

        @Override
        public void onShuffleModeChanged(boolean shuffleMode) throws RemoteException {
            System.out.println("onShuffleModeChanged " + shuffleMode);
        }

        void printUsageMessage() {
            try {
                System.out.println("V2Monitoring session " + mController.getTag()
+2 −0
Original line number Diff line number Diff line
@@ -45,6 +45,8 @@ interface ISession {
    void setQueueTitle(CharSequence title);
    void setExtras(in Bundle extras);
    void setRatingType(int type);
    void setRepeatMode(int repeatMode);
    void setShuffleMode(boolean shuffleMode);

    // These commands relate to volume handling
    void setPlaybackToLocal(in AudioAttributes attributes);
Loading