Merge "UI for InCall context for outgoing calls to a contact." into ub-contactsdialer-a-dev
diff --git a/InCallUI/src/com/android/incallui/CallList.java b/InCallUI/src/com/android/incallui/CallList.java
index 018ac10..6d0b357 100644
--- a/InCallUI/src/com/android/incallui/CallList.java
+++ b/InCallUI/src/com/android/incallui/CallList.java
@@ -102,7 +102,7 @@
                 }
             };
             handler.postDelayed(runnable, BLOCK_QUERY_TIMEOUT_MS);
-            mFilteredQueryHandler.isBlocked(
+            if (mFilteredQueryHandler.startBlockedQuery(
                     new FilteredNumberAsyncQueryHandler.OnCheckBlockedListener() {
                         @Override
                         public void onCheckComplete(final Integer id) {
@@ -114,10 +114,18 @@
                                     onCallAddedInternal(call);
                                 }
                             } else {
+                                mFilteredQueryHandler.incrementFilteredCount(id);
                                 call.blockCall();
                             }
                         }
-                    }, null, call.getNumber(), countryIso);
+                    }, null, call.getNumber(), countryIso)) {
+                Log.d(this, "onCallAdded: invalid number "
+                        + call.getNumber() + ", skipping block checking");
+                if (!hasTimedOut.get()) {
+                    handler.removeCallbacks(runnable);
+                    onCallAddedInternal(call);
+                }
+            }
         } else {
             onCallAddedInternal(call);
         }
diff --git a/InCallUI/src/com/android/incallui/CallerInfo.java b/InCallUI/src/com/android/incallui/CallerInfo.java
index f15cb5d..06703b9 100644
--- a/InCallUI/src/com/android/incallui/CallerInfo.java
+++ b/InCallUI/src/com/android/incallui/CallerInfo.java
@@ -241,7 +241,7 @@
                 // in the database.
                 columnIndex = cursor.getColumnIndex(PhoneLookup.CUSTOM_RINGTONE);
                 if ((columnIndex != -1) && (cursor.getString(columnIndex) != null)) {
-                    if (cursor.getString(columnIndex).equals("")) {
+                    if (TextUtils.isEmpty(cursor.getString(columnIndex))) {
                         // make it consistent with frameworks/base/.../CallerInfo.java
                         info.contactRingtoneUri = Uri.EMPTY;
                     } else {
@@ -466,43 +466,7 @@
      */
     public void updateGeoDescription(Context context, String fallbackNumber) {
         String number = TextUtils.isEmpty(phoneNumber) ? fallbackNumber : phoneNumber;
-        geoDescription = getGeoDescription(context, number);
-    }
-
-    /**
-     * @return a geographical description string for the specified number.
-     * @see com.android.i18n.phonenumbers.PhoneNumberOfflineGeocoder
-     */
-    private static String getGeoDescription(Context context, String number) {
-        Log.v(TAG, "getGeoDescription('" + number + "')...");
-
-        if (TextUtils.isEmpty(number)) {
-            return null;
-        }
-
-        PhoneNumberUtil util = PhoneNumberUtil.getInstance();
-        PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance();
-
-        Locale locale = context.getResources().getConfiguration().locale;
-        String countryIso = TelephonyManagerUtils.getCurrentCountryIso(context, locale);
-        PhoneNumber pn = null;
-        try {
-            Log.v(TAG, "parsing '" + number
-                    + "' for countryIso '" + countryIso + "'...");
-            pn = util.parse(number, countryIso);
-            Log.v(TAG, "- parsed number: " + pn);
-        } catch (NumberParseException e) {
-            Log.v(TAG, "getGeoDescription: NumberParseException for incoming number '" +
-                    number + "'");
-        }
-
-        if (pn != null) {
-            String description = geocoder.getDescriptionForNumber(pn, locale);
-            Log.v(TAG, "- got description: '" + description + "'");
-            return description;
-        }
-
-        return null;
+        geoDescription = com.android.dialer.util.PhoneNumberUtil.getGeoDescription(context, number);
     }
 
     /**