From 1fa37f3bb351eefda6102c2c7058707649cb90d2 Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Wed, 25 May 2016 13:17:12 -0700 Subject: [PATCH] Guard against IllegalArgumentException Bug: 28742227 Change-Id: If436ec3f743ca11ea40dce2033b7b993cb6ad170 --- .../DynamicIndexableContentMonitor.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/search/DynamicIndexableContentMonitor.java b/src/com/android/settings/search/DynamicIndexableContentMonitor.java index 6753a76d705..a98c8c0de8d 100644 --- a/src/com/android/settings/search/DynamicIndexableContentMonitor.java +++ b/src/com/android/settings/search/DynamicIndexableContentMonitor.java @@ -38,6 +38,7 @@ import android.print.PrintManager; import android.print.PrintServicesLoader; import android.printservice.PrintServiceInfo; import android.provider.UserDictionary; +import android.util.Log; import android.view.accessibility.AccessibilityManager; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; @@ -53,6 +54,7 @@ import java.util.List; public final class DynamicIndexableContentMonitor extends PackageMonitor implements InputManager.InputDeviceListener, LoaderManager.LoaderCallbacks> { + private static final String TAG = "DynamicIndexableContentMonitor"; private static final long DELAY_PROCESS_PACKAGE_CHANGE = 2000; @@ -183,13 +185,17 @@ public final class DynamicIndexableContentMonitor extends PackageMonitor impleme @Override public void onPackageModified(String packageName) { super.onPackageModified(packageName); - final int state = mContext.getPackageManager().getApplicationEnabledSetting( - packageName); - if (state == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT - || state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { - postMessage(MSG_PACKAGE_AVAILABLE, packageName); - } else { - postMessage(MSG_PACKAGE_UNAVAILABLE, packageName); + try { + final int state = mContext.getPackageManager().getApplicationEnabledSetting( + packageName); + if (state == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT + || state == PackageManager.COMPONENT_ENABLED_STATE_ENABLED) { + postMessage(MSG_PACKAGE_AVAILABLE, packageName); + } else { + postMessage(MSG_PACKAGE_UNAVAILABLE, packageName); + } + } catch (IllegalArgumentException e) { + Log.e(TAG, "Package does not exist: " + packageName, e); } }