diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 11 |
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) { |