use of butter.droid.base.providers.media.model.MediaWrapper in project butter-android by butterproject.
the class TVOverviewPresenterImpl method loadProviderMedia.
private void loadProviderMedia(final int providerId) {
cancelMovieCall(providerId);
final butter.droid.provider.MediaProvider provider = providerManager.getMediaProvider(providerId);
provider.getDefaultSorter().flatMap(sorter -> {
Filter f;
if (sorter.isPresent()) {
f = new Filter(null, sorter.get());
} else {
f = new Filter(null, null);
}
return provider.items(f, new Pager(null));
}).flatMap(w -> Single.zip(Single.just(w.getPaging()), Observable.fromIterable(w.getMedia()).map(m -> new MediaWrapper(m, providerId)).toList(), Pair::create)).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new SingleObserver<Pair<Paging, List<MediaWrapper>>>() {
@Override
public void onSubscribe(final Disposable d) {
listRequests.add(providerId, d);
}
@Override
public void onSuccess(final Pair<Paging, List<MediaWrapper>> items) {
List<MediaWrapper> mediaItems = items.second;
List<MediaCardItem> cardItems = convertMediaToOverview(mediaItems);
view.displayProviderData(providerId, cardItems);
if (selectedRow == 0) {
view.updateBackgroundImage(mediaItems.get(0).getMedia().getBackdrop());
}
}
@Override
public void onError(final Throwable e) {
view.showErrorMessage(R.string.movies_error);
}
});
}
use of butter.droid.base.providers.media.model.MediaWrapper in project butter-android by butterproject.
the class TVStreamableDetailsFragment method onCreate.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle arguments = getArguments();
final MediaWrapper item = arguments.getParcelable(EXTRA_ITEM);
presenter.onCreate(item);
}
use of butter.droid.base.providers.media.model.MediaWrapper in project butter-android by butterproject.
the class TVSearchPresenterImpl method getProviderRequests.
private List<Single<SearchResult>> getProviderRequests(String query) {
List<Single<SearchResult>> requests = new ArrayList<>();
ProviderWrapper[] providers = providerManager.getProviders();
for (int i = 0; i < providers.length; i++) {
MediaProvider provider = providers[i].getMediaProvider();
final int providerId = i;
// TODO: 6/17/17 Define title of search row
requests.add(provider.items(new Filter(null, null, query), new Pager(null)).flatMapObservable(w -> Observable.fromIterable(w.getMedia())).map(m -> new MediaWrapper(m, providerId)).toList().map(l -> new SearchResult(R.string.movie_results, l)));
}
return requests;
}
use of butter.droid.base.providers.media.model.MediaWrapper in project butter-android by butterproject.
the class TVTrailerPlayerFragment method onCreate.
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle args = getArguments();
String uri = args.getString(ARG_URI);
MediaWrapper media = args.getParcelable(ARG_MEDIA);
presenter.onCreate(media, uri, getResumePosition(savedInstanceState));
}
use of butter.droid.base.providers.media.model.MediaWrapper in project butter-android by butterproject.
the class MediaDetailActivity method onCreate.
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState, R.layout.activity_mediadetail);
setSupportActionBar(toolbar);
setShowCasting(true);
// noinspection ConstantConditions
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
// parallaxLayout doesn't exist? Then this is a tablet or big screen device
isTablet = floatingActionButton == null;
MediaWrapper media = getIntent().getExtras().getParcelable(EXTRA_MEDIA);
if (media == null) {
finish();
return;
}
presenter.onCreate(media);
}
Aggregations