diff options
author | 2024-07-04 09:55:50 +0000 | |
---|---|---|
committer | 2024-07-04 10:28:48 +0000 | |
commit | 7bc428e7762f59e521ae4e8c8365cba02e7ff82b (patch) | |
tree | 50b52a07be9ea4ea6b2982ba0108502a74d1ecc7 | |
parent | 87fc95768c2322d8f1386dbc76c0cc1e77ff789a (diff) |
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
Change-Id: Ie6bd4d18bfe67ca27b791a666d5b0bff6199773c
-rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java index ec6802da85f6..3e6ac95a4fed 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java @@ -76,6 +76,7 @@ import androidx.annotation.BinderThread; import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.protolog.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; @@ -585,6 +586,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) { |