Adds support to selecting name preference order
Bug: 16467223
Change-Id: I34b4267929cded27cc9f71a7d7c7af5798f84931
diff --git a/src/com/android/contacts/activities/ContactDetailActivity.java b/src/com/android/contacts/activities/ContactDetailActivity.java
index c984b7a..849923d 100644
--- a/src/com/android/contacts/activities/ContactDetailActivity.java
+++ b/src/com/android/contacts/activities/ContactDetailActivity.java
@@ -40,15 +40,14 @@
import com.android.contacts.ContactSaveService;
import com.android.contacts.ContactsActivity;
import com.android.contacts.R;
-import com.android.contacts.detail.ContactDetailDisplayUtils;
+import com.android.contacts.common.model.Contact;
+import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.detail.ContactDetailFragment;
import com.android.contacts.detail.ContactDetailLayoutController;
+import com.android.contacts.detail.ContactDisplayUtils;
import com.android.contacts.detail.ContactLoaderFragment;
import com.android.contacts.detail.ContactLoaderFragment.ContactLoaderFragmentListener;
import com.android.contacts.interactions.ContactDeletionInteraction;
-import com.android.contacts.common.model.Contact;
-import com.android.contacts.common.model.account.AccountWithDataSet;
-import com.android.contacts.util.PhoneCapabilityTester;
import java.util.ArrayList;
@@ -115,7 +114,7 @@
final boolean isStarred = starredMenuItem.isChecked();
// To improve responsiveness, swap out the picture (and tag) in the UI already
- ContactDetailDisplayUtils.configureStarredMenuItem(starredMenuItem,
+ ContactDisplayUtils.configureStarredMenuItem(starredMenuItem,
mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
!isStarred);
@@ -129,7 +128,7 @@
});
// If there is contact data, update the starred state
if (mContactData != null) {
- ContactDetailDisplayUtils.configureStarredMenuItem(starredMenuItem,
+ ContactDisplayUtils.configureStarredMenuItem(starredMenuItem,
mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
mContactData.getStarred());
}
@@ -209,8 +208,8 @@
* Setup the activity title and subtitle with contact name and company.
*/
private void setupTitle() {
- CharSequence displayName = ContactDetailDisplayUtils.getDisplayName(this, mContactData);
- String company = ContactDetailDisplayUtils.getCompany(this, mContactData);
+ CharSequence displayName = ContactDisplayUtils.getDisplayName(this, mContactData);
+ String company = ContactDisplayUtils.getCompany(this, mContactData);
ActionBar actionBar = getActionBar();
actionBar.setTitle(displayName);
diff --git a/src/com/android/contacts/detail/ContactDetailFragment.java b/src/com/android/contacts/detail/ContactDetailFragment.java
index 85581d5..50be097 100644
--- a/src/com/android/contacts/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/detail/ContactDetailFragment.java
@@ -18,7 +18,6 @@
import android.app.Activity;
import android.app.Fragment;
-import android.app.SearchManager;
import android.content.ComponentName;
import android.content.ContentUris;
import android.content.ContentValues;
@@ -26,21 +25,16 @@
import android.content.Intent;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
-import android.net.ParseException;
import android.net.Uri;
-import android.net.WebAddress;
import android.os.Bundle;
import android.os.Parcelable;
-import android.provider.CalendarContract;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
import android.provider.ContactsContract.CommonDataKinds.Im;
import android.provider.ContactsContract.CommonDataKinds.Phone;
-import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.Directory;
-import android.provider.ContactsContract.DisplayNameSources;
import android.provider.ContactsContract.StatusUpdates;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
@@ -75,30 +69,24 @@
import com.android.contacts.activities.ContactDetailActivity.FragmentKeyListener;
import com.android.contacts.common.CallUtil;
import com.android.contacts.common.ClipboardUtils;
-import com.android.contacts.common.Collapser;
-import com.android.contacts.common.ContactsUtils;
-import com.android.contacts.common.GroupMetaData;
import com.android.contacts.common.Collapser.Collapsible;
import com.android.contacts.common.ContactPresenceIconUtil;
-import com.android.contacts.common.GeoUtil;
+import com.android.contacts.common.ContactsUtils;
+import com.android.contacts.common.GroupMetaData;
import com.android.contacts.common.MoreContactUtils;
import com.android.contacts.common.editor.SelectAccountDialogFragment;
import com.android.contacts.common.model.AccountTypeManager;
-import com.android.contacts.common.model.ValuesDelta;
-import com.android.contacts.common.model.account.AccountType;
-import com.android.contacts.common.model.account.AccountType.EditType;
-import com.android.contacts.common.model.account.AccountWithDataSet;
-import com.android.contacts.common.model.dataitem.DataKind;
-import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter;
-import com.android.contacts.common.util.ContactDisplayUtils;
-import com.android.contacts.common.util.DataStatus;
-import com.android.contacts.common.util.DateUtils;
import com.android.contacts.common.model.Contact;
import com.android.contacts.common.model.RawContact;
import com.android.contacts.common.model.RawContactDelta;
import com.android.contacts.common.model.RawContactDeltaList;
import com.android.contacts.common.model.RawContactModifier;
+import com.android.contacts.common.model.ValuesDelta;
+import com.android.contacts.common.model.account.AccountType;
+import com.android.contacts.common.model.account.AccountType.EditType;
+import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.common.model.dataitem.DataItem;
+import com.android.contacts.common.model.dataitem.DataKind;
import com.android.contacts.common.model.dataitem.EmailDataItem;
import com.android.contacts.common.model.dataitem.EventDataItem;
import com.android.contacts.common.model.dataitem.GroupMembershipDataItem;
@@ -112,17 +100,16 @@
import com.android.contacts.common.model.dataitem.StructuredNameDataItem;
import com.android.contacts.common.model.dataitem.StructuredPostalDataItem;
import com.android.contacts.common.model.dataitem.WebsiteDataItem;
+import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter;
+import com.android.contacts.common.util.DataStatus;
import com.android.contacts.util.PhoneCapabilityTester;
import com.android.contacts.util.StructuredPostalUtils;
import com.android.contacts.util.UiClosables;
-import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Objects;
import com.google.common.collect.Iterables;
import java.util.ArrayList;
-import java.util.Calendar;
import java.util.Collections;
-import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -378,7 +365,7 @@
* list cannot have a positive offset.
*/
public int getFirstListItemOffset() {
- return ContactDetailDisplayUtils.getFirstListItemOffset(mListView);
+ return ContactDisplayUtils.getFirstListItemOffset(mListView);
}
/**
@@ -387,7 +374,7 @@
* @param offset which should be <= 0
*/
public void requestToMoveToOffset(int offset) {
- ContactDetailDisplayUtils.requestToMoveToOffset(mListView, offset);
+ ContactDisplayUtils.requestToMoveToOffset(mListView, offset);
}
protected void bindData() {
@@ -581,7 +568,8 @@
entry.secondaryIntent = smsIntent;
entry.secondaryActionIcon = kind.iconAltRes;
entry.secondaryActionDescription =
- ContactDisplayUtils.getSmsLabelResourceId(entry.type);
+ com.android.contacts.common.util.ContactDisplayUtils.
+ getSmsLabelResourceId(entry.type);
} else if (hasPhone) {
entry.intent = phoneIntent;
} else if (hasSms) {
@@ -786,7 +774,7 @@
* done manually because phonetic name doesn't have a mimetype or action intent.
*/
private void addPhoneticName() {
- String phoneticName = ContactDetailDisplayUtils.getPhoneticName(mContext, mContactData);
+ String phoneticName = ContactDisplayUtils.getPhoneticName(mContext, mContactData);
if (TextUtils.isEmpty(phoneticName)) {
return;
}
@@ -809,7 +797,7 @@
* to the same {@link DataKind}.
*/
private void addNetworks() {
- String attribution = ContactDetailDisplayUtils.getAttribution(mContext, mContactData);
+ String attribution = ContactDisplayUtils.getAttribution(mContext, mContactData);
boolean hasAttribution = !TextUtils.isEmpty(attribution);
int networksCount = mOtherEntriesMap.keySet().size();
@@ -1519,9 +1507,9 @@
result.setTag(viewCache);
}
- ContactDetailDisplayUtils.setDisplayName(mContext, mContactData,
+ ContactDisplayUtils.setDisplayName(mContext, mContactData,
viewCache.displayNameView);
- ContactDetailDisplayUtils.setCompanyName(mContext, mContactData, viewCache.companyView);
+ ContactDisplayUtils.setCompanyName(mContext, mContactData, viewCache.companyView);
// Set the photo if it should be displayed
if (viewCache.photoView != null) {
@@ -1537,7 +1525,7 @@
// Set the starred state if it should be displayed
final ImageView favoritesStar = viewCache.starredView;
if (favoritesStar != null) {
- ContactDetailDisplayUtils.configureStarredImageView(favoritesStar,
+ ContactDisplayUtils.configureStarredImageView(favoritesStar,
mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
mContactData.getStarred());
final Uri lookupUri = mContactData.getLookupUri();
@@ -1556,7 +1544,7 @@
// To improve responsiveness, swap out the picture (and tag) in the UI
// already
- ContactDetailDisplayUtils.configureStarredImageView(favoritesStar,
+ ContactDisplayUtils.configureStarredImageView(favoritesStar,
mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
!isStarred);
@@ -1715,7 +1703,8 @@
String secondaryActionDescription = null;
if (entry.secondaryActionIcon != -1) {
secondaryActionIcon = resources.getDrawable(entry.secondaryActionIcon);
- if (ContactDisplayUtils.isCustomPhoneType(entry.type)) {
+ if (com.android.contacts.common.util.ContactDisplayUtils.isCustomPhoneType(
+ entry.type)) {
secondaryActionDescription = resources.getString(
entry.secondaryActionDescription, entry.typeString);
} else {
diff --git a/src/com/android/contacts/detail/ContactDetailDisplayUtils.java b/src/com/android/contacts/detail/ContactDisplayUtils.java
similarity index 99%
rename from src/com/android/contacts/detail/ContactDetailDisplayUtils.java
rename to src/com/android/contacts/detail/ContactDisplayUtils.java
index 2684af7..1180219 100644
--- a/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
+++ b/src/com/android/contacts/detail/ContactDisplayUtils.java
@@ -50,8 +50,8 @@
* (meaning name, phonetic name, job, and attribution) from a
* {@link Contact} data object to appropriate {@link View}s.
*/
-public class ContactDetailDisplayUtils {
- private static final String TAG = "ContactDetailDisplayUtils";
+public class ContactDisplayUtils {
+ private static final String TAG = "ContactDisplayUtils";
/**
* Returns the display name of the contact, using the current display order setting.
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 5eb1fd5..06622b6 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -114,7 +114,7 @@
import com.android.contacts.common.util.DateUtils;
import com.android.contacts.common.util.MaterialColorMapUtils;
import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette;
-import com.android.contacts.detail.ContactDetailDisplayUtils;
+import com.android.contacts.detail.ContactDisplayUtils;
import com.android.contacts.interactions.CalendarInteractionsLoader;
import com.android.contacts.interactions.CallLogInteractionsLoader;
import com.android.contacts.interactions.ContactDeletionInteraction;
@@ -687,7 +687,7 @@
mPhotoSetter.setupContactPhoto(data, mPhotoView);
extractAndApplyTintFromPhotoViewAsynchronously();
analyzeWhitenessOfPhotoAsynchronously();
- setHeaderNameText(data.getDisplayName());
+ setHeaderNameText(ContactDisplayUtils.getDisplayName(this, data).toString());
Trace.endSection();
@@ -1579,7 +1579,7 @@
final boolean isStarred = starredMenuItem.isChecked();
// To improve responsiveness, swap out the picture (and tag) in the UI already
- ContactDetailDisplayUtils.configureStarredMenuItem(starredMenuItem,
+ ContactDisplayUtils.configureStarredMenuItem(starredMenuItem,
mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
!isStarred);
@@ -1677,7 +1677,7 @@
public boolean onPrepareOptionsMenu(Menu menu) {
if (mContactData != null) {
final MenuItem starredMenuItem = menu.findItem(R.id.menu_star);
- ContactDetailDisplayUtils.configureStarredMenuItem(starredMenuItem,
+ ContactDisplayUtils.configureStarredMenuItem(starredMenuItem,
mContactData.isDirectoryEntry(), mContactData.isUserProfile(),
mContactData.getStarred());
// Configure edit MenuItem
diff --git a/src/com/android/contacts/widget/AlphaTouchInterceptorOverlay.java b/src/com/android/contacts/widget/AlphaTouchInterceptorOverlay.java
index 8779a95..f203193 100644
--- a/src/com/android/contacts/widget/AlphaTouchInterceptorOverlay.java
+++ b/src/com/android/contacts/widget/AlphaTouchInterceptorOverlay.java
@@ -20,7 +20,7 @@
import android.view.View;
import android.widget.FrameLayout;
-import com.android.contacts.detail.ContactDetailDisplayUtils;
+import com.android.contacts.detail.ContactDisplayUtils;
import com.android.contacts.util.ThemeUtils;
/**
@@ -66,7 +66,7 @@
if (mAlphaLayer == alphaLayer) return;
// We're no longer the alpha-layer, so make ourself invisible.
- if (mAlphaLayer == this) ContactDetailDisplayUtils.setAlphaOnViewBackground(this, 0.0f);
+ if (mAlphaLayer == this) ContactDisplayUtils.setAlphaOnViewBackground(this, 0.0f);
mAlphaLayer = (alphaLayer == null) ? this : alphaLayer;
setAlphaLayerValue(mAlpha);
@@ -76,7 +76,7 @@
public void setAlphaLayerValue(float alpha) {
mAlpha = alpha;
if (mAlphaLayer != null) {
- ContactDetailDisplayUtils.setAlphaOnViewBackground(mAlphaLayer, mAlpha);
+ ContactDisplayUtils.setAlphaOnViewBackground(mAlphaLayer, mAlpha);
}
}