protected override void OnCreate(Bundle savedInstanceState) { try { base.OnCreate(savedInstanceState); IMethods.IApp.FullScreenApp(this); var view = MyContextWrapper.GetContentView(this, Settings.Lang, Resource.Layout.Movies_Layout); if (view != null) { SetContentView(view); } else { SetContentView(Resource.Layout.Movies_Layout); } var ToolBar = FindViewById <Toolbar>(Resource.Id.toolbar); if (ToolBar != null) { ToolBar.Title = GetText(Resource.String.Lbl_Movies); SetSupportActionBar(ToolBar); SupportActionBar.SetDisplayShowCustomEnabled(true); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); SupportActionBar.SetDisplayShowHomeEnabled(true); } //Get values MoviesRecyler = FindViewById <RecyclerView>(Resource.Id.MoviesRecylerview); Movies_Empty = FindViewById <LinearLayout>(Resource.Id.Movies_LinerEmpty); Icon_Movies = FindViewById <TextView>(Resource.Id.Movies_icon); MoviesRecyler.Visibility = ViewStates.Visible; Movies_Empty.Visibility = ViewStates.Gone; swipeRefreshLayout = FindViewById <SwipeRefreshLayout>(Resource.Id.swipeRefreshLayout); swipeRefreshLayout.SetColorSchemeResources(Android.Resource.Color.HoloBlueLight, Android.Resource.Color.HoloGreenLight, Android.Resource.Color.HoloOrangeLight, Android.Resource.Color.HoloRedLight); swipeRefreshLayout.Refreshing = true; swipeRefreshLayout.Enabled = true; IMethods.Set_TextViewIcon("2", Icon_Movies, "\uf03d"); Icon_Movies.SetTextColor(Color.ParseColor(Settings.MainColor)); //Set Adapter mLayoutManager = new LinearLayoutManager(this); MoviesRecyler.SetLayoutManager(mLayoutManager); MoviesAdapter = new Movies_Adapter(this); MoviesRecyler.SetAdapter(MoviesAdapter); Get_Data_local(); //Show Ads AdsGoogle.Ad_RewardedVideo(this); } catch (Exception e) { Crashes.TrackError(e); } }
//Get Data Movies Using Api public async void Get_MoviesList_API(string offset = "") { try { if (!IMethods.CheckConnectivity()) { RunOnUiThread(() => { swipeRefreshLayout.Refreshing = false; }); Toast.MakeText(this, GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short) .Show(); } else { var(api_status, respond) = await Client.Movies.Get_Movies("10", offset); if (api_status == 200) { if (respond is Get_Movies_Object result) { RunOnUiThread(() => { if (result.movies.Length <= 0) { if (swipeRefreshLayout.Refreshing) { swipeRefreshLayout.Refreshing = false; } } else if (result.movies.Length > 0) { if (MoviesAdapter.mMoviesList.Count > 0) { //Bring new users var listnew = result.movies.Where(c => !MoviesAdapter.mMoviesList.Select(fc => fc.id).Contains(c.id)).ToList(); if (listnew.Count > 0) { Classes.AddRange(MoviesAdapter.mMoviesList, listnew); } } else { MoviesAdapter.mMoviesList = new ObservableCollection <Get_Movies_Object.Movie>(result.movies); MoviesAdapter.BindEnd(); } } }); } } else if (api_status == 400) { if (respond is Error_Object error) { var errorText = error._errors.Error_text; //Toast.MakeText(this, errortext, ToastLength.Short).Show(); if (errorText.Contains("Invalid or expired access_token")) { API_Request.Logout(this); } } } else if (api_status == 404) { var error = respond.ToString(); //Toast.MakeText(this, error, ToastLength.Short).Show(); } } //Show Empty Page >> //=============================================================== RunOnUiThread(() => { if (MoviesAdapter.mMoviesList.Count > 0) { MoviesRecyler.Visibility = ViewStates.Visible; Movies_Empty.Visibility = ViewStates.Gone; } else { MoviesRecyler.Visibility = ViewStates.Gone; Movies_Empty.Visibility = ViewStates.Visible; } swipeRefreshLayout.Refreshing = false; //Set Event Scroll if (OnMainScrolEvent == null) { var xamarinRecyclerViewOnScrollListener = new XamarinRecyclerViewOnScrollListener(mLayoutManager, swipeRefreshLayout); OnMainScrolEvent = xamarinRecyclerViewOnScrollListener; OnMainScrolEvent.LoadMoreEvent += Movies_OnScroll_OnLoadMoreEvent; MoviesRecyler.AddOnScrollListener(OnMainScrolEvent); MoviesRecyler.AddOnScrollListener(new ScrollDownDetector()); } else { OnMainScrolEvent.IsLoading = false; } }); } catch (Exception e) { Crashes.TrackError(e); Get_MoviesList_API(offset); } }