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

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

Introduction

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

Prototype

int STATE_ERROR

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

Click Source Link

Document

State indicating this item is currently in an error state.

Usage

From source file:com.doctoror.fuckoffmusicplayer.data.reporter.MediaSessionPlaybackReporter.java

@PlaybackStateCompat.State
private static int toPlaybackStateCompat(@NonNull final PlaybackState state) {
    switch (state) {
    case STATE_LOADING:
        return PlaybackStateCompat.STATE_BUFFERING;

    case STATE_PLAYING:
        return PlaybackStateCompat.STATE_PLAYING;

    case STATE_PAUSED:
        return PlaybackStateCompat.STATE_PAUSED;

    case STATE_ERROR:
        return PlaybackStateCompat.STATE_ERROR;

    case STATE_IDLE:
    default:/* w  w  w.j a  v  a  2s .  c  o  m*/
        return PlaybackStateCompat.STATE_NONE;
    }
}

From source file:com.scooter1556.sms.android.activity.BaseActivity.java

/**
 * Check if the Media Session is active/*from   w w  w . java 2s  .  c  om*/
 */
protected boolean shouldShowControls() {
    MediaControllerCompat mediaController = MediaControllerCompat.getMediaController(this);

    if (mediaController == null || mediaController.getMetadata() == null
            || mediaController.getPlaybackState() == null) {
        return false;
    }

    switch (mediaController.getPlaybackState().getState()) {
    case PlaybackStateCompat.STATE_ERROR:
    case PlaybackStateCompat.STATE_NONE:
    case PlaybackStateCompat.STATE_STOPPED:
        return false;
    default:
        return true;
    }
}

From source file:com.appdevper.mediaplayer.activity.BaseActivity.java

/**
 * Check if the MediaSession is active and in a "playback-able" state
 * (not NONE and not STOPPED).//from   w w w .j ava  2s.  co  m
 *
 * @return true if the MediaSession's state requires playback controls to be visible.
 */
protected boolean shouldShowControls() {
    MediaControllerCompat mediaController = getSupportMediaController();
    if (mediaController == null || mediaController.getMetadata() == null
            || mediaController.getPlaybackState() == null) {
        return false;
    }
    switch (mediaController.getPlaybackState().getState()) {
    case PlaybackStateCompat.STATE_ERROR:
    case PlaybackStateCompat.STATE_NONE:
    case PlaybackStateCompat.STATE_STOPPED:
        return false;
    default:
        return true;
    }
}

From source file:net.simno.klingar.playback.CastPlayback.java

@Override
public void play(Track track) {
    try {//from   www.j  av  a2  s  . c om
        loadMedia(track, true);
        state = PlaybackStateCompat.STATE_BUFFERING;
        if (callback != null) {
            callback.onPlaybackStatusChanged();
        }
    } catch (JSONException e) {
        Timber.e(e, "Exception loading media");
        state = PlaybackStateCompat.STATE_ERROR;
        if (callback != null) {
            callback.onPlaybackStatusChanged();
        }
    }
}

From source file:net.simno.klingar.playback.CastPlayback.java

@Override
public void pause() {
    try {/*from   w w  w.j av  a  2 s  .c  o  m*/
        if (remoteMediaClient.hasMediaSession()) {
            remoteMediaClient.pause();
            currentPosition = (int) remoteMediaClient.getApproximateStreamPosition();
        } else {
            loadMedia(currentTrack, false);
        }
    } catch (JSONException e) {
        Timber.e(e, "Exception pausing cast playback");
        state = PlaybackStateCompat.STATE_ERROR;
        if (callback != null) {
            callback.onPlaybackStatusChanged();
        }
    }
}

From source file:net.simno.klingar.playback.CastPlayback.java

