summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dianne Hackborn <hackbod@android.com> 2011-08-16 20:45:19 -0700
committer Android Git Automerger <android-git-automerger@android.com> 2011-08-16 20:45:19 -0700
commit51beb81a8e901020293b7a30a68b405bca71d258 (patch)
tree67825fa4fad3289df97efa714ff343cc5b39894e
parente5cb629f3761b272ea52104c1093e0007f5c41b5 (diff)
parentee93fd5c0d7b0296fca17363ec00dc2ee63a0841 (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.java6
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);
}