Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 125b725f authored by Craig Mautner's avatar Craig Mautner Committed by android-build-merger
Browse files

Merge "Remove AppWindowTokens from exiting apps with task" into lmp-mr1-dev

automerge: 62a32ee1

* commit '62a32ee1':
  Remove AppWindowTokens from exiting apps with task
parents 720b3a04 62a32ee1
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -304,10 +304,11 @@ class AppWindowToken extends WindowToken {
            pw.print(prefix); pw.print("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(" 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
                || startingDisplayed || startingMoved) {
+1 −1
Original line number Diff line number Diff line
@@ -68,6 +68,6 @@ class Task {

    @Override
    public String toString() {
        return "{taskId=" + taskId + " appTokens=" + mAppTokens + "}";
        return "{taskId=" + taskId + " appTokens=" + mAppTokens + " mdr=" + mDeferRemoval + "}";
    }
}
+10 −1
Original line number Diff line number Diff line
@@ -5200,8 +5200,17 @@ public class WindowManagerService extends IWindowManager.Stub
        if (DEBUG_STACK) Slog.i(TAG, "removeTask: removing taskId=" + taskId);
        EventLog.writeEvent(EventLogTags.WM_TASK_REMOVED, taskId, "removeTask");
        task.mDeferRemoval = false;
        task.mStack.removeTask(task);
        stack.removeTask(task);
        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) {