From 4fc601a650405bfba99bcd40429376113bd9492a Mon Sep 17 00:00:00 2001 From: Yorke Lee Date: Fri, 6 Dec 2013 16:35:29 -0800 Subject: [PATCH] Catch ActivityNotFoundException in quick contacts badge Bug: 12015287 Change-Id: I2fa5daaa54cc7cc0cad9dee0828d751302cb5be7 --- core/java/android/provider/ContactsContract.java | 15 +++++++++++++-- core/res/res/values/strings.xml | 8 ++++++-- core/res/res/values/symbols.xml | 1 + 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java index daa98816bdb4..f29161fe858d 100644 --- a/core/java/android/provider/ContactsContract.java +++ b/core/java/android/provider/ContactsContract.java @@ -18,6 +18,7 @@ package android.provider; import android.accounts.Account; import android.app.Activity; +import android.content.ActivityNotFoundException; import android.content.ContentProviderClient; import android.content.ContentProviderOperation; import android.content.ContentResolver; @@ -40,6 +41,7 @@ import android.text.TextUtils; import android.util.DisplayMetrics; import android.util.Pair; import android.view.View; +import android.widget.Toast; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -7978,7 +7980,7 @@ public final class ContactsContract { // Trigger with obtained rectangle Intent intent = composeQuickContactsIntent(context, target, lookupUri, mode, excludeMimes); - context.startActivity(intent); + startActivityWithErrorToast(context, intent); } /** @@ -8011,7 +8013,16 @@ public final class ContactsContract { String[] excludeMimes) { Intent intent = composeQuickContactsIntent(context, target, lookupUri, mode, excludeMimes); - context.startActivity(intent); + startActivityWithErrorToast(context, intent); + } + + private static void startActivityWithErrorToast(Context context, Intent intent) { + try { + context.startActivity(intent); + } catch (ActivityNotFoundException e) { + Toast.makeText(context, com.android.internal.R.string.quick_contacts_not_available, + Toast.LENGTH_SHORT).show(); + } } } diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index b271471d4569..a41467706ab6 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -932,13 +932,13 @@ Allows the app to retrieve collected application operation statistics. Not for use by normal apps. - + modify app ops statistics Allows the app to modify collected application operation statistics. Not for use by normal apps. - + control system backup and restore @@ -2252,6 +2252,10 @@ Other + + No activity found to view contact. + Type PIN code diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 680fb4f42a78..3ac762fb138d 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -687,6 +687,7 @@ + -- 2.11.0