Merge "Request a wallpaper update pass when wallpaper target is set to visible" into nyc-dev
This commit is contained in:
@@ -515,6 +515,13 @@ class AppWindowToken extends WindowToken {
|
||||
}
|
||||
}
|
||||
|
||||
void requestUpdateWallpaperIfNeeded() {
|
||||
for (int i = allAppWindows.size() - 1; i >= 0; i--) {
|
||||
final WindowState w = allAppWindows.get(i);
|
||||
w.requestUpdateWallpaperIfNeeded();
|
||||
}
|
||||
}
|
||||
|
||||
boolean isRelaunching() {
|
||||
return mPendingRelaunchCount > 0;
|
||||
}
|
||||
|
||||
@@ -4426,6 +4426,8 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
wtoken.sendAppVisibilityToClients();
|
||||
}
|
||||
}
|
||||
wtoken.requestUpdateWallpaperIfNeeded();
|
||||
|
||||
if (DEBUG_ADD_REMOVE) Slog.v(
|
||||
TAG_WM, "No longer Stopped: " + wtoken);
|
||||
wtoken.mAppStopped = false;
|
||||
|
||||
@@ -73,6 +73,7 @@ import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
|
||||
import static android.view.WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
|
||||
import static android.view.WindowManager.LayoutParams.FLAG_SCALED;
|
||||
import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
|
||||
import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
|
||||
import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED;
|
||||
import static android.view.WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON;
|
||||
import static android.view.WindowManager.LayoutParams.LAST_SUB_WINDOW;
|
||||
@@ -90,6 +91,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER;
|
||||
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
|
||||
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD_DIALOG;
|
||||
import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
|
||||
import static android.view.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
|
||||
import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_DOCKED_DIVIDER;
|
||||
import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM;
|
||||
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ADD_REMOVE;
|
||||
@@ -2719,6 +2721,14 @@ final class WindowState implements WindowManagerPolicy.WindowState {
|
||||
mAnimateReplacingWindow = false;
|
||||
}
|
||||
|
||||
void requestUpdateWallpaperIfNeeded() {
|
||||
if (mDisplayContent != null && (mAttrs.flags & FLAG_SHOW_WALLPAPER) != 0) {
|
||||
mDisplayContent.pendingLayoutChanges |= FINISH_LAYOUT_REDO_WALLPAPER;
|
||||
mDisplayContent.layoutNeeded = true;
|
||||
mService.mWindowPlacerLocked.requestTraversal();
|
||||
}
|
||||
}
|
||||
|
||||
float translateToWindowX(float x) {
|
||||
float winX = x - mFrame.left;
|
||||
if (mEnforceSizeCompat) {
|
||||
|
||||
Reference in New Issue
Block a user