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

Commit ba5d54e9 authored by Pablo Gamito's avatar Pablo Gamito Committed by Android (Google) Code Review
Browse files

Merge "Don't set background color if TDA doesn't have a valid surface"

parents d6fb3434 e644ff61
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -909,18 +909,24 @@ final class TaskDisplayArea extends DisplayArea<WindowContainer> {
        mBackgroundColor = colorInt;
        Color color = Color.valueOf(colorInt);
        mColorLayerCounter++;
        getPendingTransaction()
                .setColor(mSurfaceControl, new float[]{color.red(), color.green(), color.blue()});

        // Only apply the background color if the TDA is actually attached and has a valid surface
        // to set the background color on. We still want to keep track of the background color state
        // even if we are not showing it for when/if the TDA is reattached and gets a valid surface
        if (mSurfaceControl != null) {
            getPendingTransaction()
                    .setColor(mSurfaceControl,
                            new float[]{color.red(), color.green(), color.blue()});
            scheduleAnimation();
        }
    }

    void clearBackgroundColor() {
        mColorLayerCounter--;

        // Only clear the color layer if we have received the same amounts of clear as set
        // requests.
        if (mColorLayerCounter == 0) {
        // requests and TDA has a non null surface control (i.e. is attached)
        if (mColorLayerCounter == 0 && mSurfaceControl != null) {
            getPendingTransaction().unsetColor(mSurfaceControl);
            scheduleAnimation();
        }