Merge "Fix ANR in UndemoteOutgoingCallReceiver"
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index a24940d..c96cbf1 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -37,7 +37,6 @@
import android.provider.ContactsContract.DisplayNameSources;
import android.provider.ContactsContract.Intents.Insert;
import android.provider.VoicemailContract.Voicemails;
-import android.telephony.PhoneNumberUtils;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
@@ -59,13 +58,14 @@
import com.android.contacts.common.GeoUtil;
import com.android.contacts.common.model.Contact;
import com.android.contacts.common.model.ContactLoader;
+import com.android.contacts.common.util.PhoneNumberHelper;
import com.android.contacts.common.util.UriUtils;
import com.android.dialer.BackScrollManager.ScrollableHeader;
import com.android.dialer.calllog.CallDetailHistoryAdapter;
import com.android.dialer.calllog.CallTypeHelper;
import com.android.dialer.calllog.ContactInfo;
import com.android.dialer.calllog.ContactInfoHelper;
-import com.android.dialer.calllog.PhoneNumberHelper;
+import com.android.dialer.calllog.PhoneNumberDisplayHelper;
import com.android.dialer.calllog.PhoneNumberUtilsWrapper;
import com.android.dialer.util.AsyncTaskExecutor;
import com.android.dialer.util.AsyncTaskExecutors;
@@ -114,7 +114,7 @@
public static final String EXTRA_FROM_NOTIFICATION = "EXTRA_FROM_NOTIFICATION";
private CallTypeHelper mCallTypeHelper;
- private PhoneNumberHelper mPhoneNumberHelper;
+ private PhoneNumberDisplayHelper mPhoneNumberHelper;
private PhoneCallDetailsHelper mPhoneCallDetailsHelper;
private TextView mHeaderTextView;
private View mHeaderOverlayView;
@@ -300,7 +300,7 @@
mResources = getResources();
mCallTypeHelper = new CallTypeHelper(getResources());
- mPhoneNumberHelper = new PhoneNumberHelper(mResources);
+ mPhoneNumberHelper = new PhoneNumberDisplayHelper(mResources);
mPhoneCallDetailsHelper = new PhoneCallDetailsHelper(mResources, mCallTypeHelper,
new PhoneNumberUtilsWrapper());
mVoicemailStatusHelper = new VoicemailStatusHelperImpl();
@@ -561,7 +561,7 @@
// Only show a label if the number is shown and it is not a SIP address.
if (!TextUtils.isEmpty(firstDetails.name)
&& !TextUtils.isEmpty(firstDetails.number)
- && !PhoneNumberUtils.isUriNumber(firstDetails.number.toString())) {
+ && !PhoneNumberHelper.isUriNumber(firstDetails.number.toString())) {
entry.label = Phone.getTypeLabel(mResources, firstDetails.numberType,
firstDetails.numberLabel);
}
diff --git a/src/com/android/dialer/PhoneCallDetailsHelper.java b/src/com/android/dialer/PhoneCallDetailsHelper.java
index 340168e..af0a525 100644
--- a/src/com/android/dialer/PhoneCallDetailsHelper.java
+++ b/src/com/android/dialer/PhoneCallDetailsHelper.java
@@ -31,9 +31,10 @@
import android.widget.TextView;
import com.android.contacts.common.test.NeededForTesting;
+import com.android.contacts.common.util.PhoneNumberHelper;
import com.android.dialer.calllog.CallTypeHelper;
import com.android.dialer.calllog.ContactInfo;
-import com.android.dialer.calllog.PhoneNumberHelper;
+import com.android.dialer.calllog.PhoneNumberDisplayHelper;
import com.android.dialer.calllog.PhoneNumberUtilsWrapper;
/**
@@ -48,7 +49,7 @@
private Long mCurrentTimeMillisForTest;
// Helper classes.
private final CallTypeHelper mCallTypeHelper;
- private final PhoneNumberHelper mPhoneNumberHelper;
+ private final PhoneNumberDisplayHelper mPhoneNumberHelper;
private final PhoneNumberUtilsWrapper mPhoneNumberUtilsWrapper;
/**
@@ -62,7 +63,7 @@
PhoneNumberUtilsWrapper phoneUtils) {
mResources = resources;
mCallTypeHelper = callTypeHelper;
- mPhoneNumberHelper = new PhoneNumberHelper(resources);
+ mPhoneNumberHelper = new PhoneNumberDisplayHelper(resources);
mPhoneNumberUtilsWrapper = phoneUtils;
}
@@ -102,7 +103,7 @@
CharSequence numberFormattedLabel = null;
// Only show a label if the number is shown and it is not a SIP address.
if (!TextUtils.isEmpty(details.number)
- && !PhoneNumberUtils.isUriNumber(details.number.toString())) {
+ && !PhoneNumberHelper.isUriNumber(details.number.toString())) {
if (details.numberLabel == ContactInfo.GEOCODE_AS_LABEL) {
numberFormattedLabel = details.geocode;
} else {
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java
index e4fd0d8..a668196 100644
--- a/src/com/android/dialer/calllog/CallLogAdapter.java
+++ b/src/com/android/dialer/calllog/CallLogAdapter.java
@@ -176,7 +176,7 @@
/** Helper to set up contact photos. */
private final ContactPhotoManager mContactPhotoManager;
/** Helper to parse and process phone numbers. */
- private PhoneNumberHelper mPhoneNumberHelper;
+ private PhoneNumberDisplayHelper mPhoneNumberHelper;
/** Helper to group call log entries. */
private final CallLogGroupBuilder mCallLogGroupBuilder;
@@ -263,7 +263,7 @@
CallTypeHelper callTypeHelper = new CallTypeHelper(resources);
mContactPhotoManager = ContactPhotoManager.getInstance(mContext);
- mPhoneNumberHelper = new PhoneNumberHelper(resources);
+ mPhoneNumberHelper = new PhoneNumberDisplayHelper(resources);
PhoneCallDetailsHelper phoneCallDetailsHelper = new PhoneCallDetailsHelper(
resources, callTypeHelper, new PhoneNumberUtilsWrapper());
mCallLogViewsHelper =
diff --git a/src/com/android/dialer/calllog/CallLogFragment.java b/src/com/android/dialer/calllog/CallLogFragment.java
index c8e2613..4fb4b0a 100644
--- a/src/com/android/dialer/calllog/CallLogFragment.java
+++ b/src/com/android/dialer/calllog/CallLogFragment.java
@@ -40,6 +40,7 @@
import com.android.common.io.MoreCloseables;
import com.android.contacts.common.CallUtil;
import com.android.contacts.common.GeoUtil;
+import com.android.contacts.common.util.PhoneNumberHelper;
import com.android.dialer.R;
import com.android.dialer.util.EmptyLoader;
import com.android.dialer.voicemail.VoicemailStatusHelper;
@@ -368,7 +369,7 @@
}
Intent intent;
// If "number" is really a SIP address, construct a sip: URI.
- if (PhoneNumberUtils.isUriNumber(number)) {
+ if (PhoneNumberHelper.isUriNumber(number)) {
intent = CallUtil.getCallIntent(
Uri.fromParts(CallUtil.SCHEME_SIP, number, null));
} else {
diff --git a/src/com/android/dialer/calllog/CallLogGroupBuilder.java b/src/com/android/dialer/calllog/CallLogGroupBuilder.java
index 213f1e7..0b2edf0 100644
--- a/src/com/android/dialer/calllog/CallLogGroupBuilder.java
+++ b/src/com/android/dialer/calllog/CallLogGroupBuilder.java
@@ -21,6 +21,8 @@
import android.telephony.PhoneNumberUtils;
import com.android.common.widget.GroupingListAdapter;
+import com.android.contacts.common.util.PhoneNumberHelper;
+
import com.google.common.annotations.VisibleForTesting;
/**
@@ -117,7 +119,7 @@
@VisibleForTesting
boolean equalNumbers(String number1, String number2) {
- if (PhoneNumberUtils.isUriNumber(number1) || PhoneNumberUtils.isUriNumber(number2)) {
+ if (PhoneNumberHelper.isUriNumber(number1) || PhoneNumberHelper.isUriNumber(number2)) {
return compareSipAddresses(number1, number2);
} else {
return PhoneNumberUtils.compare(number1, number2);
diff --git a/src/com/android/dialer/calllog/CallLogListItemHelper.java b/src/com/android/dialer/calllog/CallLogListItemHelper.java
index 576a432..a38ef01 100644
--- a/src/com/android/dialer/calllog/CallLogListItemHelper.java
+++ b/src/com/android/dialer/calllog/CallLogListItemHelper.java
@@ -32,7 +32,7 @@
/** Helper for populating the details of a phone call. */
private final PhoneCallDetailsHelper mPhoneCallDetailsHelper;
/** Helper for handling phone numbers. */
- private final PhoneNumberHelper mPhoneNumberHelper;
+ private final PhoneNumberDisplayHelper mPhoneNumberHelper;
/** Resources to look up strings. */
private final Resources mResources;
@@ -43,7 +43,7 @@
* @param phoneNumberHelper used to process phone number
*/
public CallLogListItemHelper(PhoneCallDetailsHelper phoneCallDetailsHelper,
- PhoneNumberHelper phoneNumberHelper, Resources resources) {
+ PhoneNumberDisplayHelper phoneNumberHelper, Resources resources) {
mPhoneCallDetailsHelper = phoneCallDetailsHelper;
mPhoneNumberHelper = phoneNumberHelper;
mResources = resources;
diff --git a/src/com/android/dialer/calllog/ContactInfoHelper.java b/src/com/android/dialer/calllog/ContactInfoHelper.java
index bcb98fd..d248c70 100644
--- a/src/com/android/dialer/calllog/ContactInfoHelper.java
+++ b/src/com/android/dialer/calllog/ContactInfoHelper.java
@@ -28,6 +28,7 @@
import android.text.TextUtils;
import com.android.contacts.common.util.Constants;
+import com.android.contacts.common.util.PhoneNumberHelper;
import com.android.contacts.common.util.UriUtils;
import com.android.dialer.service.CachedNumberLookupService;
import com.android.dialer.service.CachedNumberLookupService.CachedContactInfo;
@@ -66,13 +67,13 @@
final ContactInfo info;
// Determine the contact info.
- if (PhoneNumberUtils.isUriNumber(number)) {
+ if (PhoneNumberHelper.isUriNumber(number)) {
// This "number" is really a SIP address.
ContactInfo sipInfo = queryContactInfoForSipAddress(number);
if (sipInfo == null || sipInfo == ContactInfo.EMPTY) {
// Check whether the "username" part of the SIP address is
// actually the phone number of a contact.
- String username = PhoneNumberUtils.getUsernameFromUriNumber(number);
+ String username = PhoneNumberHelper.getUsernameFromUriNumber(number);
if (PhoneNumberUtils.isGlobalPhoneNumber(username)) {
sipInfo = queryContactInfoForPhoneNumber(username, countryIso);
}
@@ -253,7 +254,7 @@
return "";
}
// If "number" is really a SIP address, don't try to do any formatting at all.
- if (PhoneNumberUtils.isUriNumber(number)) {
+ if (PhoneNumberHelper.isUriNumber(number)) {
return number;
}
if (TextUtils.isEmpty(countryIso)) {
diff --git a/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java b/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
index 14e1bed..fedd012 100644
--- a/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
+++ b/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
@@ -57,7 +57,7 @@
private final NotificationManager mNotificationManager;
private final NewCallsQuery mNewCallsQuery;
private final NameLookupQuery mNameLookupQuery;
- private final PhoneNumberHelper mPhoneNumberHelper;
+ private final PhoneNumberDisplayHelper mPhoneNumberHelper;
/** Returns the singleton instance of the {@link DefaultVoicemailNotifier}. */
public static synchronized DefaultVoicemailNotifier getInstance(Context context) {
@@ -75,7 +75,7 @@
private DefaultVoicemailNotifier(Context context,
NotificationManager notificationManager, NewCallsQuery newCallsQuery,
- NameLookupQuery nameLookupQuery, PhoneNumberHelper phoneNumberHelper) {
+ NameLookupQuery nameLookupQuery, PhoneNumberDisplayHelper phoneNumberHelper) {
mContext = context;
mNotificationManager = notificationManager;
mNewCallsQuery = newCallsQuery;
@@ -340,7 +340,7 @@
* This will cause some Disk I/O, at least the first time it is created, so it should not be
* called from the main thread.
*/
- public static PhoneNumberHelper createPhoneNumberHelper(Context context) {
- return new PhoneNumberHelper(context.getResources());
+ public static PhoneNumberDisplayHelper createPhoneNumberHelper(Context context) {
+ return new PhoneNumberDisplayHelper(context.getResources());
}
}
diff --git a/src/com/android/dialer/calllog/PhoneNumberHelper.java b/src/com/android/dialer/calllog/PhoneNumberDisplayHelper.java
similarity index 93%
rename from src/com/android/dialer/calllog/PhoneNumberHelper.java
rename to src/com/android/dialer/calllog/PhoneNumberDisplayHelper.java
index 336facb..81f3ca1 100644
--- a/src/com/android/dialer/calllog/PhoneNumberHelper.java
+++ b/src/com/android/dialer/calllog/PhoneNumberDisplayHelper.java
@@ -24,12 +24,12 @@
import com.android.dialer.R;
/**
- * Helper for formatting and managing phone numbers.
+ * Helper for formatting and managing the display of phone numbers.
*/
-public class PhoneNumberHelper {
+public class PhoneNumberDisplayHelper {
private final Resources mResources;
- public PhoneNumberHelper(Resources resources) {
+ public PhoneNumberDisplayHelper(Resources resources) {
mResources = resources;
}
diff --git a/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java b/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java
index 91a8188..9c83768 100644
--- a/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java
+++ b/src/com/android/dialer/calllog/PhoneNumberUtilsWrapper.java
@@ -20,6 +20,8 @@
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
+import com.android.contacts.common.util.PhoneNumberHelper;
+
import com.google.common.collect.Sets;
import java.util.Set;
@@ -58,7 +60,7 @@
* static method.
*/
public boolean isSipNumber(CharSequence number) {
- return number != null && PhoneNumberUtils.isUriNumber(number.toString());
+ return number != null && PhoneNumberHelper.isUriNumber(number.toString());
}
public static boolean isUnknownNumberThatCanBeLookedUp(CharSequence number, int presentation) {
diff --git a/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java b/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
index 4f3a4da..533a134 100644
--- a/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
+++ b/src/com/android/dialer/list/DialerPhoneNumberListAdapter.java
@@ -164,7 +164,7 @@
@Override
public void setQueryString(String queryString) {
mFormattedQueryString = PhoneNumberUtils.formatNumber(
- PhoneNumberUtils.convertAndStrip(queryString), mCountryIso);
+ PhoneNumberUtils.normalizeNumber(queryString), mCountryIso);
super.setQueryString(queryString);
}
}
diff --git a/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java b/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
index bb940ed..662afa0 100644
--- a/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
+++ b/tests/src/com/android/dialer/calllog/CallLogListItemHelperTest.java
@@ -49,7 +49,7 @@
/** The views used in the tests. */
private CallLogListItemViews mViews;
- private PhoneNumberHelper mPhoneNumberHelper;
+ private PhoneNumberDisplayHelper mPhoneNumberHelper;
@Override
protected void setUp() throws Exception {
diff --git a/tests/src/com/android/dialer/calllog/TestPhoneNumberUtilsWrapper.java b/tests/src/com/android/dialer/calllog/TestPhoneNumberUtilsWrapper.java
index 0dbd914..95f3cc1 100644
--- a/tests/src/com/android/dialer/calllog/TestPhoneNumberUtilsWrapper.java
+++ b/tests/src/com/android/dialer/calllog/TestPhoneNumberUtilsWrapper.java
@@ -19,7 +19,7 @@
import android.content.res.Resources;
/**
- * Modified version of {@link com.android.dialer.calllog.PhoneNumberHelper} to be used in tests
+ * Modified version of {@link com.android.dialer.calllog.PhoneNumberDisplayHelper} to be used in tests
* that allows injecting the voicemail number.
*/
public final class TestPhoneNumberUtilsWrapper extends PhoneNumberUtilsWrapper {