diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java index 61de53a2a483e..7403af7605bce 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java @@ -16,6 +16,9 @@ package com.android.server.accessibility; +import static android.view.WindowManager.LayoutParams.TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY; +import static android.view.WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY; + import android.annotation.MainThread; import android.content.Context; import android.graphics.Region; @@ -557,12 +560,16 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo MagnificationGestureHandler magnificationGestureHandler; if (mAms.getMagnificationMode(displayId) == Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW) { - magnificationGestureHandler = new WindowMagnificationGestureHandler(displayContext, + final Context uiContext = displayContext.createWindowContext( + TYPE_ACCESSIBILITY_MAGNIFICATION_OVERLAY, null /* options */); + magnificationGestureHandler = new WindowMagnificationGestureHandler(uiContext, mAms.getWindowMagnificationMgr(), mAms.getMagnificationController(), detectControlGestures, triggerable, displayId); } else { - magnificationGestureHandler = new FullScreenMagnificationGestureHandler(displayContext, + final Context uiContext = displayContext.createWindowContext( + TYPE_MAGNIFICATION_OVERLAY, null /* options */); + magnificationGestureHandler = new FullScreenMagnificationGestureHandler(uiContext, mAms.getFullScreenMagnificationController(), mAms.getMagnificationController(), detectControlGestures, triggerable, new WindowMagnificationPromptController(displayContext, mUserId), displayId); diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java index 2434e2ca0b544..f7d1b9a311bad 100644 --- a/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java +++ b/services/accessibility/java/com/android/server/accessibility/magnification/FullScreenMagnificationGestureHandler.java @@ -34,6 +34,7 @@ import static java.util.Arrays.copyOfRange; import android.annotation.NonNull; import android.annotation.Nullable; +import android.annotation.UiContext; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -139,7 +140,7 @@ public class FullScreenMagnificationGestureHandler extends MagnificationGestureH private PointerCoords[] mTempPointerCoords; private PointerProperties[] mTempPointerProperties; - public FullScreenMagnificationGestureHandler(Context context, + public FullScreenMagnificationGestureHandler(@UiContext Context context, FullScreenMagnificationController fullScreenMagnificationController, Callback callback, boolean detectTripleTap, diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/PanningScalingHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/PanningScalingHandler.java index 07f22dcb2c951..c5495d98226ee 100644 --- a/services/accessibility/java/com/android/server/accessibility/magnification/PanningScalingHandler.java +++ b/services/accessibility/java/com/android/server/accessibility/magnification/PanningScalingHandler.java @@ -19,6 +19,7 @@ package com.android.server.accessibility.magnification; import static java.lang.Math.abs; import android.annotation.NonNull; +import android.annotation.UiContext; import android.content.Context; import android.os.Handler; import android.util.Log; @@ -63,8 +64,8 @@ class PanningScalingHandler extends private boolean mScaling; private boolean mEnable; - PanningScalingHandler(Context context, float maxScale, float minScale, boolean blockScroll, - @NonNull MagnificationDelegate magnificationDelegate) { + PanningScalingHandler(@UiContext Context context, float maxScale, float minScale, + boolean blockScroll, @NonNull MagnificationDelegate magnificationDelegate) { mDisplayId = context.getDisplayId(); mMaxScale = maxScale; mMinScale = minScale; diff --git a/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java b/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java index fa3406217fa81..4fb9a03b8ac1c 100644 --- a/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java +++ b/services/accessibility/java/com/android/server/accessibility/magnification/WindowMagnificationGestureHandler.java @@ -24,6 +24,7 @@ import static java.util.Arrays.asList; import static java.util.Arrays.copyOfRange; import android.annotation.Nullable; +import android.annotation.UiContext; import android.content.Context; import android.graphics.Point; import android.provider.Settings; @@ -86,7 +87,7 @@ public class WindowMagnificationGestureHandler extends MagnificationGestureHandl private final Context mContext; private final Point mTempPoint = new Point(); - public WindowMagnificationGestureHandler(Context context, + public WindowMagnificationGestureHandler(@UiContext Context context, WindowMagnificationManager windowMagnificationMgr, Callback callback, boolean detectTripleTap, boolean detectShortcutTrigger, int displayId) { @@ -342,7 +343,7 @@ public class WindowMagnificationGestureHandler extends MagnificationGestureHandl */ private final boolean mDetectTripleTap; - DetectingState(Context context, boolean detectTripleTap) { + DetectingState(@UiContext Context context, boolean detectTripleTap) { mDetectTripleTap = detectTripleTap; final MultiTap multiTap = new MultiTap(context, mDetectTripleTap ? 3 : 1, mDetectTripleTap