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

Commit f0593bc1 authored by Gabriel Peal's avatar Gabriel Peal
Browse files

Added QueueState, playUri, and playFromSearch.

Added QueueState to MediaSession/MediaController
Added play(Uri) and playFromSearch(String) to MediaController.TransportControls

Change-Id: I1a8ad5c22d05015ab6ff5700dc8a758455f1d89b
parent ec9c4126
Loading
Loading
Loading
Loading
+36 −2
Original line number Diff line number Diff line
@@ -16567,18 +16567,22 @@ package android.media.session {
    method public boolean dispatchMediaButtonEvent(android.view.KeyEvent);
    method public android.media.MediaMetadata getMetadata();
    method public android.media.session.PlaybackState getPlaybackState();
    method public java.util.List<android.media.session.MediaSession.Track> getQueue();
    method public int getRatingType();
    method public android.media.session.MediaController.TransportControls getTransportControls();
    method public android.media.session.MediaController.VolumeInfo getVolumeInfo();
    method public void removeCallback(android.media.session.MediaController.Callback);
    method public void sendControlCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver);
    method public void sendCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver);
    method public void setVolumeTo(int, int);
  }
  public static abstract class MediaController.Callback {
    ctor public MediaController.Callback();
    method public void onExtrasChanged(android.os.Bundle);
    method public void onMetadataChanged(android.media.MediaMetadata);
    method public void onPlaybackStateChanged(android.media.session.PlaybackState);
    method public void onQueueChanged(java.util.List<android.media.session.MediaSession.Track>);
    method public void onQueueTitleChanged(java.lang.CharSequence);
    method public void onSessionEvent(java.lang.String, android.os.Bundle);
    method public void onVolumeInfoChanged(android.media.session.MediaController.VolumeInfo);
  }
@@ -16587,11 +16591,14 @@ package android.media.session {
    method public void fastForward();
    method public void pause();
    method public void play();
    method public void playFromSearch(java.lang.String, android.os.Bundle);
    method public void playUri(android.net.Uri, android.os.Bundle);
    method public void rewind();
    method public void seekTo(long);
    method public void setRating(android.media.Rating);
    method public void skipToNext();
    method public void skipToPrevious();
    method public void skipToTrack(long);
    method public void stop();
  }
