Merge "Fix checking for invalid numbers." into ub-contactsdialer-a-dev
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index 47c3cf0..4e7e7b3 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -196,7 +196,6 @@
     private PhoneCallDetails mDetails;
     protected String mNumber;
     private Uri mVoicemailUri;
-    private String mDefaultCountryIso;
     private String mDisplayNumber;
 
     private ListView mHistoryList;
@@ -242,7 +241,6 @@
         mCallerName = (TextView) findViewById(R.id.caller_name);
         mCallerNumber = (TextView) findViewById(R.id.caller_number);
         mAccountLabel = (TextView) findViewById(R.id.phone_account_label);
-        mDefaultCountryIso = GeoUtil.getCurrentCountryIso(this);
         mContactPhotoManager = ContactPhotoManager.getInstance(this);
 
         mCallButton = findViewById(R.id.call_back_button);
@@ -391,7 +389,8 @@
     }
 
     private void updatePhotoAndBlockActionItem() {
-        if (mDetails == null || !FilteredNumbersUtil.canBlockNumber(this, mNumber)) {
+        if (mDetails == null ||
+                !FilteredNumbersUtil.canBlockNumber(this, mNumber, mDetails.countryIso)) {
             return;
         }
 
diff --git a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
index c6337bc..28e406f 100644
--- a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
+++ b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
@@ -303,7 +303,7 @@
                     .setOnMenuItemClickListener(this);
         }
 
-        if (FilteredNumbersUtil.canBlockNumber(mContext, number)) {
+        if (FilteredNumbersUtil.canBlockNumber(mContext, number, countryIso)) {
             mFilteredNumberAsyncQueryHandler.startBlockedQuery(
                     new FilteredNumberAsyncQueryHandler.OnCheckBlockedListener() {
                         @Override
diff --git a/src/com/android/dialer/filterednumber/BlockNumberDialogFragment.java b/src/com/android/dialer/filterednumber/BlockNumberDialogFragment.java
index 425a729..7a94eeb 100644
--- a/src/com/android/dialer/filterednumber/BlockNumberDialogFragment.java
+++ b/src/com/android/dialer/filterednumber/BlockNumberDialogFragment.java
@@ -151,7 +151,7 @@
     @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
-        if (!FilteredNumbersUtil.canBlockNumber(getActivity(), mNumber)) {
+        if (!FilteredNumbersUtil.canBlockNumber(getActivity(), mNumber, mCountryIso)) {
             dismiss();
             Toast.makeText(getContext(), getString(R.string.invalidNumber, mDisplayNumber),
                     Toast.LENGTH_SHORT).show();
diff --git a/src/com/android/dialer/filterednumber/FilteredNumbersUtil.java b/src/com/android/dialer/filterednumber/FilteredNumbersUtil.java
index fa6aa7e..67e7ee3 100644
--- a/src/com/android/dialer/filterednumber/FilteredNumbersUtil.java
+++ b/src/com/android/dialer/filterednumber/FilteredNumbersUtil.java
@@ -37,7 +37,6 @@
 import java.util.List;
 
 import com.android.contacts.common.testing.NeededForTesting;
-import com.android.contacts.common.util.PhoneNumberHelper;
 import com.android.dialer.R;
 import com.android.dialer.database.FilteredNumberAsyncQueryHandler;
 import com.android.dialer.database.FilteredNumberAsyncQueryHandler.OnHasBlockedNumbersListener;
@@ -340,9 +339,10 @@
         });
     }
 
-    public static boolean canBlockNumber(Context context, String number) {
-        return !TextUtils.isEmpty(number) && !PhoneNumberUtils.isEmergencyNumber(number)
-                && !PhoneNumberHelper.isUriNumber(number);
+    public static boolean canBlockNumber(Context context, String number, String countryIso) {
+        final String normalizedNumber = PhoneNumberUtils.formatNumberToE164(number, countryIso);
+        return !TextUtils.isEmpty(normalizedNumber)
+                && !PhoneNumberUtils.isEmergencyNumber(normalizedNumber);
     }
 
     private static long getRecentEmergencyCallThresholdMs(Context context) {