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

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

Added Action to PlaybackState

Added the ability to discover MediaBrowsers

Change-Id: I925c8738ac73afd0bee3dada2ee7ff2d5047e63f
parent f0593bc1
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -16595,6 +16595,8 @@ package android.media.session {
    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();
@@ -16670,6 +16672,7 @@ package android.media.session {
  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();
@@ -16698,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();
@@ -16735,6 +16739,8 @@ 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);
@@ -16744,6 +16750,22 @@ package android.media.session {
    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()));
            }
        }
    }
+2 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ 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
@@ -41,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);
+2 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ import java.util.List;
 * @hide
 */
interface ISessionController {
    void sendCommand(String command, in Bundle extras, in ResultReceiver cb);
    void sendCommand(String command, in Bundle args, in ResultReceiver cb);
    boolean sendMediaButton(in KeyEvent mediaButton);
    void registerCallbackListener(in ISessionControllerCallback cb);
    void unregisterCallbackListener(in ISessionControllerCallback cb);
@@ -64,6 +64,7 @@ interface ISessionController {
    void rewind();
    void seekTo(long pos);
    void rate(in Rating rating);
    void sendCustomAction(String action, in Bundle args);
    MediaMetadata getMetadata();
    PlaybackState getPlaybackState();
    ParceledListSlice getQueue();
Loading