From 2d2e612b6512490623b2b6c9d20782c82c9b76b9 Mon Sep 17 00:00:00 2001 From: ryanlwlin Date: Mon, 4 May 2020 14:58:13 +0800 Subject: [PATCH] Fix the indicator of magnification around the mirror window The indicator of magnification is around the mirror window because it's unmagnifiable. This phenomenon happens when switching the magnification mode. To have better transition experience, we exclude the A11y magnfication overlay when calculating the magnification region. Bug: 153852242 Test: manual test: show mirror window when the border is visible. Change-Id: Ie95a04012dc31ef844a7f5eea87c2f2e253b6533 --- .../java/com/android/server/wm/AccessibilityController.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java index 785ca908b7033..22b87d463b4b8 100644 --- a/services/core/java/com/android/server/wm/AccessibilityController.java +++ b/services/core/java/com/android/server/wm/AccessibilityController.java @@ -18,6 +18,7 @@ package com.android.server.wm; import static android.view.InsetsState.ITYPE_NAVIGATION_BAR; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY; +import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER; import static android.view.WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY; @@ -681,7 +682,9 @@ final class AccessibilityController { final int visibleWindowCount = visibleWindows.size(); for (int i = visibleWindowCount - 1; i >= 0; i--) { WindowState windowState = visibleWindows.valueAt(i); - if ((windowState.mAttrs.type == TYPE_MAGNIFICATION_OVERLAY) + final int windowType = windowState.mAttrs.type; + if ((windowType == TYPE_MAGNIFICATION_OVERLAY + || windowType == TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY) || ((windowState.mAttrs.privateFlags & PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY) != 0)) { continue;