Search in sources :

Example 1 with Row

use of android.support.v17.leanback.widget.Row in project android-UniversalMusicPlayer by googlesamples.

the class TvBrowseFragment method setupEventListeners.

private void setupEventListeners() {
    setOnItemViewClickedListener(new OnItemViewClickedListener() {

        @Override
        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);
        }
    });
}
Also used : Intent(android.content.Intent) OnItemViewClickedListener(android.support.v17.leanback.widget.OnItemViewClickedListener) MediaSessionCompat(android.support.v4.media.session.MediaSessionCompat) View(android.view.View) MediaBrowserCompat(android.support.v4.media.MediaBrowserCompat) MediaItem(android.support.v4.media.MediaBrowserCompat.MediaItem) RowPresenter(android.support.v17.leanback.widget.RowPresenter) Presenter(android.support.v17.leanback.widget.Presenter) ListRowPresenter(android.support.v17.leanback.widget.ListRowPresenter) MediaItem(android.support.v4.media.MediaBrowserCompat.MediaItem) ListRow(android.support.v17.leanback.widget.ListRow) Row(android.support.v17.leanback.widget.Row) MediaControllerCompat(android.support.v4.media.session.MediaControllerCompat) RowPresenter(android.support.v17.leanback.widget.RowPresenter) ListRowPresenter(android.support.v17.leanback.widget.ListRowPresenter)

Example 2 with Row

use of android.support.v17.leanback.widget.Row in project android-UniversalMusicPlayer by googlesamples.

the class TvPlaybackFragment method updatePlayListRow.

protected void updatePlayListRow(List<MediaSessionCompat.QueueItem> playlistQueue) {
    if (QueueHelper.equals(mPlaylistQueue, playlistQueue)) {
        // if the playlist queue hasn't changed, we don't need to update it
        return;
    }
    LogHelper.d(TAG, "Updating playlist queue ('now playing')");
    mPlaylistQueue = playlistQueue;
    if (playlistQueue == null || playlistQueue.isEmpty()) {
        // Remove the playlist row if no items are in the playlist
        mRowsAdapter.remove(mListRow);
        mListRow = null;
        return;
    }
    mListRowAdapter.clear();
    for (int i = 0; i < playlistQueue.size(); i++) {
        MediaSessionCompat.QueueItem item = playlistQueue.get(i);
        mListRowAdapter.add(item);
    }
    if (mListRow == null) {
        int queueSize = 0;
        MediaControllerCompat controller = getActivity().getSupportMediaController();
        if (controller != null && controller.getQueue() != null) {
            queueSize = controller.getQueue().size();
        }
        HeaderItem header = new HeaderItem(0, queueSize + " song(s) in this playlist");
        mPresenterSelector.addClassPresenter(ListRow.class, new ListRowPresenter());
        mListRow = new ListRow(header, mListRowAdapter);
        mRowsAdapter.add(mListRow);
    } else {
        mRowsAdapter.notifyArrayItemRangeChanged(mRowsAdapter.indexOf(mListRow), 1);
    }
}
Also used : ListRowPresenter(android.support.v17.leanback.widget.ListRowPresenter) MediaControllerCompat(android.support.v4.media.session.MediaControllerCompat) HeaderItem(android.support.v17.leanback.widget.HeaderItem) ListRow(android.support.v17.leanback.widget.ListRow) MediaSessionCompat(android.support.v4.media.session.MediaSessionCompat)

Aggregations

ListRow (android.support.v17.leanback.widget.ListRow)2 ListRowPresenter (android.support.v17.leanback.widget.ListRowPresenter)2 MediaControllerCompat (android.support.v4.media.session.MediaControllerCompat)2 MediaSessionCompat (android.support.v4.media.session.MediaSessionCompat)2 Intent (android.content.Intent)1 HeaderItem (android.support.v17.leanback.widget.HeaderItem)1 OnItemViewClickedListener (android.support.v17.leanback.widget.OnItemViewClickedListener)1 Presenter (android.support.v17.leanback.widget.Presenter)1 Row (android.support.v17.leanback.widget.Row)1 RowPresenter (android.support.v17.leanback.widget.RowPresenter)1 MediaBrowserCompat (android.support.v4.media.MediaBrowserCompat)1 MediaItem (android.support.v4.media.MediaBrowserCompat.MediaItem)1 View (android.view.View)1