summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wale Ogunwale <ogunwale@google.com> 2015-03-28 17:21:05 -0700
committer Wale Ogunwale <ogunwale@google.com> 2015-03-29 09:55:21 -0700
commit07927bffa72e35ded65b5eff2815f1337715c416 (patch)
treecd57553eecc81f14791e395f94a192c43537fb79
parent545ebdefd25e4bbc0c7353df38f852f7ba982971 (diff)
Fixed issue with paused activity still freezing display.
An activity freezes the display when it is relaunched when configuration changes. If the activity takes time to launch and another activity is launched before it is done, the activity that froze the display will be paused and might not have the chance to unfreeze the display. This will put WindowManager in an odd state. We now unfreeze the display when an activity is done pausing in case it was previously freezing the display. Bug: 19823482 Change-Id: If5538aea639e06d0b8621646bf6b2e12d325287a
-rw-r--r--services/core/java/com/android/server/am/ActivityStack.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java
index 066ff372522a..777d8dccd0f1 100644
--- a/services/core/java/com/android/server/am/ActivityStack.java
+++ b/services/core/java/com/android/server/am/ActivityStack.java
@@ -1018,6 +1018,10 @@ final class ActivityStack {
if (DEBUG_PAUSE) Slog.v(TAG, "App died during pause, not stopping: " + prev);
prev = null;
}
+ // It is possible the activity was freezing the screen before it was paused.
+ // In that case go ahead and remove the freeze this activity has on the screen
+ // since it is no longer visible.
+ prev.stopFreezingScreenLocked(true /*force*/);
mPausingActivity = null;
}