Refactor moveStackWindowsLocked()
The method had multiple inner loops and was a less efficient form of
rebuildAppWindowsLocked(). Rewritten to use rebuildAppWindowsLocked()
and small other refactors.
Item #1 of bug 18088522.
Change-Id: If93fa961922c77c9f0af719e535ae5ca5d30fe59
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 4f20f50..45d0921 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -328,9 +328,9 @@
AppTokenList tokens = task.mAppTokens;
for (int tokenNdx = tokens.size() - 1; tokenNdx >= 0; --tokenNdx) {
AppWindowToken wtoken = tokens.get(tokenNdx);
- if (wtoken.mDeferRemoval) {
+ if (wtoken.mIsExiting) {
stack.mExitingAppTokens.remove(wtoken);
- wtoken.mDeferRemoval = false;
+ wtoken.mIsExiting = false;
mService.removeAppFromTaskLocked(wtoken);
}
}