private void SetRecyclerViewAdapters() { try { MAdapter = new NearByAdapter(this) { UserList = new ObservableCollection <UserDataObject>() }; LayoutManager = new GridLayoutManager(this, 2); MRecycler.SetLayoutManager(LayoutManager); MRecycler.HasFixedSize = true; MRecycler.SetItemViewCacheSize(10); MRecycler.GetLayoutManager().ItemPrefetchEnabled = true; var sizeProvider = new FixedPreloadSizeProvider(10, 10); var preLoader = new RecyclerViewPreloader <UserDataObject>(this, MAdapter, sizeProvider, 10); MRecycler.AddOnScrollListener(preLoader); MRecycler.SetAdapter(MAdapter); RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(LayoutManager); MainScrollEvent = xamarinRecyclerViewOnScrollListener; MainScrollEvent.LoadMoreEvent += MainScrollEventOnLoadMoreEvent; MRecycler.AddOnScrollListener(xamarinRecyclerViewOnScrollListener); MainScrollEvent.IsLoading = false; if (ListUtils.SuggestedUserList.Count > 0) { MAdapter.UserList = new ObservableCollection <UserDataObject>(ListUtils.SuggestedUserList); MAdapter.NotifyDataSetChanged(); } } catch (Exception e) { Console.WriteLine(e); } }
private void SetRecyclerViewAdapters() { try { MAdapter = new NearByAdapter(this) { UserList = new ObservableCollection <UserDataObject>() }; LayoutManager = new GridLayoutManager(this, 2); MRecycler.SetLayoutManager(LayoutManager); MRecycler.AddItemDecoration(new GridSpacingItemDecoration(2, 3, true)); //var sizeProvider = new FixedPreloadSizeProvider(10, 10); //var preLoader = new RecyclerViewPreloader<UserDataObject>(this, MAdapter, sizeProvider, 8); //MRecycler.AddOnScrollListener(preLoader); //MRecycler.HasFixedSize = true; //MRecycler.SetItemViewCacheSize(10); //MRecycler.GetLayoutManager().ItemPrefetchEnabled = true; MRecycler.SetAdapter(MAdapter); RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(LayoutManager); MainScrollEvent = xamarinRecyclerViewOnScrollListener; MainScrollEvent.LoadMoreEvent += MainScrollEventOnLoadMoreEvent; MRecycler.AddOnScrollListener(xamarinRecyclerViewOnScrollListener); MainScrollEvent.IsLoading = false; } catch (Exception e) { Console.WriteLine(e); } }
private void NearByAdapter_OnItemClick(object sender, NearByAdapterClickEventArgs adapterClickEvents) { try { var position = adapterClickEvents.Position; if (position >= 0) { var item = NearByAdapter.GetItem(position); if (item != null) { Intent Int; if (item.user_id != UserDetails.User_id) { Int = new Intent(this, typeof(User_Profile_Activity)); Int.PutExtra("UserId", item.user_id); Int.PutExtra("UserType", "NearBy"); Int.PutExtra("UserItem", JsonConvert.SerializeObject(item)); } else { Int = new Intent(this, typeof(MyProfile_Activity)); Int.PutExtra("UserId", item.user_id); } StartActivity(Int); } } } catch (Exception e) { Crashes.TrackError(e); } }
//Event Refresh Data Page private void SwipeRefreshLayoutOnRefresh(object sender, EventArgs e) { try { NearByAdapter.Clear(); Get_NearByList_API(); } catch (Exception exception) { Crashes.TrackError(exception); } }
public void Get_Data_local() { try { if (NearByAdapter != null) { if (Classes.ListChachedData_Nearby.Count > 0) { NearByAdapter.mNearByList = Classes.ListChachedData_Nearby; NearByAdapter.BindEnd(); } } GetFilter(); // Check if we're running on Android 5.0 or higher if ((int)Build.VERSION.SdkInt < 23) { Get_NearByList_API(); } else { if (CheckSelfPermission(Manifest.Permission.AccessFineLocation) == Permission.Granted && CheckSelfPermission(Manifest.Permission.AccessCoarseLocation) == Permission.Granted) { Get_NearByList_API(); } else { RequestPermissions(new[] { Manifest.Permission.AccessFineLocation, Manifest.Permission.AccessCoarseLocation }, 108); } } } catch (Exception e) { Crashes.TrackError(e); } }
private void DestroyBasic() { try { MAdView?.Destroy(); MAdapter = null; SwipeRefreshLayout = null; MRecycler = null; EmptyStateLayout = null; FloatingActionButtonView = null; Inflated = null; MainScrollEvent = null; MAdView = null; } catch (Exception e) { Console.WriteLine(e); } }
private void DestroyBasic() { try { MAdView?.Destroy(); MAdapter = null !; SwipeRefreshLayout = null !; MRecycler = null !; EmptyStateLayout = null !; FloatingActionButtonView = null !; Inflated = null !; MainScrollEvent = null !; MAdView = null !; } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
private void DestroyBasic() { try { MAdView?.Destroy(); RewardedVideoAd?.OnDestroy(this); MAdapter = null; SwipeRefreshLayout = null; MRecycler = null; EmptyStateLayout = null; Inflated = null; MAdView = null; RewardedVideoAd = null; } catch (Exception e) { Console.WriteLine(e); } }
private void DestroyBasic() { try { MAdView?.Destroy(); RewardedVideoAd?.OnDestroy(this); MAdapter = null !; SwipeRefreshLayout = null !; MRecycler = null !; EmptyStateLayout = null !; Inflated = null !; MAdView = null !; RewardedVideoAd = null !; } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
//Result protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { try { base.OnActivityResult(requestCode, resultCode, data); if (requestCode == 50000 && resultCode == Result.Ok) { var gender = data.GetStringExtra("Gender") ?? "Data not available"; if (gender != "Data not available" && !string.IsNullOrEmpty(gender)) { Filter_gender = gender; } var distance = data.GetStringExtra("Distance") ?? "Data not available"; if (distance != "Data not available" && !string.IsNullOrEmpty(distance)) { Filter_Distance = distance; } var status = data.GetStringExtra("Status") ?? "Data not available"; if (status != "Data not available" && !string.IsNullOrEmpty(status)) { Filter_status = status; } NearByAdapter.Clear(); swipeRefreshLayout.Refreshing = true; Get_NearByList_API(); } } catch (Exception e) { Crashes.TrackError(e); } }
private void SetRecyclerViewAdapters() { try { if (AppSettings.ShowUsersAsCards) { GridLayoutManager mLayoutManager = new GridLayoutManager(Activity, 2); NearByRecyclerView.SetLayoutManager(mLayoutManager); CardDateAdapter2 = new CardAdapter2(Activity); NearByRecyclerView.SetAdapter(CardDateAdapter2); CardDateAdapter2.OnItemClick += CardDateAdapter2_OnItemClick; if (MainScrollEvent != null) { return; } MainScrollEvent = new RecyclerViewOnScrollListener(mLayoutManager); NearByRecyclerView.AddOnScrollListener(MainScrollEvent); MainScrollEvent.LoadMoreEvent += SeconderScrollEventOnLoadMoreEvent; } else { StaggeredGridLayoutManager nearByLayoutManager = new StaggeredGridLayoutManager(3, LinearLayoutManager.Vertical); NearByRecyclerView.SetLayoutManager(nearByLayoutManager); NearByAdapter = new NearByAdapter(Activity); NearByAdapter.OnItemClick += NearByAdapterOnItemClick; NearByRecyclerView.SetAdapter(NearByAdapter); RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListener = new RecyclerViewOnScrollListener(nearByLayoutManager, 3); MainScrollEvent = xamarinRecyclerViewOnScrollListener; MainScrollEvent.LoadMoreEvent += SeconderScrollEventOnLoadMoreEvent; NearByRecyclerView.AddOnScrollListener(xamarinRecyclerViewOnScrollListener); MainScrollEvent.IsLoading = false; } //======================================================= //Pro Recycler View ProUserAdapter = new ProUserAdapter(Activity); ProUserAdapter.OnItemClick += ProUserAdapterOnItemClick; ProRecyclerView.SetLayoutManager(new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false)); ProRecyclerView.SetItemViewCacheSize(20); ProRecyclerView.HasFixedSize = true; ProRecyclerView.NestedScrollingEnabled = false; ProRecyclerView.GetLayoutManager().ItemPrefetchEnabled = true; var sizeProviderPro = new FixedPreloadSizeProvider(10, 10); var preLoaderPro = new RecyclerViewPreloader <UserInfoObject>(Activity, ProUserAdapter, sizeProviderPro, 10); ProRecyclerView.AddOnScrollListener(preLoaderPro); ProRecyclerView.SetAdapter(ProUserAdapter); //======================================================= //Hot Or Not Recycler View HotOrNotUserAdapter = new HotOrNotUserAdapter(Activity) { UsersDateList = new ObservableCollection <UserInfoObject>() }; HotOrNotUserAdapter.HotItemClick += MAdapterOnHotItemClick; HotOrNotUserAdapter.NotItemClick += MAdapterOnNotItemClick; HotOrNotUserAdapter.ImageItemClick += MAdapterOnImageItemClick; LayoutManager = new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false); RecylerHotOrNot.SetLayoutManager(LayoutManager); //RecylerHotOrNot.SetItemViewCacheSize(20); //RecylerHotOrNot.HasFixedSize = true; //RecylerHotOrNot.GetLayoutManager().ItemPrefetchEnabled = true; RecylerHotOrNot.NestedScrollingEnabled = false; //var sizeProviderPro2 = new FixedPreloadSizeProvider(10, 10); //var preLoaderPro2 = new RecyclerViewPreloader<UserInfoObject>(Activity, HotOrNotUserAdapter, sizeProviderPro2, 10); //RecylerHotOrNot.AddOnScrollListener(preLoaderPro2); RecylerHotOrNot.SetAdapter(HotOrNotUserAdapter); RecyclerViewOnScrollListener xamarinRecyclerViewOnScrollListenerHotOrNot = new RecyclerViewOnScrollListener(LayoutManager); MainScrollEventHotOrNot = xamarinRecyclerViewOnScrollListenerHotOrNot; MainScrollEventHotOrNot.LoadMoreEvent += MainScrollEventHotOrNotOnLoadMoreEvent; RecylerHotOrNot.AddOnScrollListener(xamarinRecyclerViewOnScrollListenerHotOrNot); MainScrollEventHotOrNot.IsLoading = false; } catch (Exception e) { Console.WriteLine(e); } }
protected override void OnCreate(Bundle savedInstanceState) { try { // Check if we're running on Android 5.0 or higher if ((int)Build.VERSION.SdkInt < 23) { } else { Window.AddFlags(WindowManagerFlags.TranslucentNavigation); } base.OnCreate(savedInstanceState); IMethods.IApp.FullScreenApp(this); var view = MyContextWrapper.GetContentView(this, Settings.Lang, Resource.Layout.NearByPepole_Layout); if (view != null) { SetContentView(view); } else { SetContentView(Resource.Layout.NearByPepole_Layout); } var ToolBar = FindViewById <Toolbar>(Resource.Id.toolbar); if (ToolBar != null) { ToolBar.Title = GetText(Resource.String.Lbl_NearBy); SetSupportActionBar(ToolBar); SupportActionBar.SetDisplayShowCustomEnabled(true); SupportActionBar.SetDisplayHomeAsUpEnabled(true); SupportActionBar.SetHomeButtonEnabled(true); SupportActionBar.SetDisplayShowHomeEnabled(true); } //Get values NearByRecylerView = (RecyclerView)FindViewById(Resource.Id.Recyler); NearBy_Empty = FindViewById <LinearLayout>(Resource.Id.NearBy_LinerEmpty); swipeRefreshLayout = FindViewById <SwipeRefreshLayout>(Resource.Id.swipeRefreshLayout); Icon_NearBy = FindViewById <TextView>(Resource.Id.NearBy_icon); FloatingActionButtonView = FindViewById <FloatingActionButton>(Resource.Id.floatingActionButtonView); 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_NearBy, "\uf21d"); Icon_NearBy.SetTextColor(Color.ParseColor(Settings.MainColor)); //Set Adapter mLayoutManager = new GridLayoutManager(this, 2); NearByRecylerView.SetLayoutManager(mLayoutManager); NearByRecylerView.AddItemDecoration(new GridSpacingItemDecoration(2, 3, true)); NearByAdapter = new NearByAdapter(this); NearByRecylerView.SetAdapter(NearByAdapter); NearByRecylerView.SetItemViewCacheSize(18); NearByRecylerView.GetLayoutManager().ItemPrefetchEnabled = true; NearByRecylerView.DrawingCacheEnabled = (true); NearByRecylerView.DrawingCacheQuality = DrawingCacheQuality.High; NearByRecylerView.Visibility = ViewStates.Visible; NearBy_Empty.Visibility = ViewStates.Gone; InitializeLocationManager(); Get_Data_local(); } catch (Exception e) { Crashes.TrackError(e); } }
public async void Get_NearByList_API(string offset = "") { try { if (!IMethods.CheckConnectivity()) { swipeRefreshLayout.Refreshing = false; Toast.MakeText(this, GetString(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short) .Show(); } else { XamarinRecyclerViewOnScrollListener.IsLoading = true; await GetPosition(); var dictionary = new Dictionary <string, string> { { "limit", "25" }, { "offset", offset }, { "gender", Filter_gender }, { "keyword", "" }, { "status", Filter_status }, { "distance", Filter_Distance }, { "lat", UserDetails.Lat }, { "lng", UserDetails.Lng } }; var(Api_status, Respond) = await Client.Nearby.Get_Nearby_Users(dictionary); if (Api_status == 200) { if (Respond is Get_Nearby_Users_Object result) { RunOnUiThread(() => { if (result.nearby_users.Length <= 0) { if (swipeRefreshLayout.Refreshing) { swipeRefreshLayout.Refreshing = false; } if (NearByAdapter.mNearByList.Count > 0) { Snackbar.Make(NearByRecylerView, GetText(Resource.String.Lbl_No_more_users), Snackbar.LengthLong).Show(); } } else if (result.nearby_users.Length > 0) { if (NearByAdapter.mNearByList.Count <= 0) { NearByAdapter.mNearByList = new ObservableCollection <Get_Nearby_Users_Object.Nearby_Users>( result.nearby_users); NearByAdapter.BindEnd(); } else { //Bring new item var listnew = result.nearby_users?.Where(c => !NearByAdapter.mNearByList.Select(fc => fc.user_id).Contains(c.user_id)) .ToList(); if (listnew.Count > 0) { var lastCountItem = NearByAdapter.ItemCount; //Results differ Classes.AddRange(NearByAdapter.mNearByList, listnew); NearByAdapter.NotifyItemRangeInserted(lastCountItem, listnew.Count); } if (swipeRefreshLayout.Refreshing) { swipeRefreshLayout.Refreshing = false; } } } }); } } 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 (NearByAdapter.mNearByList.Count > 0) { NearByRecylerView.Visibility = ViewStates.Visible; NearBy_Empty.Visibility = ViewStates.Gone; } else { NearByRecylerView.Visibility = ViewStates.Gone; NearBy_Empty.Visibility = ViewStates.Visible; } swipeRefreshLayout.Refreshing = false; //Set Event Scroll if (OnMainScrolEvent == null) { var xamarinRecyclerViewOnScrollListener = new XamarinRecyclerViewOnScrollListener(mLayoutManager, swipeRefreshLayout); OnMainScrolEvent = xamarinRecyclerViewOnScrollListener; OnMainScrolEvent.LoadMoreEvent += NearBy_OnScroll_OnLoadMoreEvent; NearByRecylerView.AddOnScrollListener(OnMainScrolEvent); NearByRecylerView.AddOnScrollListener(new ScrollDownDetector()); } else { XamarinRecyclerViewOnScrollListener.IsLoading = false; } }); } catch (Exception e) { Crashes.TrackError(e); Get_NearByList_API(offset); } }