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

Commit 7aad5fc3 authored by Chavi Weingarten's avatar Chavi Weingarten Committed by Automerger Merge Worker
Browse files

Merge "Move DimLayer to Root if translucent window and not multi-window" into...

Merge "Move DimLayer to Root if translucent window and not multi-window" into rvc-dev am: 2d8d9812

Change-Id: Ib74cdb5e4b65e1099d8ceede80f24eb5095c4bfa
parents 08a1dcd4 2d8d9812
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -253,6 +253,12 @@ public class DisplayArea<T extends WindowContainer> extends WindowContainer<T> {
            super.prepareSurfaces();
            getBounds(mTmpDimBoundsRect);

            // If SystemUI is dragging for recents, we want to reset the dim state so any dim layer
            // on the display level fades out.
            if (forAllTasks(task -> !task.canAffectSystemUiFlags())) {
                mDimmer.resetDimStates();
            }

            if (mDimmer.updateDims(getPendingTransaction(), mTmpDimBoundsRect)) {
                scheduleAnimation();
            }
+15 −0
Original line number Diff line number Diff line
@@ -3348,6 +3348,21 @@ class Task extends WindowContainer<WindowContainer> {

    @Override
    Dimmer getDimmer() {
        // If the window is in multi-window mode, we want to dim at the Task level to ensure the dim
        // bounds match the area the app lives in
        if (inMultiWindowMode()) {
            return mDimmer;
        }

        // If we're not at the root task level, we want to keep traversing through the parents to
        // find the root.
        // Once at the root task level, we want to check {@link #isTranslucent(ActivityRecord)}.
        // If true, we want to get the Dimmer from the level above since we don't want to animate
        // the dim with the Task.
        if (!isRootTask() || isTranslucent(null)) {
            return super.getDimmer();
        }

        return mDimmer;
    }