Example usage for android.support.v4.media.session MediaControllerCompat getTransportControls

List of usage examples for android.support.v4.media.session MediaControllerCompat getTransportControls

Introduction

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

Prototype

public TransportControls getTransportControls() 

Source Link

Usage

From source file:com.guoxiaoxing.music.view.tv.TvBrowseFragment.java

private void setupEventListeners() {
    setOnItemViewClickedListener(new OnItemViewClickedListener() {
        @Override//  ww w. j  av  a 2s  . co m
        public void onItemClicked(Presenter.ViewHolder viewHolder, Object o,
                RowPresenter.ViewHolder viewHolder2, Row row) {
            if (o instanceof MediaItem) {
                MediaItem item = (MediaItem) o;
                if (item.isPlayable()) {
                    LogHelper.w(TAG, "Ignoring click on PLAYABLE MediaItem in" + "TvBrowseFragment. mediaId=",
                            item.getMediaId());
                    return;
                }
                Intent intent = new Intent(getActivity(), TvVerticalGridActivity.class);
                intent.putExtra(TvBrowseActivity.SAVED_MEDIA_ID, item.getMediaId());
                intent.putExtra(TvBrowseActivity.BROWSE_TITLE, item.getDescription().getTitle());
                startActivity(intent);

            } else if (o instanceof MediaSessionCompat.QueueItem) {
                MediaSessionCompat.QueueItem item = (MediaSessionCompat.QueueItem) o;
                MediaControllerCompat mediaController = getActivity().getSupportMediaController();
                mediaController.getTransportControls().skipToQueueItem(item.getQueueId());
                Intent intent = new Intent(getActivity(), TvPlaybackActivity.class);
                startActivity(intent);
            }
        }
    });

    setOnSearchClickedListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LogHelper.d(TAG, "In-app search");
            // TODO: implement in-app search
            Intent intent = new Intent(getActivity(), TvBrowseActivity.class);
            startActivity(intent);
        }
    });
}

From source file:com.bayapps.android.robophish.ui.tv.TvBrowseFragment.java

private void setupEventListeners() {
    setOnItemViewClickedListener(new OnItemViewClickedListener() {
        @Override/*  w w  w  . ja va  2 s  . c om*/
        public void onItemClicked(Presenter.ViewHolder viewHolder, Object o,
                RowPresenter.ViewHolder viewHolder2, Row row) {
            if (o instanceof MediaBrowserCompat.MediaItem) {
                MediaItem item = (MediaItem) o;
                if (item.isPlayable()) {
                    LogHelper.w(TAG, "Ignoring click on PLAYABLE MediaItem in" + "TvBrowseFragment. mediaId=",
                            item.getMediaId());
                    return;
                }
                Intent intent = new Intent(getActivity(), TvVerticalGridActivity.class);
                intent.putExtra(TvBrowseActivity.SAVED_MEDIA_ID, item.getMediaId());
                intent.putExtra(TvBrowseActivity.BROWSE_TITLE, item.getDescription().getTitle());
                startActivity(intent);

            } else if (o instanceof MediaSessionCompat.QueueItem) {
                MediaSessionCompat.QueueItem item = (MediaSessionCompat.QueueItem) o;
                MediaControllerCompat mediaController = getActivity().getSupportMediaController();
                mediaController.getTransportControls().skipToQueueItem(item.getQueueId());
                Intent intent = new Intent(getActivity(), TvPlaybackActivity.class);
                startActivity(intent);
            }
        }
    });

    setOnSearchClickedListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LogHelper.d(TAG, "In-app search");
            // TODO: implement in-app search
            Intent intent = new Intent(getActivity(), TvBrowseActivity.class);
            startActivity(intent);
        }
    });
}

From source file:com.torrenttunes.android.ui.MusicPlayerActivity.java

