Loading core/java/android/view/SurfaceControl.java +9 −0 Original line number Diff line number Diff line Loading @@ -271,6 +271,15 @@ public class SurfaceControl { */ public static final int POWER_MODE_DOZE_SUSPEND = 3; /** * A value for windowType used to indicate that the window should be omitted from screenshots * and display mirroring. A temporary workaround until we express such things with * the hierarchy. * TODO: b/64227542 * @hide */ public static final int WINDOW_TYPE_DONT_SCREENSHOT = 441731; /** * Create a surface with a name. * <p> Loading core/java/android/view/WindowManager.java +4 −3 Original line number Diff line number Diff line Loading @@ -1405,11 +1405,12 @@ public interface WindowManager extends ViewManager { public static final int PRIVATE_FLAG_TASK_SNAPSHOT = 0x00080000; /** * Flag to indicate that this window should be ignored when determining what parts of the * screen can be magnified. * Indicates that this window is the rounded corners overlay present on some * devices this means that it will be excluded from: screenshots, * screen magnification, and mirroring. * @hide */ public static final int PRIVATE_FLAG_NO_MAGNIFICATION_REGION_EFFECT = 0x00100000; public static final int PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY = 0x00100000; /** * Control flags that are private to the platform. Loading packages/SystemUI/src/com/android/systemui/RoundedCorners.java +1 −1 Original line number Diff line number Diff line Loading @@ -121,7 +121,7 @@ public class RoundedCorners extends SystemUI implements Tunable { , PixelFormat.TRANSLUCENT); lp.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS | WindowManager.LayoutParams.PRIVATE_FLAG_NO_MAGNIFICATION_REGION_EFFECT; | WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY; lp.setTitle("RoundedOverlay"); lp.gravity = Gravity.TOP; return lp; Loading services/core/java/com/android/server/wm/AccessibilityController.java +2 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ package com.android.server.wm; import static android.view.WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MAGNIFICATION_REGION_EFFECT; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; Loading Loading @@ -539,7 +539,7 @@ final class AccessibilityController { WindowState windowState = visibleWindows.valueAt(i); if ((windowState.mAttrs.type == TYPE_MAGNIFICATION_OVERLAY) || ((windowState.mAttrs.privateFlags & PRIVATE_FLAG_NO_MAGNIFICATION_REGION_EFFECT) != 0)) { & PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY) != 0)) { continue; } Loading services/core/java/com/android/server/wm/WindowStateAnimator.java +5 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.app.ActivityManager.StackId; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED; import static android.view.WindowManager.LayoutParams.FLAG_SCALED; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER; Loading Loading @@ -631,6 +632,10 @@ class WindowStateAnimator { return mSurfaceController; } if ((mWin.mAttrs.privateFlags & PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY) != 0) { windowType = SurfaceControl.WINDOW_TYPE_DONT_SCREENSHOT; } w.setHasSurface(false); if (DEBUG_ANIM || DEBUG_ORIENTATION) Slog.i(TAG, Loading Loading
core/java/android/view/SurfaceControl.java +9 −0 Original line number Diff line number Diff line Loading @@ -271,6 +271,15 @@ public class SurfaceControl { */ public static final int POWER_MODE_DOZE_SUSPEND = 3; /** * A value for windowType used to indicate that the window should be omitted from screenshots * and display mirroring. A temporary workaround until we express such things with * the hierarchy. * TODO: b/64227542 * @hide */ public static final int WINDOW_TYPE_DONT_SCREENSHOT = 441731; /** * Create a surface with a name. * <p> Loading
core/java/android/view/WindowManager.java +4 −3 Original line number Diff line number Diff line Loading @@ -1405,11 +1405,12 @@ public interface WindowManager extends ViewManager { public static final int PRIVATE_FLAG_TASK_SNAPSHOT = 0x00080000; /** * Flag to indicate that this window should be ignored when determining what parts of the * screen can be magnified. * Indicates that this window is the rounded corners overlay present on some * devices this means that it will be excluded from: screenshots, * screen magnification, and mirroring. * @hide */ public static final int PRIVATE_FLAG_NO_MAGNIFICATION_REGION_EFFECT = 0x00100000; public static final int PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY = 0x00100000; /** * Control flags that are private to the platform. Loading
packages/SystemUI/src/com/android/systemui/RoundedCorners.java +1 −1 Original line number Diff line number Diff line Loading @@ -121,7 +121,7 @@ public class RoundedCorners extends SystemUI implements Tunable { , PixelFormat.TRANSLUCENT); lp.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS | WindowManager.LayoutParams.PRIVATE_FLAG_NO_MAGNIFICATION_REGION_EFFECT; | WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY; lp.setTitle("RoundedOverlay"); lp.gravity = Gravity.TOP; return lp; Loading
services/core/java/com/android/server/wm/AccessibilityController.java +2 −2 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ package com.android.server.wm; import static android.view.WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MAGNIFICATION_REGION_EFFECT; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; Loading Loading @@ -539,7 +539,7 @@ final class AccessibilityController { WindowState windowState = visibleWindows.valueAt(i); if ((windowState.mAttrs.type == TYPE_MAGNIFICATION_OVERLAY) || ((windowState.mAttrs.privateFlags & PRIVATE_FLAG_NO_MAGNIFICATION_REGION_EFFECT) != 0)) { & PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY) != 0)) { continue; } Loading
services/core/java/com/android/server/wm/WindowStateAnimator.java +5 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import static android.app.ActivityManager.StackId; import static android.view.Display.DEFAULT_DISPLAY; import static android.view.WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED; import static android.view.WindowManager.LayoutParams.FLAG_SCALED; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER; Loading Loading @@ -631,6 +632,10 @@ class WindowStateAnimator { return mSurfaceController; } if ((mWin.mAttrs.privateFlags & PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY) != 0) { windowType = SurfaceControl.WINDOW_TYPE_DONT_SCREENSHOT; } w.setHasSurface(false); if (DEBUG_ANIM || DEBUG_ORIENTATION) Slog.i(TAG, Loading