Search in sources :

Example 11 with ListRow

use of android.support.v17.leanback.widget.ListRow in project butter-android by butterproject.

the class TVOverviewFragment method addMoreOptionsAdapter.

private ArrayObjectAdapter addMoreOptionsAdapter() {
    HeaderItem moreOptionsHeader = new HeaderItem(getString(R.string.more_movies));
    MorePresenter morePresenter = new MorePresenter(requireContext());
    ArrayObjectAdapter moreOptionsAdapter = new ArrayObjectAdapter(morePresenter);
    rowsAdapter.add(new ListRow(moreOptionsHeader, moreOptionsAdapter));
    return moreOptionsAdapter;
}
Also used : HeaderItem(android.support.v17.leanback.widget.HeaderItem) ArrayObjectAdapter(android.support.v17.leanback.widget.ArrayObjectAdapter) MorePresenter(butter.droid.tv.presenters.MorePresenter) ListRow(android.support.v17.leanback.widget.ListRow)

Example 12 with ListRow

use of android.support.v17.leanback.widget.ListRow in project butter-android by butterproject.

the class TVOverviewFragment method addNewMediaListAdapter.

private ArrayObjectAdapter addNewMediaListAdapter() {
    Context context = requireContext();
    ClassPresenterSelector presenterSelector = new ClassPresenterSelector();
    presenterSelector.addClassPresenter(MediaCardItem.class, new MediaCardPresenter(context, picasso));
    presenterSelector.addClassPresenter(LoadingCardItem.class, new LoadingCardPresenter(context));
    ArrayObjectAdapter mediaAdapter = new ArrayObjectAdapter(presenterSelector);
    mediaAdapter.add(new LoadingCardItem());
    // TODO: 6/17/17 Define title
    HeaderItem moviesHeader = new HeaderItem(getString(R.string.top_movies));
    rowsAdapter.add(new ListRow(moviesHeader, mediaAdapter));
    return mediaAdapter;
}
Also used : Context(android.content.Context) LoadingCardPresenter(butter.droid.tv.presenters.LoadingCardPresenter) ArrayObjectAdapter(android.support.v17.leanback.widget.ArrayObjectAdapter) LoadingCardItem(butter.droid.tv.presenters.LoadingCardPresenter.LoadingCardItem) HeaderItem(android.support.v17.leanback.widget.HeaderItem) ClassPresenterSelector(android.support.v17.leanback.widget.ClassPresenterSelector) MediaCardPresenter(butter.droid.tv.presenters.MediaCardPresenter) ListRow(android.support.v17.leanback.widget.ListRow)

Example 13 with ListRow

use of android.support.v17.leanback.widget.ListRow in project butter-android by butterproject.

the class TVShowDetailsFragment method showSeasons.

@Override
public void showSeasons(final Season[] seasons) {
    ArrayObjectAdapter objectAdapter = getObjectArrayAdapter();
    for (int i = 0; i < seasons.length; i++) {
        Season season = seasons[i];
        HeaderItem header = new HeaderItem(i, season.getTitle());
        EpisodeCardPresenter presenter = new EpisodeCardPresenter(getActivity());
        presenter.setOnClickListener(this);
        ArrayObjectAdapter episodes = new ArrayObjectAdapter(presenter);
        for (final Episode episode : season.getEpisodes()) {
            episodes.add(episode);
        }
        objectAdapter.add(new ListRow(header, episodes));
    }
    objectAdapter.notifyArrayItemRangeChanged(1, objectAdapter.size());
}
Also used : Episode(butter.droid.provider.base.model.Episode) ArrayObjectAdapter(android.support.v17.leanback.widget.ArrayObjectAdapter) HeaderItem(android.support.v17.leanback.widget.HeaderItem) Season(butter.droid.provider.base.model.Season) ListRow(android.support.v17.leanback.widget.ListRow) EpisodeCardPresenter(butter.droid.tv.ui.detail.show.presenter.EpisodeCardPresenter)

Example 14 with ListRow

use of android.support.v17.leanback.widget.ListRow in project vlc-android by GeoffreyMetais.

the class SearchFragment method loadRows.

