summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Marzia Favaro <marziana@google.com> 2024-07-04 09:55:50 +0000
committer Marzia Favaro <marziana@google.com> 2024-07-04 10:28:48 +0000
commit7bc428e7762f59e521ae4e8c8365cba02e7ff82b (patch)
tree50b52a07be9ea4ea6b2982ba0108502a74d1ecc7
parent87fc95768c2322d8f1386dbc76c0cc1e77ff789a (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.java9
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) {