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

Commit b1ff9cc7 authored by Craig Mautner's avatar Craig Mautner Committed by Android Git Automerger
Browse files

am 117f0c15: am 25418aab: Merge "Ensure arraylist index is montonically...

am 117f0c15: am 25418aab: Merge "Ensure arraylist index is montonically decreasing" into lmp-mr1-dev automerge: 9bb16f55

* commit '117f0c15':
  Ensure arraylist index is montonically decreasing
parents 64865e05 117f0c15
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -254,15 +254,18 @@ class AppWindowToken extends WindowToken {

    @Override
    void removeAllWindows() {
        int winNdx;
        while ((winNdx = allAppWindows.size()) > 0) {
            WindowState win = allAppWindows.get(winNdx - 1);
        for (int winNdx = allAppWindows.size() - 1; winNdx >= 0;
                // removeWindowLocked at bottom of loop may remove multiple entries from
                // allAppWindows if the window to be removed has child windows. It also may
                // not remove any windows from allAppWindows at all if win is exiting and
                // currently animating away. This ensures that winNdx is monotonically decreasing
                // and never beyond allAppWindows bounds.
                winNdx = Math.min(winNdx - 1, allAppWindows.size() - 1)) {
            WindowState win = allAppWindows.get(winNdx);
            if (WindowManagerService.DEBUG_WINDOW_MOVEMENT) {
                Slog.w(WindowManagerService.TAG, "removeAllWindows: removing win=" + win);
            }

            // {@link WindowManagerService.removeWindowLocked} may remove multiple entries from
            // {@link #allAppWindows} if the window to be removed has child windows.
            win.mService.removeWindowLocked(win.mSession, win);
        }
    }