public void OnReceiveResult(string resultData) { try { //Toast.MakeText(Application.Context, "Result got ", ToastLength.Short)?.Show(); if (AppSettings.LastChatSystem == SystemApiGetLastChat.New) { var result = JsonConvert.DeserializeObject <LastChatObject>(resultData); if (result != null) { LastChatTab?.LoadDataLastChatNewV(result); Activity?.RunOnUiThread(() => { LastChatFragment.LoadCall(result); }); } } else { var result = JsonConvert.DeserializeObject <GetUsersListObject>(resultData); if (result != null) { LastChatTab?.LoadDataLastChatOldV(result); Activity?.RunOnUiThread(() => { LastChatFragment.LoadCall(result); }); } } } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
private void SetUpViewPager(ViewPager2 viewPager) { try { LastChatTab = new LastChatFragment(); LastCallsTab = new LastCallsFragment(); Adapter = new MainTabAdapter(this); switch (AppSettings.LastChatSystem) { case SystemApiGetLastChat.New: Adapter.AddFragment(LastChatTab, GetText(Resource.String.Lbl_Tab_Chats)); break; case SystemApiGetLastChat.Old: { LastGroupChatsTab = new LastGroupChatsFragment(); LastPageChatsTab = new LastPageChatsFragment(); Adapter.AddFragment(LastChatTab, GetText(Resource.String.Lbl_Tab_Chats)); if (AppSettings.EnableChatGroup) { Adapter.AddFragment(LastGroupChatsTab, GetText(Resource.String.Lbl_Tab_GroupChats)); } if (AppSettings.EnableChatPage) { Adapter.AddFragment(LastPageChatsTab, GetText(Resource.String.Lbl_Tab_PageChats)); } break; } } if (AppSettings.EnableAudioVideoCall) { Adapter.AddFragment(LastCallsTab, GetText(Resource.String.Lbl_Tab_Calls)); } viewPager.CurrentItem = Adapter.ItemCount; viewPager.OffscreenPageLimit = Adapter.ItemCount; viewPager.Orientation = ViewPager2.OrientationHorizontal; viewPager.Adapter = Adapter; viewPager.Adapter.NotifyDataSetChanged(); viewPager.RegisterOnPageChangeCallback(new MyOnPageChangeCallback(this)); } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }
private async Task LoadChatAsync() { try { //Toast.MakeText(Application.Context, "StartApiService", ToastLength.Short)?.Show(); if (LastChatFragment.ApiRun) { return; } LastChatFragment.ApiRun = true; if (AppSettings.LastChatSystem == SystemApiGetLastChat.New) { var fetch = "users"; if (AppSettings.EnableChatGroup) { fetch += ",groups"; } if (AppSettings.EnableChatPage) { fetch += ",pages"; } var(apiStatus, respond) = await RequestsAsync.Message.GetChatAsync(fetch); if (apiStatus != 200 || respond is not LastChatObject result || result.Data == null) { LastChatFragment.ApiRun = false; //Methods.DisplayReportResult(new Activity(), respond); } else { var respondList = result.Data.Count; if (respondList > 0) { if (Methods.AppLifecycleObserver.AppState == "Foreground") { MsgTabbedMainActivity.GetInstance()?.OnReceiveResult(JsonConvert.SerializeObject(result)); } else { ListUtils.UserList = new ObservableCollection <ChatObject>(result.Data); //Insert All data users to database SqLiteDatabase dbDatabase = new SqLiteDatabase(); dbDatabase.Insert_Or_Update_LastUsersChat(Application.Context, ListUtils.UserList, UserDetails.ChatHead); LastChatFragment.LoadCall(result); LastChatFragment.ApiRun = false; } } } } else { if (Methods.AppLifecycleObserver.AppState == "Background") { UserDetails.OnlineUsers = false; } var(apiStatus, respond) = await RequestsAsync.Message.GetusersListAsync(UserDetails.UserId, UserDetails.UserId, "20", "0", UserDetails.OnlineUsers); if (apiStatus != 200 || respond is not GetUsersListObject result || result.Users == null) { LastChatFragment.ApiRun = false; //Methods.DisplayReportResult(new Activity(), respond); }