@Override
public void onMediaItemSelected(MediaBrowserCompat.MediaItem item) {
    LogHelper.d(TAG, "onMediaItemSelected, mediaId=" + item.getMediaId());
    if (item.isPlayable()) {
        final MediaControllerCompat mediaController = getSupportMediaController();
        if (mediaController != null) {
            MediaSessionCompat.Token token = mediaController.getSessionToken();
            MediaControllerCompat.TransportControls tc = mediaController.getTransportControls();
            mediaController.getTransportControls().playFromMediaId(item.getMediaId(), null);
        }//  www . j ava  2 s  . c o m
    } else if (item.isBrowsable()) {
        navigateToBrowser(item.getMediaId());
    } else {
        LogHelper.w(TAG, "Ignoring MediaItem that is neither browsable nor playable: ", "mediaId=",
                item.getMediaId());
    }
}

From source file:com.example.androidcodes.testmediaplayer.ui.tv.TvBrowseFragment.java

private void setupEventListeners() {
    setOnItemViewClickedListener(new OnItemViewClickedListener() {
        @Override//from   w  w w.  j ava  2  s  . c  o  m
        public void onItemClicked(Presenter.ViewHolder viewHolder, Object clickedItem,
                RowPresenter.ViewHolder viewHolder2, Row row) {
            if (clickedItem instanceof MediaItem) {
                MediaItem item = (MediaItem) clickedItem;
                if (item.isPlayable()) {
                    LogHelper.w(TAG, "Ignoring click on PLAYABLE MediaItem in" + "TvBrowseFragment. mediaId=",
                            item.getMediaId());
                    return;
                }
                Intent intent = new Intent(getActivity(), TvVerticalGridActivity.class);
                intent.putExtra(TvBrowseActivity.SAVED_MEDIA_ID, item.getMediaId());
                intent.putExtra(TvBrowseActivity.BROWSE_TITLE, item.getDescription().getTitle());
                startActivity(intent);

            } else if (clickedItem instanceof MediaSessionCompat.QueueItem) {
                MediaSessionCompat.QueueItem item = (MediaSessionCompat.QueueItem) clickedItem;
                MediaControllerCompat mediaController = getActivity().getSupportMediaController();

                if (!QueueHelper.isQueueItemPlaying(getActivity(), item)) {
                    mediaController.getTransportControls().skipToQueueItem(item.getQueueId());
                }

                Intent intent = new Intent(getActivity(), TvPlaybackActivity.class);
                startActivity(intent);
            }
        }
    });

    setOnSearchClickedListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LogHelper.d(TAG, "In-app search");
            // TODO: implement in-app search
            Intent intent = new Intent(getActivity(), TvBrowseActivity.class);
            startActivity(intent);
        }
    });
}

From source file:com.example.android.uamp.ui.tv.TvBrowseFragment.java

private void setupEventListeners() {
    setOnItemViewClickedListener(new OnItemViewClickedListener() {
        @Override/* www . ja  v  a  2  s . c  o  m*/
        public void onItemClicked(Presenter.ViewHolder viewHolder, Object clickedItem,
                RowPresenter.ViewHolder viewHolder2, Row row) {
            if (clickedItem instanceof MediaBrowserCompat.MediaItem) {
                MediaItem item = (MediaItem) clickedItem;
                if (item.isPlayable()) {
                    LogHelper.w(TAG, "Ignoring click on PLAYABLE MediaItem in" + "TvBrowseFragment. mediaId=",
                            item.getMediaId());
                    return;
                }
                Intent intent = new Intent(getActivity(), TvVerticalGridActivity.class);
                intent.putExtra(TvBrowseActivity.SAVED_MEDIA_ID, item.getMediaId());
                intent.putExtra(TvBrowseActivity.BROWSE_TITLE, item.getDescription().getTitle());
                startActivity(intent);

            } else if (clickedItem instanceof MediaSessionCompat.QueueItem) {
                MediaSessionCompat.QueueItem item = (MediaSessionCompat.QueueItem) clickedItem;
                MediaControllerCompat mediaController = getActivity().getSupportMediaController();

                if (!QueueHelper.isQueueItemPlaying(getActivity(), item)) {
                    mediaController.getTransportControls().skipToQueueItem(item.getQueueId());
                }

                Intent intent = new Intent(getActivity(), TvPlaybackActivity.class);
                startActivity(intent);
            }
        }
    });

    setOnSearchClickedListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LogHelper.d(TAG, "In-app search");
            // TODO: implement in-app search
            Intent intent = new Intent(getActivity(), TvBrowseActivity.class);
            startActivity(intent);
        }
    });
}

