From e5273b422e5d8deb22990992f4c72130e6e88ccf Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Mon, 9 Sep 2013 12:57:47 -0700 Subject: [PATCH] Do not enter resumeTopActivity recursively. Changes for translucent activity were causing activities to be launched twice due to a recursive call into resumeTopActivity. Putting the translucent action onto a handler removes the recursivity and fixes the multiple launch problem. Fixes bug 10556969. Change-Id: I2bb53cd555b0aaf093ab35db2859acb10b58211e --- services/java/com/android/server/am/ActivityStack.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java index 8d27c5cb39b42..2b76e7144d20d 100644 --- a/services/java/com/android/server/am/ActivityStack.java +++ b/services/java/com/android/server/am/ActivityStack.java @@ -1110,8 +1110,10 @@ final class ActivityStack { case PAUSED: // This case created for transitioning activities from // translucent to opaque {@link Activity#convertToOpaque}. - mStackSupervisor.mStoppingActivities.remove(r); - stopActivityLocked(r); + if (!mStackSupervisor.mStoppingActivities.contains(r)) { + mStackSupervisor.mStoppingActivities.add(r); + } + mStackSupervisor.scheduleIdleLocked(); break; default: