Merge "Change FAB hint and editor title when creating a new contact" into ub-contactsdialer-h-dev
diff --git a/src/com/android/contacts/SimImportFragment.java b/src/com/android/contacts/SimImportFragment.java
index 09bc4de..a873842 100644
--- a/src/com/android/contacts/SimImportFragment.java
+++ b/src/com/android/contacts/SimImportFragment.java
@@ -259,11 +259,6 @@
updateSelectedCount();
}
- @Override
- public void onSelectedContactsChangedViaCheckBox() {
- updateSelectedCount();
- }
-
private void updateSelectedCount() {
final int selectedCount = mAdapter.getSelectedContactIds().size();
if (selectedCount == 0) {
diff --git a/src/com/android/contacts/common/list/MultiSelectEntryContactListAdapter.java b/src/com/android/contacts/common/list/MultiSelectEntryContactListAdapter.java
index b08e367..1a18f46 100644
--- a/src/com/android/contacts/common/list/MultiSelectEntryContactListAdapter.java
+++ b/src/com/android/contacts/common/list/MultiSelectEntryContactListAdapter.java
@@ -20,7 +20,6 @@
import android.database.Cursor;
import android.provider.ContactsContract;
import android.view.View;
-import android.view.View.OnClickListener;
import android.widget.CheckBox;
import com.android.contacts.group.GroupUtil;
@@ -35,13 +34,12 @@
private SelectedContactsListener mSelectedContactsListener;
private DeleteContactListener mDeleteContactListener;
- private TreeSet<Long> mSelectedContactIds = new TreeSet<Long>();
+ private TreeSet<Long> mSelectedContactIds = new TreeSet<>();
private boolean mDisplayCheckBoxes;
private final int mContactIdColumnIndex;
public interface SelectedContactsListener {
void onSelectedContactsChanged();
- void onSelectedContactsChangedViaCheckBox();
}
public interface DeleteContactListener {
@@ -149,18 +147,17 @@
return cursor.getLong(getContactColumnIdIndex());
}
return 0;
- }
+ }
@Override
protected void bindView(View itemView, int partition, Cursor cursor, int position) {
super.bindView(itemView, partition, cursor, position);
final ContactListItemView view = (ContactListItemView) itemView;
bindViewId(view, cursor, getContactColumnIdIndex());
- bindCheckBox(view, cursor, position, partition == ContactsContract.Directory.DEFAULT);
+ bindCheckBox(view, cursor, partition == ContactsContract.Directory.DEFAULT);
}
- private void bindCheckBox(ContactListItemView view, Cursor cursor, int position,
- boolean isLocalDirectory) {
+ private void bindCheckBox(ContactListItemView view, Cursor cursor, boolean isLocalDirectory) {
// Disable clicking on all contacts from remote directories when showing check boxes. We do
// this by telling the view to handle clicking itself.
view.setClickable(!isLocalDirectory && mDisplayCheckBoxes);
@@ -173,24 +170,7 @@
final CheckBox checkBox = view.getCheckBox();
final long contactId = cursor.getLong(mContactIdColumnIndex);
checkBox.setChecked(mSelectedContactIds.contains(contactId));
+ checkBox.setClickable(false);
checkBox.setTag(contactId);
- checkBox.setOnClickListener(mCheckBoxClickListener);
}
-
- private final OnClickListener mCheckBoxClickListener = new OnClickListener() {
- @Override
- public void onClick(View v) {
- final CheckBox checkBox = (CheckBox) v;
- final Long contactId = (Long) checkBox.getTag();
- if (checkBox.isChecked()) {
- mSelectedContactIds.add(contactId);
- } else {
- mSelectedContactIds.remove(contactId);
- }
- notifyDataSetChanged();
- if (mSelectedContactsListener != null) {
- mSelectedContactsListener.onSelectedContactsChangedViaCheckBox();
- }
- }
- };
}
diff --git a/src/com/android/contacts/list/MultiSelectContactsListFragment.java b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
index 10e9370..7a6a64a 100644
--- a/src/com/android/contacts/list/MultiSelectContactsListFragment.java
+++ b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
@@ -115,16 +115,6 @@
}
@Override
- public void onSelectedContactsChangedViaCheckBox() {
- if (getAdapter().getSelectedContactIds().size() == 0) {
- // Last checkbox has been unchecked. So we should stop displaying checkboxes.
- mCheckBoxListListener.onStopDisplayingCheckBoxes();
- } else {
- onSelectedContactsChanged();
- }
- }
-
- @Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null) {
@@ -403,8 +393,8 @@
if (accountType instanceof GoogleAccountType) {
accountFilterHeaderIcon.getLayoutParams().height = getResources()
.getDimensionPixelOffset(R.dimen.contact_browser_list_header_icon_size);
- accountFilterHeaderIcon.getLayoutParams().width =
- accountFilterHeaderIcon.getLayoutParams().height;
+ accountFilterHeaderIcon.getLayoutParams().width = getResources()
+ .getDimensionPixelOffset(R.dimen.contact_browser_list_header_icon_size);
setMargins(accountFilterHeaderIcon,
getResources().getDimensionPixelOffset(
@@ -414,8 +404,8 @@
} else {
accountFilterHeaderIcon.getLayoutParams().height = getResources()
.getDimensionPixelOffset(R.dimen.contact_browser_list_header_icon_size_alt);
- accountFilterHeaderIcon.getLayoutParams().width =
- accountFilterHeaderIcon.getLayoutParams().height;
+ accountFilterHeaderIcon.getLayoutParams().width = getResources()
+ .getDimensionPixelOffset(R.dimen.contact_browser_list_header_icon_size_alt);
setMargins(accountFilterHeaderIcon,
getResources().getDimensionPixelOffset(
diff --git a/src/com/android/contacts/list/MultiSelectEmailAddressesListAdapter.java b/src/com/android/contacts/list/MultiSelectEmailAddressesListAdapter.java
index af9ee52..a71e49b 100644
--- a/src/com/android/contacts/list/MultiSelectEmailAddressesListAdapter.java
+++ b/src/com/android/contacts/list/MultiSelectEmailAddressesListAdapter.java
@@ -29,6 +29,7 @@
import android.provider.ContactsContract.CommonDataKinds.Email;
+import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.list.ContactListItemView;
import com.android.contacts.common.list.MultiSelectEntryContactListAdapter;
import com.android.contacts.common.preference.ContactsPreferences;
@@ -162,9 +163,7 @@
bindViewId(view, cursor, EmailQuery.EMAIL_ID);
if (isFirstEntry) {
bindName(view, cursor);
- bindQuickContact(view, partition, cursor, EmailQuery.PHOTO_ID,
- EmailQuery.PHOTO_URI, EmailQuery.CONTACT_ID,
- EmailQuery.LOOKUP_KEY, EmailQuery.DISPLAY_NAME);
+ bindPhoto(view, cursor);
} else {
unbindName(view);
view.removePhotoView(true, false);
@@ -172,6 +171,17 @@
bindEmailAddress(view, cursor);
}
+ protected void bindPhoto(final ContactListItemView view, Cursor cursor) {
+ final long photoId = cursor.isNull(EmailQuery.PHOTO_ID)
+ ? 0 : cursor.getLong(EmailQuery.PHOTO_ID);
+ final ContactPhotoManager.DefaultImageRequest imageRequest = photoId == 0
+ ? getDefaultImageRequestFromCursor(cursor, EmailQuery.DISPLAY_NAME,
+ EmailQuery.LOOKUP_KEY)
+ : null;
+ getPhotoLoader().loadThumbnail(view.getPhotoView(), photoId, false, getCircularPhotos(),
+ imageRequest);
+ }
+
protected void unbindName(final ContactListItemView view) {
view.hideDisplayName();
}
diff --git a/src/com/android/contacts/list/MultiSelectEmailAddressesListFragment.java b/src/com/android/contacts/list/MultiSelectEmailAddressesListFragment.java
index 956e473..64489a0 100644
--- a/src/com/android/contacts/list/MultiSelectEmailAddressesListFragment.java
+++ b/src/com/android/contacts/list/MultiSelectEmailAddressesListFragment.java
@@ -53,11 +53,6 @@
}
@Override
- public void onSelectedContactsChangedViaCheckBox() {
- onSelectedContactsChanged();
- }
-
- @Override
public void onCreateOptionsMenu(Menu menu, final MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.items_multi_select, menu);
diff --git a/src/com/android/contacts/list/MultiSelectPhoneNumbersListAdapter.java b/src/com/android/contacts/list/MultiSelectPhoneNumbersListAdapter.java
index 985809b..5dc9c17 100644
--- a/src/com/android/contacts/list/MultiSelectPhoneNumbersListAdapter.java
+++ b/src/com/android/contacts/list/MultiSelectPhoneNumbersListAdapter.java
@@ -29,6 +29,7 @@
import android.provider.ContactsContract.CommonDataKinds.Phone;
+import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.list.ContactListItemView;
import com.android.contacts.common.list.MultiSelectEntryContactListAdapter;
import com.android.contacts.common.preference.ContactsPreferences;
@@ -162,9 +163,7 @@
bindViewId(view, cursor, PhoneQuery.PHONE_ID);
if (isFirstEntry) {
bindName(view, cursor);
- bindQuickContact(view, partition, cursor, PhoneQuery.PHOTO_ID,
- PhoneQuery.PHOTO_URI, PhoneQuery.CONTACT_ID,
- PhoneQuery.LOOKUP_KEY, PhoneQuery.DISPLAY_NAME);
+ bindPhoto(view, cursor);
} else {
unbindName(view);
view.removePhotoView(true, false);
@@ -172,6 +171,17 @@
bindPhoneNumber(view, cursor);
}
+ protected void bindPhoto(final ContactListItemView view, Cursor cursor) {
+ final long photoId = cursor.isNull(PhoneQuery.PHOTO_ID)
+ ? 0 : cursor.getLong(PhoneQuery.PHOTO_ID);
+ final ContactPhotoManager.DefaultImageRequest imageRequest = photoId == 0
+ ? getDefaultImageRequestFromCursor(cursor, PhoneQuery.DISPLAY_NAME,
+ PhoneQuery.LOOKUP_KEY)
+ : null;
+ getPhotoLoader().loadThumbnail(view.getPhotoView(), photoId, false, getCircularPhotos(),
+ imageRequest);
+ }
+
protected void unbindName(final ContactListItemView view) {
view.hideDisplayName();
}
diff --git a/src/com/android/contacts/list/MultiSelectPhoneNumbersListFragment.java b/src/com/android/contacts/list/MultiSelectPhoneNumbersListFragment.java
index 751449b..96a1de6 100644
--- a/src/com/android/contacts/list/MultiSelectPhoneNumbersListFragment.java
+++ b/src/com/android/contacts/list/MultiSelectPhoneNumbersListFragment.java
@@ -53,11 +53,6 @@
}
@Override
- public void onSelectedContactsChangedViaCheckBox() {
- onSelectedContactsChanged();
- }
-
- @Override
public void onCreateOptionsMenu(Menu menu, final MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.items_multi_select, menu);