summaryrefslogtreecommitdiff
path: root/src/com/android/providers/applications/ApplicationsProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/providers/applications/ApplicationsProvider.java')
-rw-r--r--src/com/android/providers/applications/ApplicationsProvider.java28
1 files changed, 18 insertions, 10 deletions
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 @@ public class ApplicationsProvider extends ContentProvider {
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);
+ 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;
+ } catch (Exception e) {
+ if (DBG) {
+ Log.w(TAG, "Couldn't query component enabled status " +
+ packageName + "/" + componentName + ": " + e);
+ }
return false;
}
-
- return true;
}
@VisibleForTesting