Esempio n. 1
0
        //CONTACTS METHODS-----------------------------------------------------------------------
        private async void GetContacts()
        {
            HomeListView.BeginRefresh();
            IList <Contact> contacts = await Plugin.ContactService.CrossContactService.Current.GetContactListAsync();

            List <CustomContact>        customContacts  = new List <CustomContact>();
            Dictionary <string, string> phoneToNameDict = new Dictionary <string, string>();

            foreach (Contact contact in contacts)
            {
                customContacts.Add(new CustomContact(
                                       contact,
                                       "Offline",
                                       new Command(() => {
                    MainThread.BeginInvokeOnMainThread(() => { Navigation.PushAsync(new ChatPage(contact.Name, contact.Number)); });
                })    //Navigation.PushAsync(new ChatPage(contacts[i].Name, contacts[i].Number)))
                                       ));
                int customContactNo = contacts.IndexOf(contact);
                //if (customContacts[contacts.IndexOf(contact)].Number != null)
                if (!phoneToNameDict.ContainsKey(customContacts[customContactNo].Number.Replace(" ", "").Trim()))
                {
                    phoneToNameDict.Add(customContacts[customContactNo].Number.Replace(" ", "").Trim(), contact.Name);
                }
            }
            PhoneContacts.PhoneToNameDict   = phoneToNameDict;
            PhoneContacts.AllCustomContacts = customContacts;
            HomeListView.ItemsSource        = customContacts;
            HomeListView.EndRefresh();
        }
Esempio n. 2
0
        private async void RefreshContacts()
        {
            HomeListView.BeginRefresh();
            List <string> contactsArray = new List <string>();

            var contacts = PhoneContacts.AllCustomContacts;

            foreach (Contact contact in contacts)
            {
                contactsArray.Add(contact.Number.Replace(" ", "").Trim());
            }

            int[] contactCodes = await Services.ChatClient.ConsultAllContactsState(contactsArray.ToArray());

            List <CustomContact> newCustomContacts = contacts;

            for (int i = 0; i < contacts.Count; i++)
            {
                newCustomContacts[i].PlayingState = Constants.AppConstants.userStateDict[contactCodes[i]];
            }
            PhoneContacts.AllCustomContacts = newCustomContacts;
            HomeListView.ItemsSource        = null;

            HomeListView.ItemsSource = newCustomContacts.OrderByDescending(item => item.PlayingState);
            HomeListView.EndRefresh();
        }
Esempio n. 3
0
        protected override void OnAppearing()
        {
            base.OnAppearing();

            if (HomeListView != null)
            {
                HomeListView.ClearValue(ListView.SelectedItemProperty);
            }
        }