Merge "Call blocking normalization cleanup." into ub-contactsdialer-a-dev
diff --git a/src/com/android/dialer/database/FilteredNumberAsyncQueryHandler.java b/src/com/android/dialer/database/FilteredNumberAsyncQueryHandler.java
index e875f12..a8fa06d 100644
--- a/src/com/android/dialer/database/FilteredNumberAsyncQueryHandler.java
+++ b/src/com/android/dialer/database/FilteredNumberAsyncQueryHandler.java
@@ -152,7 +152,7 @@
     public final boolean startBlockedQuery(final OnCheckBlockedListener listener,
                                         String normalizedNumber, String number, String countryIso) {
         if (normalizedNumber == null) {
-            normalizedNumber = getNormalizedNumber(number, countryIso);
+            normalizedNumber = PhoneNumberUtils.formatNumberToE164(number, countryIso);
             if (normalizedNumber == null) {
                 return true;
             }
@@ -161,14 +161,6 @@
         return false;
     }
 
-    public static String getNormalizedNumber(String number, String countryIso) {
-        if (PhoneNumberHelper.isUriNumber(number)) {
-            return number;
-        } else {
-            return PhoneNumberUtils.formatNumberToE164(number, countryIso);
-        }
-    }
-
     /**
      * Check if the normalized number given has been blocked.
      */
@@ -205,7 +197,7 @@
     public final void blockNumber(final OnBlockNumberListener listener,
                                   String normalizedNumber, String number, String countryIso) {
         if (normalizedNumber == null) {
-            normalizedNumber = getNormalizedNumber(number, countryIso);
+            normalizedNumber = PhoneNumberUtils.formatNumberToE164(number, countryIso);
         }
         ContentValues v = new ContentValues();
         v.put(FilteredNumberColumns.NORMALIZED_NUMBER, normalizedNumber);
diff --git a/src/com/android/dialer/filterednumber/FilterNumberDialogFragment.java b/src/com/android/dialer/filterednumber/FilterNumberDialogFragment.java
index 4b4af4d..d7608d8 100644
--- a/src/com/android/dialer/filterednumber/FilterNumberDialogFragment.java
+++ b/src/com/android/dialer/filterednumber/FilterNumberDialogFragment.java
@@ -27,6 +27,7 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.support.design.widget.Snackbar;
+import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 import android.view.View;
 import android.widget.Toast;
@@ -59,8 +60,10 @@
     private static final String ARG_DISPLAY_NUMBER = "argDisplayNumber";
     private static final String ARG_PARENT_VIEW_ID = "parentViewId";
 
+    private String mNumber;
     private String mDisplayNumber;
     private String mNormalizedNumber;
+    private String mCountryIso;
 
     private FilteredNumberAsyncQueryHandler mHandler;
     private View mParentView;
@@ -110,12 +113,16 @@
         super.onCreateDialog(savedInstanceState);
         final boolean isBlocked = getArguments().containsKey(ARG_BLOCK_ID);
 
+        mNumber = getArguments().getString(ARG_NUMBER);
         mDisplayNumber = getArguments().getString(ARG_DISPLAY_NUMBER);
+        mNormalizedNumber = getArguments().getString(ARG_NORMALIZED_NUMBER);
+        mCountryIso = getArguments().getString(ARG_COUNTRY_ISO);
+
         if (TextUtils.isEmpty(mNormalizedNumber)) {
-            String number = getArguments().getString(ARG_NUMBER);
-            String countryIso = getArguments().getString(ARG_COUNTRY_ISO);
-            mNormalizedNumber =
-                    FilteredNumberAsyncQueryHandler.getNormalizedNumber(number, countryIso);
+            mNormalizedNumber = PhoneNumberUtils.formatNumberToE164(mNumber, mCountryIso);
+        }
+        if (TextUtils.isEmpty(mDisplayNumber)) {
+            mDisplayNumber = mNumber;
         }
 
         mHandler = new FilteredNumberAsyncQueryHandler(getContext().getContentResolver());
@@ -149,11 +156,9 @@
     @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
-        String number = getArguments().getString(ARG_NUMBER);
-        if (TextUtils.isEmpty(mNormalizedNumber) ||
-                !FilteredNumbersUtil.canBlockNumber(getActivity(), number)) {
+        if (!FilteredNumbersUtil.canBlockNumber(getActivity(), mNormalizedNumber)) {
             dismiss();
-            Toast.makeText(getContext(), getString(R.string.invalidNumber, number),
+            Toast.makeText(getContext(), getString(R.string.invalidNumber, mDisplayNumber),
                     Toast.LENGTH_SHORT).show();
         }
     }
@@ -228,9 +233,9 @@
 
         mHandler.blockNumber(
                 onBlockNumberListener,
-                getArguments().getString(ARG_NORMALIZED_NUMBER),
-                getArguments().getString(ARG_NUMBER),
-                getArguments().getString(ARG_COUNTRY_ISO));
+                mNormalizedNumber,
+                mNumber,
+                mCountryIso);
     }
 
     private void unblockNumber() {