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

Commit f07ef9e5 authored by Robert Carr's avatar Robert Carr
Browse files

Fix NPE with stackless windows.

Namely IME PopupWindows.

Bug: 69596187
Test: Manual
Change-Id: I9fdf4c4a3aa844b223ff8bdcc389acadf44102f0
parent ed760eff
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -2109,7 +2109,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        if (task != null) {
            return task.getDimmer();
        }
        return getStack().getDimmer();
        TaskStack taskStack = getStack();
        if (taskStack != null) {
            return taskStack.getDimmer();
        }
        return null;
    }

    /** Returns true if the replacement window was removed. */
@@ -4390,10 +4394,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
        return mToken.makeChildSurface(this);
    }


    @Override
    void prepareSurfaces() {
        mIsDimming = false;
    private void applyDims(Dimmer dimmer) {
        if (!mAnimatingExit && mAppDied) {
            mIsDimming = true;
            getDimmer().dimAbove(getPendingTransaction(), this, DEFAULT_DIM_AMOUNT_DEAD_WINDOW);
@@ -4402,6 +4403,15 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
            mIsDimming = true;
            getDimmer().dimBelow(getPendingTransaction(), this, mAttrs.dimAmount);
        }
    }

    @Override
    void prepareSurfaces() {
        final Dimmer dimmer = getDimmer();
        mIsDimming = false;
        if (dimmer != null) {
            applyDims(dimmer);
        }

        mWinAnimator.prepareSurfaceLocked(true);
        super.prepareSurfaces();