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

Commit 25418aab authored by Craig Mautner's avatar Craig Mautner Committed by Android (Google) Code Review
Browse files

Merge "Ensure arraylist index is montonically decreasing" into lmp-mr1-dev

parents 1d76d397 7b4655db
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);
        }
    }