Handle just-removed pkgs in ApplicationsProvider.

ApplicationsProvider queries whether apps are enabled or disabled
to avoid returning disabled apps to global search. This query method
can throw an exception if the package has since been removed.

Catch it, and ignore the application in question.

Bug: 5074590
Change-Id: Ie13938f7b3038fe704a94f7025371c553fe7adab
diff --git a/src/com/android/providers/applications/ApplicationsProvider.java b/src/com/android/providers/applications/ApplicationsProvider.java
index 2d58ce8..73adf7a 100644
--- a/src/com/android/providers/applications/ApplicationsProvider.java
+++ b/src/com/android/providers/applications/ApplicationsProvider.java
@@ -558,18 +558,26 @@
 
     private boolean isComponentEnabled(PackageManager manager, String packageName,
             String componentName) {
-        if (manager.getApplicationEnabledSetting(packageName) ==
-                PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
-            if (DBG) Log.d(TAG, "DISABLED package " + packageName);
-            return false;
-        }
-        if (manager.getComponentEnabledSetting(new ComponentName(packageName, componentName)) ==
-                PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
-            if (DBG) Log.d(TAG, "DISABLED component " + packageName + "/" + componentName);
-            return false;
-        }
+        try {
+            if (manager.getApplicationEnabledSetting(packageName) ==
+                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
+                if (DBG) Log.d(TAG, "DISABLED package " + packageName);
+                return false;
+            }
+            if (manager.getComponentEnabledSetting(new ComponentName(packageName, componentName)) ==
+                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED) {
+                if (DBG) Log.d(TAG, "DISABLED component " + packageName + "/" + componentName);
+                return false;
+            }
 
-        return true;
+            return true;
+        } catch (Exception e) {
+            if (DBG) {
+                Log.w(TAG, "Couldn't query component enabled status " +
+                    packageName + "/" + componentName + ": " + e);
+            }
+            return false;
+        }
     }
 
     @VisibleForTesting