Refactor ContactSelectionListAdapter and associated views.

Fixes #3181
Closes #3197

// FREEBIE
This commit is contained in:
Moxie Marlinspike
2015-05-19 14:00:54 -07:00
parent 3e890e11d9
commit 636b11abea
8 changed files with 227 additions and 382 deletions

View File

@@ -380,17 +380,14 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity {
switch (reqCode) {
case PICK_CONTACT:
List<ContactData> selected = data.getParcelableArrayListExtra("contacts");
for (ContactData contact : selected) {
for (ContactAccessor.NumberData numberData : contact.numbers) {
Recipient recipient = RecipientFactory.getRecipientsFromString(this, numberData.number, false)
.getPrimaryRecipient();
List<String> selected = data.getStringArrayListExtra("contacts");
for (String contact : selected) {
Recipient recipient = RecipientFactory.getRecipientsFromString(this, contact, false).getPrimaryRecipient();
if (!selectedContacts.contains(recipient) &&
(existingContacts == null || !existingContacts.contains(recipient)) &&
recipient != null) {
addSelectedContact(recipient);
}
if (!selectedContacts.contains(recipient) &&
(existingContacts == null || !existingContacts.contains(recipient)) &&
recipient != null) {
addSelectedContact(recipient);
}
}
syncAdapterWithSelectedContacts();