private void loadRows(String query) {
    final SearchAggregate searchAggregate = VLCApplication.getMLInstance().search(query);
    CardPresenter cp = new CardPresenter(mActivity);
    final ArrayObjectAdapter videoAdapter = new ArrayObjectAdapter(cp);
    videoAdapter.addAll(0, Arrays.asList(searchAggregate.getMediaSearchAggregate().getOthers()));
    final ArrayObjectAdapter episodesAdapter = new ArrayObjectAdapter(cp);
    episodesAdapter.addAll(0, Arrays.asList(searchAggregate.getMediaSearchAggregate().getEpisodes()));
    final ArrayObjectAdapter moviesAdapter = new ArrayObjectAdapter(cp);
    moviesAdapter.addAll(0, Arrays.asList(searchAggregate.getMediaSearchAggregate().getMovies()));
    final ArrayObjectAdapter songsAdapter = new ArrayObjectAdapter(cp);
    songsAdapter.addAll(0, Arrays.asList(searchAggregate.getMediaSearchAggregate().getTracks()));
    final ArrayObjectAdapter artistsAdapter = new ArrayObjectAdapter(cp);
    artistsAdapter.addAll(0, Arrays.asList(searchAggregate.getArtists()));
    final ArrayObjectAdapter albumsAdapter = new ArrayObjectAdapter(cp);
    albumsAdapter.addAll(0, Arrays.asList(searchAggregate.getAlbums()));
    final ArrayObjectAdapter genresAdapter = new ArrayObjectAdapter(cp);
    genresAdapter.addAll(0, Arrays.asList(searchAggregate.getGenres()));
    mHandler.post(new Runnable() {

        @Override
        public void run() {
            if (videoAdapter.size() > 0)
                mRowsAdapter.add(new ListRow(new HeaderItem(0, getResources().getString(R.string.videos)), videoAdapter));
            if (episodesAdapter.size() > 0)
                mRowsAdapter.add(new ListRow(new HeaderItem(0, getResources().getString(R.string.episodes)), episodesAdapter));
            if (moviesAdapter.size() > 0)
                mRowsAdapter.add(new ListRow(new HeaderItem(0, getResources().getString(R.string.movies)), moviesAdapter));
            if (songsAdapter.size() > 0)
                mRowsAdapter.add(new ListRow(new HeaderItem(0, getResources().getString(R.string.songs)), songsAdapter));
            if (artistsAdapter.size() > 0)
                mRowsAdapter.add(new ListRow(new HeaderItem(0, getResources().getString(R.string.artists)), artistsAdapter));
            if (albumsAdapter.size() > 0)
                mRowsAdapter.add(new ListRow(new HeaderItem(0, getResources().getString(R.string.albums)), albumsAdapter));
            if (genresAdapter.size() > 0)
                mRowsAdapter.add(new ListRow(new HeaderItem(0, getResources().getString(R.string.genres)), genresAdapter));
        }
    });
}
Also used : SearchAggregate(org.videolan.medialibrary.media.SearchAggregate) ArrayObjectAdapter(android.support.v17.leanback.widget.ArrayObjectAdapter) HeaderItem(android.support.v17.leanback.widget.HeaderItem) ListRow(android.support.v17.leanback.widget.ListRow)

Aggregations

HeaderItem (android.support.v17.leanback.widget.HeaderItem)14 ListRow (android.support.v17.leanback.widget.ListRow)14 ArrayObjectAdapter (android.support.v17.leanback.widget.ArrayObjectAdapter)13 ListRowPresenter (android.support.v17.leanback.widget.ListRowPresenter)4 MediaCardPresenter (butter.droid.tv.presenters.MediaCardPresenter)3 ClassPresenterSelector (android.support.v17.leanback.widget.ClassPresenterSelector)2 LoadingCardPresenter (butter.droid.tv.presenters.LoadingCardPresenter)2 LoadingCardItem (butter.droid.tv.presenters.LoadingCardPresenter.LoadingCardItem)2 MorePresenter (butter.droid.tv.presenters.MorePresenter)2 SearchAggregate (org.videolan.medialibrary.media.SearchAggregate)2 Activity (android.app.Activity)1 Context (android.content.Context)1 MainThread (android.support.annotation.MainThread)1 MediaControllerCompat (android.support.v4.media.session.MediaControllerCompat)1 MediaSessionCompat (android.support.v4.media.session.MediaSessionCompat)1 Episode (butter.droid.provider.base.model.Episode)1 Season (butter.droid.provider.base.model.Season)1 EpisodeCardPresenter (butter.droid.tv.ui.detail.show.presenter.EpisodeCardPresenter)1 CardPresenterSelector (cx.ring.tv.cards.CardPresenterSelector)1 ContactCard (cx.ring.tv.cards.contacts.ContactCard)1