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

Commit 7c3c33a2 authored by Marzia Favaro's avatar Marzia Favaro Committed by Cherrypicker Worker
Browse files

Push wallpapers on the back during transitions

Fix: 350617801
Test: Manual, verify wallpaper stays on the back when opening app pair
Test: Manual, unlock device with separate lock/home  wallpapers
Flag: com.android.window.flags.ensure_wallpaper_in_transitions
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:7bc428e7762f59e521ae4e8c8365cba02e7ff82b)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f8379662231e355741f76a380745e683ee6ededc)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b6f607729cef912bd2a7c3d062db4c809b5f4e76)
Merged-In: Ie6bd4d18bfe67ca27b791a666d5b0bff6199773c
Change-Id: Ie6bd4d18bfe67ca27b791a666d5b0bff6199773c
parent fa960ab8
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ import androidx.annotation.BinderThread;
import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.protolog.common.ProtoLog;
import com.android.window.flags.Flags;
import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.common.DisplayController;
@@ -535,6 +536,14 @@ public class Transitions implements RemoteCallable<Transitions>,
        final boolean isOpening = isOpeningType(transitType);
        final boolean isClosing = isClosingType(transitType);
        final int mode = change.getMode();
        // Ensure wallpapers stay in the back
        if (change.hasFlags(FLAG_IS_WALLPAPER) && Flags.ensureWallpaperInTransitions()) {
            if (mode == TRANSIT_OPEN || mode == TRANSIT_TO_FRONT) {
                return -zSplitLine + numChanges - i;
            } else {
                return -zSplitLine - i;
            }
        }
        // Put all the OPEN/SHOW on top
        if (mode == TRANSIT_OPEN || mode == TRANSIT_TO_FRONT) {
            if (isOpening) {