From source file:com.murati.oszk.audiobook.ui.tv.TvBrowseFragment.java

private void setupEventListeners() {
    setOnItemViewClickedListener(new OnItemViewClickedListener() {
        @Override/*from www. j ava2s . co m*/
        public void onItemClicked(Presenter.ViewHolder viewHolder, Object clickedItem,
                RowPresenter.ViewHolder viewHolder2, Row row) {
            if (clickedItem instanceof MediaBrowserCompat.MediaItem) {
                MediaItem item = (MediaItem) clickedItem;
                if (item.isPlayable()) {
                    LogHelper.w(TAG, "Ignoring click on PLAYABLE MediaItem in" + "TvBrowseFragment. mediaId=",
                            item.getMediaId());
                    return;
                }
                Intent intent = new Intent(getActivity(), TvVerticalGridActivity.class);
                intent.putExtra(TvBrowseActivity.SAVED_MEDIA_ID, item.getMediaId());
                intent.putExtra(TvBrowseActivity.BROWSE_TITLE, item.getDescription().getTitle());
                startActivity(intent);

            } else if (clickedItem instanceof MediaSessionCompat.QueueItem) {
                MediaSessionCompat.QueueItem item = (MediaSessionCompat.QueueItem) clickedItem;
                MediaControllerCompat mediaController = MediaControllerCompat.getMediaController(getActivity());

                if (!QueueHelper.isQueueItemPlaying(getActivity(), item)) {
                    mediaController.getTransportControls().skipToQueueItem(item.getQueueId());
                }

                Intent intent = new Intent(getActivity(), TvPlaybackActivity.class);
                startActivity(intent);
            }
        }
    });

    setOnSearchClickedListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LogHelper.d(TAG, "In-app search");
            // TODO: implement in-app search
            Intent intent = new Intent(getActivity(), TvBrowseActivity.class);
            startActivity(intent);
        }
    });
}

From source file:com.murati.oszk.audiobook.ui.tv.TvPlaybackFragment.java

private void setupRows() {
    PlaybackControlsRowPresenter playbackControlsRowPresenter;
    playbackControlsRowPresenter = new PlaybackControlsRowPresenter(new DescriptionPresenter());

    playbackControlsRowPresenter.setOnActionClickedListener(new OnActionClickedListener() {
        public void onActionClicked(Action action) {
            if (getActivity() == null) {
                return;
            }//from  w ww  .j a  v  a  2 s .  com
            MediaControllerCompat controller = MediaControllerCompat.getMediaController(getActivity());
            if (controller == null) {
                return;
            }
            MediaControllerCompat.TransportControls controls = controller.getTransportControls();
            if (action.getId() == mPlayPauseAction.getId()) {
                if (mPlayPauseAction.getIndex() == PlayPauseAction.PLAY) {
                    controls.play();
                } else {
                    controls.pause();
                }
            } else if (action.getId() == mSkipNextAction.getId()) {
                controls.skipToNext();
                resetPlaybackRow();
            } else if (action.getId() == mSkipPreviousAction.getId()) {
                controls.skipToPrevious();
                resetPlaybackRow();
            }

            if (action instanceof PlaybackControlsRow.MultiAction) {
                ((PlaybackControlsRow.MultiAction) action).nextIndex();
                notifyChanged(action);
            }
        }
    });

    mPresenterSelector.addClassPresenter(PlaybackControlsRow.class, playbackControlsRowPresenter);
}

From source file:com.bayapps.android.robophish.ui.tv.TvPlaybackFragment.java

