private async void LoadDataReceived(View view) { try { var dialog = new ProgressBarDialog("Asteptati", "Se incarca datele...", Activity, false); dialog.Show(); // Initialize contacts List <SharingModel> contacts = null; await Task.Run(async() => { string response = await WebServices.WebServices.Post($"{Constants.PublicServerAddress}/api/getSharingPeople", new JSONObject().Put("email", Utils.GetDefaults("Email")), Utils.GetDefaults("Token")); if (!string.IsNullOrEmpty(response)) { Log.Error("ListaConexiuni", response); contacts = JsonConvert.DeserializeObject <List <SharingModel> >(response); } }); if (contacts != null) { var adapter = new SharingAdapter(contacts); _sharingRecyclerViewReceived.SetAdapter(adapter); _sharingRecyclerViewReceived.SetLayoutManager(new LinearLayoutManager(Activity)); adapter.ItemClick += delegate(object sender, SharingAdapterClickEventArgs args) { string name = contacts[args.Position].Name; string email = contacts[args.Position].Email; string imei = contacts[args.Position].Imei; var intent = new Intent(Activity, typeof(SharingMenuActivity)); intent.PutExtra("Name", name); intent.PutExtra("Email", email); intent.PutExtra("Imei", imei); StartActivity(intent); }; } Activity.RunOnUiThread(() => { dialog.Dismiss(); }); } catch (Exception e) { e.PrintStackTrace(); } }
private async void LoadData(View view) { try { var progressBarDialog = new ProgressBarDialog("Asteptati", "Se incarca datele...", Activity, false); progressBarDialog.Show(); // Initialize contacts List <SharingModel> contacts = null; await Task.Run(async() => { string response = await WebServices.WebServices.Post($"{Constants.PublicServerAddress}/api/getSharedPeople", new JSONObject().Put("id", Utils.GetDefaults("Id")), Utils.GetDefaults("Token")); if (!string.IsNullOrEmpty(response)) { contacts = JsonConvert.DeserializeObject <List <SharingModel> >(response); Log.Error("ListaConexiuni", "No. of contacts: " + contacts.Count); } }); Activity.RunOnUiThread(() => { progressBarDialog.Dismiss(); }); if (contacts != null) { var adapter = new SharingAdapter(contacts); _sharingRecyclerView.SetAdapter(adapter); _sharingRecyclerView.SetLayoutManager(new LinearLayoutManager(Activity)); adapter.ItemClick += delegate(object sender, SharingAdapterClickEventArgs args) { string name = contacts[args.Position].Name; string email = contacts[args.Position].Email; CustomDialogProfileSharingData dialog = OpenMiniProfileDialog(); dialog.Name.Text = name; Glide.With(this).Load($"{Constants.PublicServerAddress}/{contacts[args.Position].Avatar}").Into(dialog.Image); dialog.ButtonConfirm.Visibility = ViewStates.Gone; dialog.ButtonCancel.Text = "Sterge"; dialog.ButtonCancel.SetPadding(5, 5, 5, 5); dialog.ButtonCancel.Click += delegate { AlertDialog alertDialog = new AlertDialog.Builder(Activity, Resource.Style.AppTheme_Dialog).Create(); alertDialog.SetTitle("Avertisment"); alertDialog.SetMessage("Doriti sa stergeti aceasta conexiune?"); alertDialog.SetButton("Da", async delegate { SharingModel obj = adapter.getItemAt(args.Position); adapter.DeleteItemAt(args.Position); adapter.NotifyDataSetChanged(); //item deleted from list, call server await sendData(obj); dialog.Dismiss(); // var serialized = JsonConvert.SerializeObject(contacts); // Utils.SetDefaults("Rooms", serialized, Activity); }); alertDialog.SetButton2("Nu", delegate { }); alertDialog.Show(); }; }; adapter.ItemLongClick += delegate(object sender, SharingAdapterClickEventArgs args) { if (Build.VERSION.SdkInt >= BuildVersionCodes.O) { AlertDialog alertDialog = new AlertDialog.Builder(Activity, Resource.Style.AppTheme_Dialog).Create(); alertDialog.SetTitle("Avertisment"); alertDialog.SetMessage("Doriti sa stergeti aceasta conexiune?"); alertDialog.SetButton("Da", delegate { adapter.DeleteItemAt(args.Position); adapter.NotifyDataSetChanged(); // var serialized = JsonConvert.SerializeObject(contacts); // Utils.SetDefaults("Rooms", serialized, Activity); }); alertDialog.SetButton2("Nu", delegate { }); alertDialog.Show(); } else { AlertDialog alertDialog = new AlertDialog.Builder(Activity, Resource.Style.AppTheme_Dialog).Create(); alertDialog.SetTitle("Avertisment"); alertDialog.SetMessage("Doriti sa stergeti aceasta conexiune?"); alertDialog.SetButton("Da", delegate { adapter.DeleteItemAt(args.Position); adapter.NotifyDataSetChanged(); // var serialized = JsonConvert.SerializeObject(contacts); // Utils.SetDefaults("Rooms", serialized, Activity); }); alertDialog.SetButton2("Nu", delegate { //just close dialog }); alertDialog.Show(); } }; } } catch (Exception e) { e.PrintStackTrace(); } }