@Override
public void seekTo(int position) {
    if (currentTrack == null) {
        state = PlaybackStateCompat.STATE_ERROR;
        if (callback != null) {
            callback.onPlaybackStatusChanged();
        }/*from w w  w .  j a  v a  2s.c om*/
        return;
    }
    try {
        if (remoteMediaClient.hasMediaSession()) {
            remoteMediaClient.seek(position);
            currentPosition = position;
        } else {
            currentPosition = position;
            loadMedia(currentTrack, false);
        }
    } catch (JSONException e) {
        Timber.e(e, "Exception pausing cast playback");
        state = PlaybackStateCompat.STATE_ERROR;
        if (callback != null) {
            callback.onPlaybackStatusChanged();
        }
    }
}

From source file:com.mylovemhz.simplay.MediaControlFragment.java

private void configureButtons(PlaybackStateCompat state) {
    if (state == null) {
        return;/*  w  w w  . j  a  v a 2 s  . c  om*/
    }
    boolean enablePlay = false;
    switch (state.getState()) {
    case PlaybackStateCompat.STATE_STOPPED:
        albumImage.setImageResource(R.drawable.ic_album);
        artistText.setText("");
        titleText.setText("");
        seekBar.setProgress(0);
        seekBar.setMax(1);
    case PlaybackStateCompat.STATE_PAUSED:
        handler.removeCallbacks(seekTickRunnable);
        enablePlay = true;
        break;
    case PlaybackStateCompat.STATE_PLAYING:
        handler.post(seekTickRunnable);
        break;
    case PlaybackStateCompat.STATE_ERROR:
        Log.e(TAG, "error playbackstate: " + state.getErrorMessage());
        Toast.makeText(getActivity(), state.getErrorMessage(), Toast.LENGTH_LONG).show();
        break;
    }

    if (enablePlay) {
        playPauseButton.setImageResource(playDrawableResource);
    } else {
        playPauseButton.setImageResource(pauseDrawableResource);
    }
    playPauseButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (getPlaybackState() != PlaybackStateCompat.STATE_PLAYING) {
                mediaController.getTransportControls().play();
            } else {
                mediaController.getTransportControls().pause();
            }
        }
    });
    previousButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mediaController.getTransportControls().skipToPrevious();
        }
    });
    nextButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mediaController.getTransportControls().skipToNext();
        }
    });
    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            if (fromUser) {
                mediaController.getTransportControls().seekTo(progress);
            }
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {

        }
    });
}

From source file:com.murati.oszk.audiobook.ui.PlaybackControlsFragment.java

private void onPlaybackStateChanged(PlaybackStateCompat state) {
    LogHelper.d(TAG, "onPlaybackStateChanged ", state);
    if (getActivity() == null) {
        LogHelper.w(TAG, "onPlaybackStateChanged called when getActivity null,"
                + "this should not happen if the callback was properly unregistered. Ignoring.");
        return;/*from  w  w  w.j a v a2s .  c  om*/
    }
    if (state == null) {
        return;
    }
    boolean enablePlay = false;
    switch (state.getState()) {
    case PlaybackStateCompat.STATE_PAUSED:
    case PlaybackStateCompat.STATE_STOPPED:
        enablePlay = true;
        break;
    case PlaybackStateCompat.STATE_ERROR:
        String message = state.getErrorMessage().toString();
        LogHelper.e(TAG, "error playbackstate: ", message);

        try {
            //Set smarter messages with state processing
            boolean offline = !NetworkHelper.isOnline(this.getActivity().getBaseContext());
            if (message.contains("EACCES")) {
                message = String.format("%s - %s", getString(R.string.notification_playback_track_error),
                        getString(R.string.notification_storage_permission_required));

                OfflineBookService.isPermissionGranted(this.getActivity());
            }

            if (offline && message.contains("Unable to connect to http")) {
                message = String.format("%s - %s", getString(R.string.notification_playback_track_error),
                        getString(R.string.notification_offline));
            }
        } catch (Exception ex) {
            Log.d(TAG, ex.getMessage());
        }

        Toast.makeText(getActivity(), message, Toast.LENGTH_LONG).show();
        break;
    }

    if (enablePlay) {
        mPlayPause.setImageDrawable(
                ContextCompat.getDrawable(getActivity(), R.drawable.ic_play_arrow_black_36dp));
    } else {
        mPlayPause.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.ic_pause_black_36dp));
    }

    MediaControllerCompat controller = MediaControllerCompat.getMediaController(getActivity());
    String extraInfo = null;
    if (controller != null && controller.getExtras() != null) {
        String castName = controller.getExtras().getString(MusicService.EXTRA_CONNECTED_CAST);
        if (castName != null) {
            extraInfo = getResources().getString(R.string.casting_to_device, castName);
        }
    }
    setExtraInfo(extraInfo);
}

