summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dianne Hackborn <hackbod@android.com> 2011-08-16 20:42:17 -0700
committer Android Git Automerger <android-git-automerger@android.com> 2011-08-16 20:42:17 -0700
commitee93fd5c0d7b0296fca17363ec00dc2ee63a0841 (patch)
tree2fc272acd4e246ba7c881e6d735d295dc383b61b
parented3418076dc28c71be9bf2c09ed266ceab160a70 (diff)
parent7a0d746bf2eaca4ff9d150e2cd2604b72ec5a2cb (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.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 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);
}