Merge "Remove AppWindowTokens from exiting apps with task" into lmp-mr1-dev
automerge: 62a32ee
* commit '62a32ee1dfff6921fd95c92068500af6b8b3f47e':
Remove AppWindowTokens from exiting apps with task
This commit is contained in:
@@ -304,10 +304,11 @@ class AppWindowToken extends WindowToken {
|
|||||||
pw.print(prefix); pw.print("inPendingTransaction=");
|
pw.print(prefix); pw.print("inPendingTransaction=");
|
||||||
pw.println(inPendingTransaction);
|
pw.println(inPendingTransaction);
|
||||||
}
|
}
|
||||||
if (startingData != null || removed || firstWindowDrawn) {
|
if (startingData != null || removed || firstWindowDrawn || mDeferRemoval) {
|
||||||
pw.print(prefix); pw.print("startingData="); pw.print(startingData);
|
pw.print(prefix); pw.print("startingData="); pw.print(startingData);
|
||||||
pw.print(" removed="); pw.print(removed);
|
pw.print(" removed="); pw.print(removed);
|
||||||
pw.print(" firstWindowDrawn="); pw.println(firstWindowDrawn);
|
pw.print(" firstWindowDrawn="); pw.print(firstWindowDrawn);
|
||||||
|
pw.print(" mDeferRemoval="); pw.println(mDeferRemoval);
|
||||||
}
|
}
|
||||||
if (startingWindow != null || startingView != null
|
if (startingWindow != null || startingView != null
|
||||||
|| startingDisplayed || startingMoved) {
|
|| startingDisplayed || startingMoved) {
|
||||||
|
|||||||
@@ -68,6 +68,6 @@ class Task {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "{taskId=" + taskId + " appTokens=" + mAppTokens + "}";
|
return "{taskId=" + taskId + " appTokens=" + mAppTokens + " mdr=" + mDeferRemoval + "}";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5200,8 +5200,17 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
if (DEBUG_STACK) Slog.i(TAG, "removeTask: removing taskId=" + taskId);
|
if (DEBUG_STACK) Slog.i(TAG, "removeTask: removing taskId=" + taskId);
|
||||||
EventLog.writeEvent(EventLogTags.WM_TASK_REMOVED, taskId, "removeTask");
|
EventLog.writeEvent(EventLogTags.WM_TASK_REMOVED, taskId, "removeTask");
|
||||||
task.mDeferRemoval = false;
|
task.mDeferRemoval = false;
|
||||||
task.mStack.removeTask(task);
|
stack.removeTask(task);
|
||||||
mTaskIdToTask.delete(task.taskId);
|
mTaskIdToTask.delete(task.taskId);
|
||||||
|
|
||||||
|
final ArrayList<AppWindowToken> exitingApps = stack.mExitingAppTokens;
|
||||||
|
for (int appNdx = exitingApps.size() - 1; appNdx >= 0; --appNdx) {
|
||||||
|
final AppWindowToken wtoken = exitingApps.get(appNdx);
|
||||||
|
if (wtoken.groupId == taskId) {
|
||||||
|
wtoken.mDeferRemoval = false;
|
||||||
|
exitingApps.remove(appNdx);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeTask(int taskId) {
|
public void removeTask(int taskId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user