Format phone number in QuickContactsActivity
Bug: 7230016
Change-Id: I0b28e131ee35d8948a574cab9b2a1c849edfc162
diff --git a/src/com/android/contacts/model/dataitem/DataItem.java b/src/com/android/contacts/model/dataitem/DataItem.java
index 25c44cb..391c657 100644
--- a/src/com/android/contacts/model/dataitem/DataItem.java
+++ b/src/com/android/contacts/model/dataitem/DataItem.java
@@ -206,6 +206,17 @@
return actionBody == null ? null : actionBody.toString();
}
+ /**
+ * This builds the data string(intended for display) depending on the type of data item. It
+ * returns the same value as {@link #buildDataString} by default, but certain data items can
+ * override it to provide their version of formatted data strings.
+ *
+ * @return Data string representing the data item, possibly formatted for display
+ */
+ public String buildDataStringForDisplay() {
+ return buildDataString();
+ }
+
public String getKindString() {
final DataKind kind = getDataKind();
return (kind.titleRes == -1 || kind.titleRes == 0) ? ""
diff --git a/src/com/android/contacts/model/dataitem/PhoneDataItem.java b/src/com/android/contacts/model/dataitem/PhoneDataItem.java
index 61d62c1..3931563 100644
--- a/src/com/android/contacts/model/dataitem/PhoneDataItem.java
+++ b/src/com/android/contacts/model/dataitem/PhoneDataItem.java
@@ -70,4 +70,17 @@
}
}
+ /**
+ * Returns the formatted phone number (if already computed using {@link
+ * #computeFormattedPhoneNumber}). Otherwise this method returns the unformatted phone number.
+ */
+ @Override
+ public String buildDataStringForDisplay() {
+ final String formatted = getFormattedPhoneNumber();
+ if (formatted != null) {
+ return formatted;
+ } else {
+ return getNumber();
+ }
+ }
}
diff --git a/src/com/android/contacts/quickcontact/DataAction.java b/src/com/android/contacts/quickcontact/DataAction.java
index c10c338..829475f 100644
--- a/src/com/android/contacts/quickcontact/DataAction.java
+++ b/src/com/android/contacts/quickcontact/DataAction.java
@@ -95,7 +95,7 @@
}
mIsPrimary = item.isSuperPrimary();
- mBody = item.buildDataString();
+ mBody = item.buildDataStringForDisplay();
mDataId = item.getId();
mDataUri = ContentUris.withAppendedId(Data.CONTENT_URI, mDataId);
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 25fb3f4..1ca2bcc 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -547,7 +547,10 @@
if (mLookupUri == null) {
Log.wtf(TAG, "Lookup uri wasn't initialized. Loader was started too early");
}
- return new ContactLoader(getApplicationContext(), mLookupUri, false);
+ return new ContactLoader(getApplicationContext(), mLookupUri,
+ false /*loadGroupMetaData*/, false /*loadStreamItems*/,
+ false /*loadInvitableAccountTypes*/, false /*postViewNotification*/,
+ true /*computeFormattedPhoneNumber*/);
}
};