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

Commit 1a068020 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 am: 7aad5fc3

Change-Id: I50befa620229ac844789bdaa3664ed149aecf960
parents 1fad2bfb 7aad5fc3
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;
    }