private void Bind() { overview.Text = viewModel.Overview; originalTitle.Text = viewModel.OriginalTitle; releaseDate.Text = viewModel.ReleaseDate; rating.Rating = viewModel.Rating; votes.Text = viewModel.Votes; favorite.Text = viewModel.FavoriteButtonText; similarManager = new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false); similar.SetLayoutManager(similarManager); similarAdapter = new ItemAdapter(viewModel.GetCachedItems()); similar.SetAdapter(similarAdapter); var similarScrollListener = new ItemAdapterScollListener(similarManager); similarScrollListener.LoadMore += async delegate() { if (!viewModel.CanLoadMoreSimilar()) { return; } await viewModel.GetSimilar().ConfigureAwait(false); }; similar.AddOnScrollListener(similarScrollListener); favorite.Click += delegate { //quick and dirty, need to use canexecute on command if (uiBusy) { return; } uiBusy = true; viewModel.ToggleFavorite(); uiBusy = false; }; play.Click += delegate { if (uiBusy) { return; } uiBusy = true; viewModel.PlayVideo(); uiBusy = false; }; Task.Run(async() => { var url = await Locator.Get <IApiService>().GetImageUrl(viewModel.PosterPath).ConfigureAwait(false); var bitmap = Locator.Get <IImageService>().LoadImage(url); Locator.Get <IUIDispatcher>().RunOnUiThread(() => { poster.SetImageBitmap(bitmap); bitmap.Dispose(); bitmap = null; }); }); }
private void InitNowPlayingRecyclerView() { nowPlayingManager = new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false); nowPlaying.SetLayoutManager(nowPlayingManager); nowPlayingAdapter = new ItemAdapter(viewModel.GetCachedNowPlaying()); nowPlaying.SetAdapter(nowPlayingAdapter); var nowPlayingScrollListener = new ItemAdapterScollListener(nowPlayingManager); nowPlayingScrollListener.LoadMore += async delegate() { if (!viewModel.CanLoadMoreNowPlaying()) { return; } await viewModel.GetNowPlaying().ConfigureAwait(false); }; nowPlaying.AddOnScrollListener(nowPlayingScrollListener); }
private void InitTopRatedRecyclerView() { topRatedManager = new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false); topRated.SetLayoutManager(topRatedManager); topRatedAdapter = new ItemAdapter(viewModel.GetCachedTopRated()); topRated.SetAdapter(topRatedAdapter); var topRatedScrollListener = new ItemAdapterScollListener(topRatedManager); topRatedScrollListener.LoadMore += async delegate() { if (!viewModel.CanLoadMoreTopRated()) { return; } await viewModel.GetTopRated().ConfigureAwait(false); }; topRated.AddOnScrollListener(topRatedScrollListener); }
private void InitPopularRecyclerView() { popularManager = new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false); popular.SetLayoutManager(popularManager); popularAdapter = new ItemAdapter(viewModel.GetCachedPopular()); popular.SetAdapter(popularAdapter); var popularScrollListener = new ItemAdapterScollListener(popularManager); popularScrollListener.LoadMore += async delegate() { if (!viewModel.CanLoadMorePopular()) { return; } await viewModel.GetPopular().ConfigureAwait(false); }; popular.AddOnScrollListener(popularScrollListener); }