private void updateGroupCheckStateForNumber(PhoneNumber phoneNumber, Group excludedGroup) { ArrayList<Group> phoneGroups = phoneNumber.getGroups(); if (phoneGroups == null) { return; } if (phoneNumber.isChecked() && phoneNumber.isDefault()) { for (Group group : phoneGroups) { if (group == excludedGroup || group.isLocal()) { continue; } boolean checked = true; for (PhoneNumber number : group.getPhoneNumbers()) { if (number.isDefault() && !number.isChecked()) { checked = false; break; } } group.setChecked(checked); } } else if (!phoneNumber.isChecked()) { for (Group group : phoneGroups) { if (group != excludedGroup) { group.setChecked(false); } } } }
private void flipVCardNumberState(PhoneNumber number) { if (mVCardNumber != null && mVCardNumber.isChecked()) { mVCardNumber.setChecked(false); mVCardNumber = null; } mVCardNumber = number; mVCardNumber.setChecked(true); }
private void putExtraWithContact(Intent intent) { if (mMode == MODE_DEFAULT) { ArrayList<String> numbers = new ArrayList<String>(); for (PhoneNumber phoneNumber : mCheckedPhoneNumbers) { if (phoneNumber.isChecked()) { numbers.add(phoneNumber.getNumber()); } } // We have to append any local group contacts which may have been checked if (mLocalGroups.size() > 0) { appendLocalGroupContacts(numbers); } intent.putExtra(EXTRA_RECIPIENTS, numbers); } else if (mMode == MODE_INFO) { intent.putExtra(EXTRA_INFO, getCheckedNumbersAsText()); } else if (mMode == MODE_VCARD) { if (mVCardNumber != null) { intent.putExtra(EXTRA_VCARD, getSelectedAsVcard(mVCardNumber).toString()); } } }