public void onActionClicked(Action action) { if (action.getId() == mPlayPauseAction.getId()) { togglePlayback(mPlayPauseAction.getIndex() == PlayPauseAction.PLAY); } else if (action.getId() == mSkipNextAction.getId()) { next(); } else if (action.getId() == mSkipPreviousAction.getId()) { prev(); } else if (action.getId() == mFastForwardAction.getId()) { Toast.makeText(getActivity(), "TODO: Fast Forward", Toast.LENGTH_SHORT).show(); } else if (action.getId() == mRewindAction.getId()) { Toast.makeText(getActivity(), "TODO: Rewind", Toast.LENGTH_SHORT).show(); } if (action instanceof PlaybackControlsRow.MultiAction) { ((PlaybackControlsRow.MultiAction) action).nextIndex(); notifyChanged(action); } } });
mSkipPreviousAction = new PlaybackControlsRow.SkipPreviousAction(sContext); mFastForwardAction = new PlaybackControlsRow.FastForwardAction(sContext); mRewindAction = new PlaybackControlsRow.RewindAction(sContext); mPrimaryActionsAdapter.add(new PlaybackControlsRow.RewindAction(sContext));
private void setUpRows() { ClassPresenterSelector ps = new ClassPresenterSelector(); PlaybackControlsRowPresenter playbackControlsRowPresenter = new PlaybackControlsRowPresenter(new VideoDetailsDescriptionPresenter(getActivity())); ps.addClassPresenter(PlaybackControlsRow.class, playbackControlsRowPresenter); ps.addClassPresenter(ListRow.class, new ListRowPresenter()); mRowsAdapter = new ArrayObjectAdapter(ps); addPlaybackControlsRow(); playbackControlsRowPresenter.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.primary)); playbackControlsRowPresenter.setProgressColor(Color.WHITE); mPlaybackControlsRow.setTotalTime(mDuration); playbackControlsRowPresenter.setOnActionClickedListener(action -> { if (action.getId() == mPlayPauseAction.getId()) { togglePlayPause(mPlayPauseAction.getIndex() == PlaybackControlsRow.PlayPauseAction.PAUSE); } else if (action.getId() == mRewindAction.getId()) { setFadingEnabled(false); rewind(); } else if (action.getId() == mFastForwardAction.getId()) { setFadingEnabled(false); fastForward(); } else if (action.getId() == mSkipNextAction.getId()) { skipNext(); } else if (action.getId() == mSkipPreviousAction.getId()) { skipPrevious(); } if (action instanceof PlaybackControlsRow.MultiAction) { notifyChanged(action); } }); setAdapter(mRowsAdapter); }
private void setUpRows() { ClassPresenterSelector ps = new ClassPresenterSelector(); PlaybackControlsRowPresenter playbackControlsRowPresenter = new PlaybackControlsRowPresenter(new AudioDetailsDescriptionPresenter(getActivity())); ps.addClassPresenter(PlaybackControlsRow.class, playbackControlsRowPresenter); ps.addClassPresenter(ListRow.class, new ListRowPresenter()); mRowsAdapter = new ArrayObjectAdapter(ps); playbackControlsRowPresenter.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.primary)); playbackControlsRowPresenter.setProgressColor(Color.WHITE); playbackControlsRowPresenter.setOnActionClickedListener(action -> { if (action.getId() == mPlayPauseAction.getId()) { togglePlayPause(mPlayPauseAction.getIndex() == PlaybackControlsRow.PlayPauseAction.PAUSE); } else if (action.getId() == mRewindAction.getId()) { rewind(); } else if (action.getId() == mFastForwardAction.getId()) { fastForward(); } else if (action.getId() == mSkipNextAction.getId()) { skipNext(); } else if (action.getId() == mSkipPreviousAction.getId()) { skipPrevious(); } if (action instanceof PlaybackControlsRow.MultiAction) { notifyChanged(action); } }); setAdapter(mRowsAdapter); }
private void addPlaybackControlsRow() { mPlaybackControlsRow = new PlaybackControlsRow(getVideoFile()); mRowsAdapter.add(mPlaybackControlsRow); ControlButtonPresenterSelector presenterSelector = new ControlButtonPresenterSelector(); mPrimaryActionsAdapter = new ArrayObjectAdapter(presenterSelector); mPlaybackControlsRow.setPrimaryActionsAdapter(mPrimaryActionsAdapter); mRewindAction = new PlaybackControlsRow.RewindAction(getActivity()); mPlayPauseAction = new PlaybackControlsRow.PlayPauseAction(getActivity()); mFastForwardAction = new PlaybackControlsRow.FastForwardAction(getActivity()); mSkipNextAction = new PlaybackControlsRow.SkipNextAction(getActivity()); mSkipPreviousAction = new PlaybackControlsRow.SkipPreviousAction(getActivity()); if (!isMetadataAvailable()) mPrimaryActionsAdapter.add(mSkipPreviousAction); mPrimaryActionsAdapter.add(mRewindAction); mPrimaryActionsAdapter.add(mPlayPauseAction); mPrimaryActionsAdapter.add(mFastForwardAction); if (!isMetadataAvailable()) mPrimaryActionsAdapter.add(mSkipNextAction); playbackStateChanged(); }
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private void addPlaybackControlsRow(AudioMetadataRetrievedEvent event) { mPlaybackControlsRow = new PlaybackControlsRow(event); mRowsAdapter.add(mPlaybackControlsRow); ControlButtonPresenterSelector presenterSelector = new ControlButtonPresenterSelector(); mPrimaryActionsAdapter = new ArrayObjectAdapter(presenterSelector); mPlaybackControlsRow.setPrimaryActionsAdapter(mPrimaryActionsAdapter); mSkipPreviousAction = new PlaybackControlsRow.SkipPreviousAction(getActivity()); mRewindAction = new PlaybackControlsRow.RewindAction(getActivity()); mPlayPauseAction = new PlaybackControlsRow.PlayPauseAction(getActivity()); mFastForwardAction = new PlaybackControlsRow.FastForwardAction(getActivity()); mSkipNextAction = new PlaybackControlsRow.SkipNextAction(getActivity()); mPrimaryActionsAdapter.add(mSkipPreviousAction); mPrimaryActionsAdapter.add(mRewindAction); mPrimaryActionsAdapter.add(mPlayPauseAction); mPrimaryActionsAdapter.add(mFastForwardAction); mPrimaryActionsAdapter.add(mSkipNextAction); playbackStateChanged(); }
public PrimaryPlaybackControlsGlue( Context context, T adapter, MediaControllerCompat mediaController) { super(context, adapter); mMediaSessionTransportControls = mediaController.getTransportControls(); mSkipPreviousAction = new PlaybackControlsRow.SkipPreviousAction(context); mSkipNextAction = new PlaybackControlsRow.SkipNextAction(context); mFastForwardAction = new PlaybackControlsRow.FastForwardAction(context); mRewindAction = new PlaybackControlsRow.RewindAction(context); }