diff options
| author | 2015-03-28 17:21:05 -0700 | |
|---|---|---|
| committer | 2015-03-29 09:55:21 -0700 | |
| commit | 07927bffa72e35ded65b5eff2815f1337715c416 (patch) | |
| tree | cd57553eecc81f14791e395f94a192c43537fb79 | |
| parent | 545ebdefd25e4bbc0c7353df38f852f7ba982971 (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.java | 4 |
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; } |