diff options
author | 2011-08-16 20:42:17 -0700 | |
---|---|---|
committer | 2011-08-16 20:42:17 -0700 | |
commit | ee93fd5c0d7b0296fca17363ec00dc2ee63a0841 (patch) | |
tree | 2fc272acd4e246ba7c881e6d735d295dc383b61b | |
parent | ed3418076dc28c71be9bf2c09ed266ceab160a70 (diff) | |
parent | 7a0d746bf2eaca4ff9d150e2cd2604b72ec5a2cb (diff) |
am 7a0d746b: am baaf3ce6: Merge "Handle stopping of services with still bound applications."
* commit '7a0d746bf2eaca4ff9d150e2cd2604b72ec5a2cb':
Handle stopping of services with still bound applications.
-rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 854f96d55398..d6664e3622b6 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -9692,8 +9692,10 @@ public final class ActivityManagerService extends ActivityManagerNative if (DEBUG_SERVICE) Slog.v(TAG, "unbindFinished in " + r + " at " + b + ": apps=" + (b != null ? b.apps.size() : 0)); + + boolean inStopping = mStoppingServices.contains(r); if (b != null) { - if (b.apps.size() > 0) { + if (b.apps.size() > 0 && !inStopping) { // Applications have already bound since the last // unbind, so just rebind right here. requestServiceBindingLocked(r, b, true); @@ -9704,7 +9706,7 @@ public final class ActivityManagerService extends ActivityManagerNative } } - serviceDoneExecutingLocked(r, mStoppingServices.contains(r)); + serviceDoneExecutingLocked(r, inStopping); Binder.restoreCallingIdentity(origId); } |