summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index 9e075447d9e8..991e60051024 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -5502,8 +5502,10 @@ public final class ActivityManagerService extends ActivityManagerNative
// Entire package setting changed
enabled = pm.getApplicationEnabledSetting(packageName,
(userId != UserHandle.USER_ALL) ? userId : UserHandle.USER_OWNER);
- } catch (RemoteException e) {
- // Can't happen...
+ } catch (Exception e) {
+ // No such package/component; probably racing with uninstall. In any
+ // event it means we have nothing further to do here.
+ return;
}
packageDisabled = enabled != PackageManager.COMPONENT_ENABLED_STATE_ENABLED
&& enabled != PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;
@@ -5518,8 +5520,9 @@ public final class ActivityManagerService extends ActivityManagerNative
enabled = pm.getComponentEnabledSetting(
new ComponentName(packageName, changedClass),
(userId != UserHandle.USER_ALL) ? userId : UserHandle.USER_OWNER);
- } catch (RemoteException e) {
- // Can't happen...
+ } catch (Exception e) {
+ // As above, probably racing with uninstall.
+ return;
}
if (enabled != PackageManager.COMPONENT_ENABLED_STATE_ENABLED
&& enabled != PackageManager.COMPONENT_ENABLED_STATE_DEFAULT) {