@@ -16616,6 +16623,7 @@ package android.media.session {
    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 setExtras(android.os.Bundle);
    method public void setFlags(int);
    method public void setLaunchPendingIntent(android.app.PendingIntent);
    method public void setMediaRouter(android.media.routing.MediaRouter);
@@ -16623,6 +16631,8 @@ package android.media.session {
    method public void setPlaybackState(android.media.session.PlaybackState);
    method public void setPlaybackToLocal(android.media.AudioAttributes);
    method public void setPlaybackToRemote(android.media.VolumeProvider);
    method public void setQueue(java.util.List<android.media.session.MediaSession.Track>);
    method public void setQueueTitle(java.lang.CharSequence);
    field public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
    field public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
    field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1
@@ -16631,7 +16641,7 @@ package android.media.session {
  public static abstract class MediaSession.Callback {
    ctor public MediaSession.Callback();
    method public void onControlCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver);
    method public void onCommand(java.lang.String, android.os.Bundle, android.os.ResultReceiver);
    method public void onMediaButtonEvent(android.content.Intent);
  }
@@ -16641,16 +16651,36 @@ package android.media.session {
    field public static final android.os.Parcelable.Creator CREATOR;
  }
  public static final class MediaSession.Track implements android.os.Parcelable {
    method public int describeContents();
    method public android.os.Bundle getExtras();
    method public long getId();
    method public android.media.MediaMetadata getMetadata();
    method public android.net.Uri getUri();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator CREATOR;
    field public static final int UNKNOWN_ID = -1; // 0xffffffff
  }
  public static final class MediaSession.Track.Builder {
    ctor public MediaSession.Track.Builder(android.media.MediaMetadata, long, android.net.Uri);
    method public android.media.session.MediaSession.Track build();
    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 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();
  }
@@ -16677,12 +16707,15 @@ package android.media.session {
    field public static final long ACTION_FAST_FORWARD = 64L; // 0x40L
    field public static final long ACTION_PAUSE = 2L; // 0x2L
    field public static final long ACTION_PLAY = 4L; // 0x4L
    field public static final long ACTION_PLAY_FROM_SEARCH = 2048L; // 0x800L
    field public static final long ACTION_PLAY_PAUSE = 512L; // 0x200L
    field public static final long ACTION_PLAY_URI = 1024L; // 0x400L
    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_SKIP_TO_NEXT = 32L; // 0x20L
    field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L
    field public static final long ACTION_SKIP_TO_TRACK = 4096L; // 0x1000L
    field public static final long ACTION_STOP = 1L; // 0x1L
    field public static final android.os.Parcelable.Creator CREATOR;
    field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
@@ -16704,6 +16737,7 @@ package android.media.session {
    ctor public PlaybackState.Builder(android.media.session.PlaybackState);
    method public android.media.session.PlaybackState build();
    method public android.media.session.PlaybackState.Builder setActions(long);
    method public android.media.session.PlaybackState.Builder setActiveTrack(long);
    method public android.media.session.PlaybackState.Builder setBufferPosition(long);
    method public android.media.session.PlaybackState.Builder setErrorMessage(java.lang.CharSequence);
    method public android.media.session.PlaybackState.Builder setState(int, long, float, long);
+5 −0
Original line number Diff line number Diff line
@@ -16,11 +16,13 @@
package android.media.session;

import android.content.ComponentName;
import android.content.pm.ParceledListSlice;
import android.media.AudioAttributes;
import android.media.MediaMetadata;
import android.media.routing.IMediaRouter;
import android.media.session.ISessionController;
import android.media.session.PlaybackState;
import android.media.session.MediaSession;
import android.os.Bundle;
import android.os.ResultReceiver;

@@ -40,6 +42,9 @@ interface ISession {
    // These commands are for the TransportPerformer
    void setMetadata(in MediaMetadata metadata);
    void setPlaybackState(in PlaybackState state);
    void setQueue(in ParceledListSlice queue);
    void setQueueTitle(CharSequence title);
    void setExtras(in Bundle extras);
    void setRatingType(int type);

    // These commands relate to volume handling
+4 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ package android.media.session;

import android.media.Rating;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.ResultReceiver;

@@ -29,6 +30,9 @@ oneway interface ISessionCallback {

    // These callbacks are for the TransportPerformer
    void onPlay();
    void onPlayUri(in Uri uri, in Bundle extras);
    void onPlayFromSearch(String query, in Bundle extras);
    void onSkipToTrack(long id);
    void onPause();
    void onStop();
    void onNext();
+11 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
package android.media.session;

import android.content.Intent;
import android.content.pm.ParceledListSlice;
import android.media.MediaMetadata;
import android.media.Rating;
import android.media.routing.IMediaRouterDelegate;
@@ -24,10 +25,14 @@ import android.media.session.ISessionControllerCallback;
import android.media.session.MediaSessionInfo;
import android.media.session.ParcelableVolumeInfo;
import android.media.session.PlaybackState;
import android.media.session.MediaSession;
import android.net.Uri;
import android.os.Bundle;
import android.os.ResultReceiver;
import android.view.KeyEvent;

import java.util.List;

/**
 * Interface to a MediaSession in the system.
 * @hide
@@ -48,6 +53,9 @@ interface ISessionController {

    // These commands are for the TransportControls
    void play();
    void playUri(in Uri uri, in Bundle extras);
    void playFromSearch(String string, in Bundle extras);
    void skipToTrack(long id);
    void pause();
    void stop();
    void next();
@@ -58,5 +66,8 @@ interface ISessionController {
    void rate(in Rating rating);
    MediaMetadata getMetadata();
    PlaybackState getPlaybackState();
    ParceledListSlice getQueue();
    CharSequence getQueueTitle();
    Bundle getExtras();
    int getRatingType();
}
+5 −0
Original line number Diff line number Diff line
@@ -15,9 +15,11 @@

package android.media.session;

import android.content.pm.ParceledListSlice;
import android.media.MediaMetadata;
import android.media.session.ParcelableVolumeInfo;
import android.media.session.PlaybackState;
import android.media.session.MediaSession;
import android.os.Bundle;

/**
@@ -29,5 +31,8 @@ oneway interface ISessionControllerCallback {
    // These callbacks are for the TransportController
    void onPlaybackStateChanged(in PlaybackState state);
    void onMetadataChanged(in MediaMetadata metadata);
    void onQueueChanged(in ParceledListSlice queue);
    void onQueueTitleChanged(CharSequence title);
    void onExtrasChanged(in Bundle extras);
    void onVolumeInfoChanged(in ParcelableVolumeInfo info);
}
Loading