Example usage for android.support.v4.media.session PlaybackStateCompat ACTION_SET_RATING

List of usage examples for android.support.v4.media.session PlaybackStateCompat ACTION_SET_RATING

Introduction

In this page you can find the example usage for android.support.v4.media.session PlaybackStateCompat ACTION_SET_RATING.

Prototype

long ACTION_SET_RATING

To view the source code for android.support.v4.media.session PlaybackStateCompat ACTION_SET_RATING.

Click Source Link

Document

Indicates this session supports the set rating command.

Usage

From source file:com.wojtechnology.sunami.MediaSessionCompatHelper.java

private static void ensureTransportControls(MediaSessionCompat session, PlaybackStateCompat playbackState) {
    long actions = playbackState.getActions();
    Object remoteObj = session.getRemoteControlClient();
    if (actions != 0 && remoteObj != null) {

        int transportControls = 0;

        if ((actions & PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS) != 0) {
            transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS;
        }//from  w  ww . j a  va2  s .  c o  m

        if ((actions & PlaybackStateCompat.ACTION_REWIND) != 0) {
            transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_REWIND;
        }

        if ((actions & PlaybackStateCompat.ACTION_PLAY) != 0) {
            transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_PLAY;
        }

        if ((actions & PlaybackStateCompat.ACTION_PLAY_PAUSE) != 0) {
            transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE;
        }

        if ((actions & PlaybackStateCompat.ACTION_PAUSE) != 0) {
            transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_PAUSE;
        }

        if ((actions & PlaybackStateCompat.ACTION_STOP) != 0) {
            transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_STOP;
        }

        if ((actions & PlaybackStateCompat.ACTION_FAST_FORWARD) != 0) {
            transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_FAST_FORWARD;
        }

        if ((actions & PlaybackStateCompat.ACTION_SKIP_TO_NEXT) != 0) {
            transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_NEXT;
        }

        if ((actions & PlaybackStateCompat.ACTION_SEEK_TO) != 0) {
            transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_POSITION_UPDATE;
        }

        if ((actions & PlaybackStateCompat.ACTION_SET_RATING) != 0) {
            transportControls |= RemoteControlClient.FLAG_KEY_MEDIA_RATING;
        }

        ((RemoteControlClient) remoteObj).setTransportControlFlags(transportControls);
    }
}

From source file:androidx.media.MediaSession2ImplBase.java

@Override
PlaybackStateCompat getPlaybackStateCompat() {
    synchronized (mLock) {
        int state = MediaUtils2.createPlaybackStateCompatState(getPlayerState(), getBufferingState());
        // TODO: Consider following missing stuff
        //       - setCustomAction(): Fill custom layout
        //       - setErrorMessage(): Fill error message when notifyError() is called.
        //       - setActiveQueueItemId(): Fill here with the current media item...
        //       - setExtra(): No idea at this moment.
        // TODO: generate actions from the allowed commands.
        long allActions = PlaybackStateCompat.ACTION_STOP | PlaybackStateCompat.ACTION_PAUSE
                | PlaybackStateCompat.ACTION_PLAY | PlaybackStateCompat.ACTION_REWIND
                | PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS | PlaybackStateCompat.ACTION_SKIP_TO_NEXT
                | PlaybackStateCompat.ACTION_FAST_FORWARD | PlaybackStateCompat.ACTION_SET_RATING
                | PlaybackStateCompat.ACTION_SEEK_TO | PlaybackStateCompat.ACTION_PLAY_PAUSE
                | PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID | PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH
                | PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM | PlaybackStateCompat.ACTION_PLAY_FROM_URI
                | PlaybackStateCompat.ACTION_PREPARE | PlaybackStateCompat.ACTION_PREPARE_FROM_MEDIA_ID
                | PlaybackStateCompat.ACTION_PREPARE_FROM_SEARCH | PlaybackStateCompat.ACTION_PREPARE_FROM_URI
                | PlaybackStateCompat.ACTION_SET_REPEAT_MODE | PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE
                | PlaybackStateCompat.ACTION_SET_CAPTIONING_ENABLED;
        return new PlaybackStateCompat.Builder().setState(state, getCurrentPosition(), getPlaybackSpeed())
                .setActions(allActions).setBufferedPosition(getBufferedPosition()).build();
    }/*  w w  w . j a  v  a  2s . c  o  m*/
}

From source file:org.runbuddy.tomahawk.services.PlaybackService.java

private void updateMediaPlayState() {
    if (mMediaSession == null) {
        Log.e(TAG, "updateMediaPlayState failed - mMediaSession == null!");
        return;/*from ww  w.  j  a v a2s.  c om*/
    }
    long actions = 0L;
    if (mPlaybackManager.getCurrentQuery() != null) {
        actions |= PlaybackStateCompat.ACTION_SET_RATING;
    }
    if (mPlayState == PlaybackStateCompat.STATE_PLAYING) {
        actions |= PlaybackStateCompat.ACTION_PAUSE | PlaybackStateCompat.ACTION_SEEK_TO
                | PlaybackStateCompat.ACTION_FAST_FORWARD | PlaybackStateCompat.ACTION_REWIND;
    } else {
        actions |= PlaybackStateCompat.ACTION_PLAY;
    }
    if (mPlaybackManager.hasNextEntry()) {
        actions |= PlaybackStateCompat.ACTION_SKIP_TO_NEXT;
    }
    if (mPlaybackManager.hasPreviousEntry()) {
        actions |= PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS;
    }
    Log.d(TAG, "updateMediaPlayState()");
    Bundle extras = new Bundle();
    extras.putInt(EXTRAS_KEY_REPEAT_MODE, mPlaybackManager.getRepeatMode());
    extras.putInt(EXTRAS_KEY_SHUFFLE_MODE, mPlaybackManager.getShuffleMode());
    int playState = mIsPreparing ? PlaybackStateCompat.STATE_BUFFERING : mPlayState;
    PlaybackStateCompat playbackStateCompat = new PlaybackStateCompat.Builder().setActions(actions)
            .setState(playState, getPlaybackPosition(), 1f, SystemClock.elapsedRealtime()).setExtras(extras)
            .build();
    mMediaSession.setPlaybackState(playbackStateCompat);
}