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

Commit b8cb6518 authored by Gabriel Peal's avatar Gabriel Peal Committed by Android (Google) Code Review
Browse files

Merge changes I925c8738,I1a8ad5c2 into lmp-dev

* changes:
  Added Action to PlaybackState
  Added QueueState, playUri, and playFromSearch.
parents c827f813 f364f944
Loading
Loading
Loading
Loading
+58 −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,16 @@ 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 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 skipToNext();
    method public void skipToPrevious();
    method public void skipToTrack(long);
    method public void stop();
  }
@@ -16616,6 +16625,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 +16633,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 +16643,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 +16653,37 @@ 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 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();
  }
@@ -16668,6 +16701,7 @@ package android.media.session {
    method public int describeContents();
    method public long getActions();
    method public long getBufferPosition();
    method public java.util.List<android.media.session.PlaybackState.CustomAction> getCustomActions();
    method public java.lang.CharSequence getErrorMessage();
    method public long getLastPositionUpdateTime();
    method public float getPlaybackSpeed();
@@ -16677,12 +16711,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
@@ -16702,14 +16739,33 @@ package android.media.session {
  public static final class PlaybackState.Builder {
    ctor public PlaybackState.Builder();
    ctor public PlaybackState.Builder(android.media.session.PlaybackState);
    method public android.media.session.PlaybackState.Builder addCustomAction(java.lang.String, java.lang.String, int);
    method public android.media.session.PlaybackState.Builder addCustomAction(android.media.session.PlaybackState.CustomAction);
    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);
    method public android.media.session.PlaybackState.Builder setState(int, long, float);
  }
  public static final class PlaybackState.CustomAction implements android.os.Parcelable {
    method public int describeContents();
    method public java.lang.String getAction();
    method public android.os.Bundle getExtras();
    method public int getIcon();
    method public java.lang.CharSequence getName();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator CREATOR;
  }
  public static final class PlaybackState.CustomAction.Builder {
    ctor public PlaybackState.CustomAction.Builder(java.lang.String, java.lang.CharSequence, int);
    method public android.media.session.PlaybackState.CustomAction build();
    method public android.media.session.PlaybackState.CustomAction.Builder setExtras(android.os.Bundle);
  }
}
package android.media.tv {
+2 −9
Original line number Diff line number Diff line
@@ -18,28 +18,20 @@ package android.media;

import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.media.session.MediaSessionLegacyHelper;
import android.media.session.PlaybackState;
import android.media.session.MediaSession;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemClock;
import android.util.Log;

import java.lang.IllegalArgumentException;
import java.util.ArrayList;
import java.util.Iterator;

/**
 * RemoteControlClient enables exposing information meant to be consumed by remote controls
@@ -754,7 +746,8 @@ import java.util.Iterator;
            // USE_SESSIONS
            if (mSession != null) {
                PlaybackState.Builder bob = new PlaybackState.Builder(mSessionPlaybackState);
                bob.setActions(PlaybackState.getActionsFromRccControlFlags(transportControlFlags));
                bob.setActions(
                        PlaybackState.getActionsFromRccControlFlags(transportControlFlags));
                mSessionPlaybackState = bob.build();
                mSession.setPlaybackState(mSessionPlaybackState);
            }
+2 −4
Original line number Diff line number Diff line
@@ -23,8 +23,6 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.media.IRemoteControlDisplay;
import android.media.MediaMetadataEditor;
import android.media.session.MediaController;
import android.media.session.MediaSession;
import android.media.session.MediaSessionLegacyHelper;
@@ -1025,8 +1023,8 @@ import java.util.List;
                        state.getPosition(), state.getPlaybackSpeed());
            }
            if (state != null) {
                l.onClientTransportControlUpdate(PlaybackState.getRccControlFlagsFromActions(state
                        .getActions()));
                l.onClientTransportControlUpdate(
                        PlaybackState.getRccControlFlagsFromActions(state.getActions()));
            }
        }
    }
+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
+6 −1
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;

@@ -24,11 +25,14 @@ import android.os.ResultReceiver;
 * @hide
 */
oneway interface ISessionCallback {
    void onCommand(String command, in Bundle extras, in ResultReceiver cb);
    void onCommand(String command, in Bundle args, in ResultReceiver cb);
    void onMediaButton(in Intent mediaButtonIntent, int sequenceNumber, in ResultReceiver cb);

    // 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();
@@ -37,6 +41,7 @@ oneway interface ISessionCallback {
    void onRewind();
    void onSeekTo(long pos);
    void onRate(in Rating rating);
    void onCustomAction(String action, in Bundle args);

    // These callbacks are for volume handling
    void onAdjustVolume(int direction);
Loading