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);
}
});
}
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);
}
}
Aggregations