diff options
author | 2011-08-16 20:45:19 -0700 | |
---|---|---|
committer | 2011-08-16 20:45:19 -0700 | |
commit | 51beb81a8e901020293b7a30a68b405bca71d258 (patch) | |
tree | 67825fa4fad3289df97efa714ff343cc5b39894e | |
parent | e5cb629f3761b272ea52104c1093e0007f5c41b5 (diff) | |
parent | ee93fd5c0d7b0296fca17363ec00dc2ee63a0841 (diff) |
am ee93fd5c: am 7a0d746b: am baaf3ce6: Merge "Handle stopping of services with still bound applications."
* commit 'ee93fd5c0d7b0296fca17363ec00dc2ee63a0841':
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 67dc862c0b88..bcb5ef8ede4e 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -10451,8 +10451,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); @@ -10463,7 +10465,7 @@ public final class ActivityManagerService extends ActivityManagerNative } } - serviceDoneExecutingLocked(r, mStoppingServices.contains(r)); + serviceDoneExecutingLocked(r, inStopping); Binder.restoreCallingIdentity(origId); } |