From source file:com.murati.oszk.audiobook.ui.BaseActivity.java

/**
 * Check if the MediaSession is active and in a "playback-able" state
 * (not NONE and not STOPPED).// w w  w .j a  v a 2 s .  co m
 *
 * @return true if the MediaSession's state requires playback controls to be visible.
 */
protected boolean shouldShowControls() {
    MediaControllerCompat mediaController = MediaControllerCompat.getMediaController(this);
    if (mediaController == null || mediaController.getMetadata() == null
            || mediaController.getPlaybackState() == null) {
        return false;
    }
    switch (mediaController.getPlaybackState().getState()) {
    case PlaybackStateCompat.STATE_ERROR:
    case PlaybackStateCompat.STATE_NONE:
    case PlaybackStateCompat.STATE_STOPPED:
        return false;
    default:
        return true;
    }
}

From source file:com.example.android.supportv4.media.QueueFragment.java

private void onPlaybackStateChanged(PlaybackStateCompat state) {
    Log.d(TAG, "onPlaybackStateChanged " + state);
    if (state == null) {
        return;/*from  ww  w . ja  va 2s. c  om*/
    }
    mQueueAdapter.setActiveQueueItemId(state.getActiveQueueItemId());
    mQueueAdapter.notifyDataSetChanged();
    boolean enablePlay = false;
    StringBuilder statusBuilder = new StringBuilder();
    switch (state.getState()) {
    case PlaybackStateCompat.STATE_PLAYING:
        statusBuilder.append("playing");
        enablePlay = false;
        break;
    case PlaybackStateCompat.STATE_PAUSED:
        statusBuilder.append("paused");
        enablePlay = true;
        break;
    case PlaybackStateCompat.STATE_STOPPED:
        statusBuilder.append("ended");
        enablePlay = true;
        break;
    case PlaybackStateCompat.STATE_ERROR:
        statusBuilder.append("error: ").append(state.getErrorMessage());
        break;
    case PlaybackStateCompat.STATE_BUFFERING:
        statusBuilder.append("buffering");
        break;
    case PlaybackStateCompat.STATE_NONE:
        statusBuilder.append("none");
        enablePlay = false;
        break;
    case PlaybackStateCompat.STATE_CONNECTING:
        statusBuilder.append("connecting");
        break;
    default:
        statusBuilder.append(mPlaybackState);
    }
    statusBuilder.append(" -- At position: ").append(state.getPosition());
    Log.d(TAG, statusBuilder.toString());

    if (enablePlay) {
        mPlayPause.setImageDrawable(
                getActivity().getResources().getDrawable(R.drawable.ic_play_arrow_white_24dp));
    } else {
        mPlayPause.setImageDrawable(getActivity().getResources().getDrawable(R.drawable.ic_pause_white_24dp));
    }

    mSkipPrevious.setEnabled((state.getActions() & PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS) != 0);
    mSkipNext.setEnabled((state.getActions() & PlaybackStateCompat.ACTION_SKIP_TO_NEXT) != 0);

    Log.d(TAG, "Queue From MediaController *** Title " + mMediaController.getQueueTitle() + "\n: Queue: "
            + mMediaController.getQueue() + "\n Metadata " + mMediaController.getMetadata());
}