protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); ContactsController.instance.CreateTable(); contacts = ContactsController.instance.GetItems().ToList(); SetContentView(Resource.Layout.contacts); search = FindViewById <MaterialButton>(Resource.Id.searchUser); list = FindViewById <ListView>(Resource.Id.contactList); adapter = new ContactItemAdapter(fillList()); list.Adapter = adapter; search.Click += delegate { search_click(); }; list.ItemClick += (sender, e) => { item_click(sender, e); }; tb = FindViewById <Android.Support.V7.Widget.Toolbar>(Resource.Id.tooolbarCommon); drawer = FindViewById <DrawerLayout>(Resource.Id.drawerLayout1); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, Resource.String.openDrawer, Resource.String.closeDrawer); toggle.SyncState(); SetSupportActionBar(tb); Android.Support.V7.App.ActionBar abar = SupportActionBar; navigation = FindViewById <NavigationView>(Resource.Id.navigationMain); navigation.SetNavigationItemSelectedListener(this); var header = navigation.GetHeaderView(0); TextView name = header.FindViewById <TextView>(Resource.Id.nav_bar_name); name.Text = AccountsController.mainAccP.loginP; TextView ml = header.FindViewById <TextView>(Resource.Id.nav_bar_addr); ml.Text = AccountsController.mainAccP.emailP; abar.SetHomeButtonEnabled(true); abar.SetDisplayShowTitleEnabled(true); abar.SetHomeAsUpIndicator(Resource.Drawable.menu); abar.SetDisplayHomeAsUpEnabled(true); }
protected override void OnRestart() { base.OnResume(); if (ContactsController.currContP != null) { list = FindViewById <ListView>(Resource.Id.contactList); var temp = contacts.Where(x => x.Id == ContactsController.currContP.Id).ToList()[0]; contacts.Remove(temp); if (ContactsController.currContP.deletedP == false) { contacts.Add(ContactsController.currContP); } else { ContactsController.currContP = null; } adapter = new ContactItemAdapter(fillList()); list.Adapter = adapter; } }
private async void search_user() { try { pb.Visibility = ViewStates.Visible; email.Enabled = false; search.Enabled = false; if (email.Text == AccountsController.mainAccP.emailP) { throw new SystemException("Данный адрес электронной почты совпадает с адресом вашего аккаунта!"); } string v1 = (AccountsController.mainAccP.emailP + "+" + email.Text).Replace(".", ","); string v2 = (email.Text + "+" + AccountsController.mainAccP.emailP).Replace(".", ","); Task <bool> isExists = FirebaseController.instance.IsDialogExists(v1, v2); bool answer = await isExists; if (answer) { throw new SystemException("У вас уже есть контакт с таким электронным ящиком! Проверьте запросы на диалоги!"); } if (FirebaseController.instance.app == null) { FirebaseController.instance.initFireBaseAuth(); } string s = await FirebaseController.instance.LoginUser(email.Text, "1"); } catch (FirebaseAuthInvalidCredentialsException ex1) { if (ex1.Message.Contains("password is invalid")) { Contact fnd = new Contact { contactAddressP = email.Text }; var list = new List <Contact>(); list.Add(fnd); adapter = new ContactItemAdapter(list); found.Adapter = adapter; found.Visibility = ViewStates.Visible; Utils.MessageBox("Пользователь найден! Нажмите на появившийся элемент, чтобы отправить запрос на диалог", this); } else { if (ex1.Message.Contains("email address is badly formatted")) { Utils.MessageBox("Некорректный адрес электронной почты!", this); } else { Utils.MessageBox("Непредвиденная ошибка, повторите попытку позже", this); } } } catch (FirebaseAuthInvalidUserException ex2) { if (ex2.Message.Contains("no user record")) { Utils.MessageBox("Пользователя с таким электронным адресом не существует", this); } } catch (SystemException ex3) { Utils.MessageBox(ex3.Message, this); } pb.Visibility = ViewStates.Invisible; email.Enabled = true; search.Enabled = true; }