diff options
Diffstat (limited to 'telephony')
-rw-r--r-- | telephony/java/android/telephony/PhoneNumberUtils.java | 16 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/CallerInfo.java | 16 |
2 files changed, 22 insertions, 10 deletions
diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java index d18b86a..79146f3 100644 --- a/telephony/java/android/telephony/PhoneNumberUtils.java +++ b/telephony/java/android/telephony/PhoneNumberUtils.java @@ -177,15 +177,19 @@ public class PhoneNumberUtils phoneColumn = ContactsContract.CommonDataKinds.Phone.NUMBER; } - final Cursor c = context.getContentResolver().query(uri, new String[] { - phoneColumn - }, null, null, null); - if (c != null) { - try { + Cursor c = null; + try { + c = context.getContentResolver().query(uri, new String[] { phoneColumn }, + null, null, null); + if (c != null) { if (c.moveToFirst()) { number = c.getString(c.getColumnIndex(phoneColumn)); } - } finally { + } + } catch (RuntimeException e) { + Rlog.e(LOG_TAG, "Error getting phone number.", e); + } finally { + if (c != null) { c.close(); } } diff --git a/telephony/java/com/android/internal/telephony/CallerInfo.java b/telephony/java/com/android/internal/telephony/CallerInfo.java index 5cd5d4e..be7e702 100644 --- a/telephony/java/com/android/internal/telephony/CallerInfo.java +++ b/telephony/java/com/android/internal/telephony/CallerInfo.java @@ -16,6 +16,7 @@ package com.android.internal.telephony; +import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; import android.graphics.Bitmap; @@ -282,10 +283,17 @@ public class CallerInfo { * number. The returned CallerInfo is null if no number is supplied. */ public static CallerInfo getCallerInfo(Context context, Uri contactRef) { - - return getCallerInfo(context, contactRef, - CallerInfoAsyncQuery.getCurrentProfileContentResolver(context) - .query(contactRef, null, null, null, null)); + CallerInfo info = null; + ContentResolver cr = CallerInfoAsyncQuery.getCurrentProfileContentResolver(context); + if (cr != null) { + try { + info = getCallerInfo(context, contactRef, + cr.query(contactRef, null, null, null, null)); + } catch (RuntimeException re) { + Rlog.e(TAG, "Error getting caller info.", re); + } + } + return info; } /** |