diff options
author | Dianne Hackborn <hackbod@android.com> | 2011-08-16 19:29:25 -0700 |
---|---|---|
committer | Android Code Review <code-review@android.com> | 2011-08-16 19:29:25 -0700 |
commit | baaf3ce6385da0f9f5ff6e2195e26c339ee9949e (patch) | |
tree | 3a182785671172c9300a1bed0eb676799c20eaa7 /services | |
parent | d144748d4767b2ccfb13857e23f78bc944e9531d (diff) | |
parent | 78f9fffca4cbfad50bdb73569bc4f484d84215ab (diff) | |
download | frameworks_base-baaf3ce6385da0f9f5ff6e2195e26c339ee9949e.zip frameworks_base-baaf3ce6385da0f9f5ff6e2195e26c339ee9949e.tar.gz frameworks_base-baaf3ce6385da0f9f5ff6e2195e26c339ee9949e.tar.bz2 |
Merge "Handle stopping of services with still bound applications."
Diffstat (limited to 'services')
-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 854f96d..d6664e3 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); } |