diff options
| author | 2016-02-12 15:34:10 -0800 | |
|---|---|---|
| committer | 2016-02-12 23:55:47 +0000 | |
| commit | 5471e90ef97d92a94d6a0ca99f4ffc1e77a4b55a (patch) | |
| tree | a7118e0d4ed5888daef75bb080e294332b3985cd | |
| parent | dc414fa479d7e0df21bf64b43448c14e7d6ea50d (diff) | |
Clearing mDestroying flag when app is made visible again
If not cleared window will remain invisible and can't receive inputs,
which coud lead to ANR.
Also continue looking for windows to be destroyed instead of stopping
on first one that's not removed by client.
bug: 27123118
Change-Id: I27048779886c69eb6e7ad5e21210be511416d8b6
| -rw-r--r-- | services/core/java/com/android/server/wm/AppWindowToken.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index 93b1d6297a0c..56ae8e0a4968 100644 --- a/services/core/java/com/android/server/wm/AppWindowToken.java +++ b/services/core/java/com/android/server/wm/AppWindowToken.java @@ -310,6 +310,11 @@ class AppWindowToken extends WindowToken { if (!(win.mRemoveOnExit && win.mExiting)) { win.mExiting = exiting; } + // If we're no longer exiting, remove the window from destroying list + if (!win.mExiting && win.mDestroying) { + win.mDestroying = false; + service.mDestroySurface.remove(win); + } } } @@ -326,7 +331,7 @@ class AppWindowToken extends WindowToken { } if (!mAppStopped && !win.mClientRemoveRequested) { - return; + continue; } win.destroyOrSaveSurface(); |