Merge "Move CallerInfo.getGeoDescription to PhoneNumberUtil in Dialer." 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..b937440 100644
--- a/InCallUI/src/com/android/incallui/CallList.java
+++ b/InCallUI/src/com/android/incallui/CallList.java
@@ -102,22 +102,26 @@
                 }
             };
             handler.postDelayed(runnable, BLOCK_QUERY_TIMEOUT_MS);
-            mFilteredQueryHandler.isBlocked(
-                    new FilteredNumberAsyncQueryHandler.OnCheckBlockedListener() {
-                        @Override
-                        public void onCheckComplete(final Integer id) {
-                            if (!hasTimedOut.get()) {
-                                handler.removeCallbacks(runnable);
-                            }
-                            if (id == null) {
+            try {
+                mFilteredQueryHandler.isBlocked(
+                        new FilteredNumberAsyncQueryHandler.OnCheckBlockedListener() {
+                            @Override
+                            public void onCheckComplete(final Integer id) {
                                 if (!hasTimedOut.get()) {
-                                    onCallAddedInternal(call);
+                                    handler.removeCallbacks(runnable);
                                 }
-                            } else {
-                                call.blockCall();
+                                if (id == null) {
+                                    if (!hasTimedOut.get()) {
+                                        onCallAddedInternal(call);
+                                    }
+                                } else {
+                                    call.blockCall();
+                                }
                             }
-                        }
-                    }, null, call.getNumber(), countryIso);
+                        }, null, call.getNumber(), countryIso);
+            } catch (IllegalArgumentException e) {
+                Log.d(this, "onCallAdded: invalid number, skipping block checking");
+            }
         } else {
             onCallAddedInternal(call);
         }
diff --git a/InCallUI/src/com/android/incallui/CallerInfo.java b/InCallUI/src/com/android/incallui/CallerInfo.java
index 54cee0f..5de03d8 100644
--- a/InCallUI/src/com/android/incallui/CallerInfo.java
+++ b/InCallUI/src/com/android/incallui/CallerInfo.java
@@ -241,7 +241,12 @@
                 // in the database.
                 columnIndex = cursor.getColumnIndex(PhoneLookup.CUSTOM_RINGTONE);
                 if ((columnIndex != -1) && (cursor.getString(columnIndex) != null)) {
-                    info.contactRingtoneUri = Uri.parse(cursor.getString(columnIndex));
+                    if (cursor.getString(columnIndex).equals("")) {
+                        // make it consistent with frameworks/base/.../CallerInfo.java
+                        info.contactRingtoneUri = Uri.EMPTY;
+                    } else {
+                        info.contactRingtoneUri = Uri.parse(cursor.getString(columnIndex));
+                    }
                 } else {
                     info.contactRingtoneUri = null;
                 }