private void setupRows() {
    PlaybackControlsRowPresenter playbackControlsRowPresenter;
    playbackControlsRowPresenter = new PlaybackControlsRowPresenter(new DescriptionPresenter());

    playbackControlsRowPresenter.setOnActionClickedListener(new OnActionClickedListener() {
        public void onActionClicked(Action action) {
            if (getActivity() == null) {
                return;
            }/* w w  w  .j a  va2s .  co m*/
            MediaControllerCompat controller = getActivity().getSupportMediaController();
            if (controller == null) {
                return;
            }
            MediaControllerCompat.TransportControls controls = controller.getTransportControls();
            if (action.getId() == mPlayPauseAction.getId()) {
                if (mPlayPauseAction.getIndex() == PlayPauseAction.PLAY) {
                    controls.play();
                } else {
                    controls.pause();
                }
            } else if (action.getId() == mSkipNextAction.getId()) {
                controls.skipToNext();
                resetPlaybackRow();
            } else if (action.getId() == mSkipPreviousAction.getId()) {
                controls.skipToPrevious();
                resetPlaybackRow();
            }

            if (action instanceof PlaybackControlsRow.MultiAction) {
                ((PlaybackControlsRow.MultiAction) action).nextIndex();
                notifyChanged(action);
            }
        }
    });

    mPresenterSelector.addClassPresenter(PlaybackControlsRow.class, playbackControlsRowPresenter);
}

From source file:dk.glutter.android.dansker.uamp.ui.tv.TvBrowseFragment.java

private void setupEventListeners() {
    setOnItemViewClickedListener(new OnItemViewClickedListener() {
        @Override//from   ww  w.j  av  a  2 s . c  om
        public void onItemClicked(Presenter.ViewHolder viewHolder, Object clickedItem,
                RowPresenter.ViewHolder viewHolder2, Row row) {
            if (clickedItem instanceof MediaBrowserCompat.MediaItem) {
                MediaItem item = (MediaItem) clickedItem;
                if (item.isPlayable()) {
                    LogHelper.w(TAG, "Ignoring click on PLAYABLE MediaItem in" + "TvBrowseFragment. mediaId=",
                            item.getMediaId());
                    return;
                }
                Intent intent = new Intent(getActivity(), TvVerticalGridActivity.class);
                intent.putExtra(TvBrowseActivity.SAVED_MEDIA_ID, item.getMediaId());
                intent.putExtra(TvBrowseActivity.BROWSE_TITLE, item.getDescription().getTitle());
                startActivity(intent);

            } else if (clickedItem instanceof MediaSessionCompat.QueueItem) {
                MediaSessionCompat.QueueItem item = (MediaSessionCompat.QueueItem) clickedItem;
                MediaControllerCompat mediaController = getActivity().getSupportMediaController();

                // if clicked media item is not already playing, call skipToQueueItem to play it
                if (mediaController != null && mediaController.getMetadata() != null) {
                    String currentPlaying = mediaController.getMetadata().getDescription().getMediaId();
                    String itemMusicId = MediaIDHelper
                            .extractMusicIDFromMediaID(item.getDescription().getMediaId());
                    if (!TextUtils.equals(currentPlaying, itemMusicId)) {
                        mediaController.getTransportControls().skipToQueueItem(item.getQueueId());
                    }
                } else {
                    mediaController.getTransportControls().skipToQueueItem(item.getQueueId());
                }

                Intent intent = new Intent(getActivity(), TvPlaybackActivity.class);
                startActivity(intent);
            }
        }
    });

    setOnSearchClickedListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            LogHelper.d(TAG, "In-app search");
            // TODO: implement in-app search
            Intent intent = new Intent(getActivity(), TvBrowseActivity.class);
            startActivity(intent);
        }
    });
}

From source file:androidx.media.widget.MediaControlView2.java

/**
 * @hide TODO: remove once the implementation is revised
 *///from ww w. jav  a 2  s.  co m
@RestrictTo(LIBRARY_GROUP)
public void setController(MediaControllerCompat controller) {
    mController = controller;
    if (controller != null) {
        mControls = controller.getTransportControls();
        // Set mMetadata and mPlaybackState to existing MediaSession variables since they may
        // be called before the callback is called
        mPlaybackState = mController.getPlaybackState();
        mMetadata = mController.getMetadata();
        updateDuration();
        updateTitle();

        mController.registerCallback(new MediaControllerCallback());
    }
}