diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 61fd60a2ecc1d..0908563c957ca 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -1855,10 +1855,10 @@ public class WindowManagerService extends IWindowManager.Stub // Now stick it in. if (DEBUG_WALLPAPER_LIGHT || DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE) { Slog.v(TAG, "Moving wallpaper " + wallpaper - + " from " + oldIndex + " to " + foundI); + + " from " + oldIndex + " to " + 0); } - windows.add(foundI, wallpaper); + windows.add(0, wallpaper); mWindowsChanged = true; changed |= ADJUST_WALLPAPER_LAYERS_CHANGED; } @@ -4671,6 +4671,13 @@ public class WindowManagerService extends IWindowManager.Stub } } } + // Never put an app window underneath wallpaper. + for (int pos = NW - 1; pos >= 0; pos--) { + if (windows.get(pos).mIsWallpaper) { + if (DEBUG_REORDER) Slog.v(TAG, "Found wallpaper @" + pos); + return pos + 1; + } + } return 0; }