Merge "Uses windowContext for the MagnificationGestureHandler" into sc-dev

This commit is contained in:
Minche Li
2021-05-04 15:29:38 +00:00
committed by Android (Google) Code Review
4 changed files with 17 additions and 7 deletions

View File

@@ -16,6 +16,9 @@
package com.android.server.accessibility; 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.annotation.MainThread;
import android.content.Context; import android.content.Context;
import android.graphics.Region; import android.graphics.Region;
@@ -557,12 +560,16 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo
MagnificationGestureHandler magnificationGestureHandler; MagnificationGestureHandler magnificationGestureHandler;
if (mAms.getMagnificationMode(displayId) if (mAms.getMagnificationMode(displayId)
== Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_WINDOW) { == 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(), mAms.getWindowMagnificationMgr(), mAms.getMagnificationController(),
detectControlGestures, triggerable, detectControlGestures, triggerable,
displayId); displayId);
} else { } else {
magnificationGestureHandler = new FullScreenMagnificationGestureHandler(displayContext, final Context uiContext = displayContext.createWindowContext(
TYPE_MAGNIFICATION_OVERLAY, null /* options */);
magnificationGestureHandler = new FullScreenMagnificationGestureHandler(uiContext,
mAms.getFullScreenMagnificationController(), mAms.getMagnificationController(), mAms.getFullScreenMagnificationController(), mAms.getMagnificationController(),
detectControlGestures, triggerable, detectControlGestures, triggerable,
new WindowMagnificationPromptController(displayContext, mUserId), displayId); new WindowMagnificationPromptController(displayContext, mUserId), displayId);

View File

@@ -34,6 +34,7 @@ import static java.util.Arrays.copyOfRange;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.UiContext;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -139,7 +140,7 @@ public class FullScreenMagnificationGestureHandler extends MagnificationGestureH
private PointerCoords[] mTempPointerCoords; private PointerCoords[] mTempPointerCoords;
private PointerProperties[] mTempPointerProperties; private PointerProperties[] mTempPointerProperties;
public FullScreenMagnificationGestureHandler(Context context, public FullScreenMagnificationGestureHandler(@UiContext Context context,
FullScreenMagnificationController fullScreenMagnificationController, FullScreenMagnificationController fullScreenMagnificationController,
Callback callback, Callback callback,
boolean detectTripleTap, boolean detectTripleTap,

View File

@@ -19,6 +19,7 @@ package com.android.server.accessibility.magnification;
import static java.lang.Math.abs; import static java.lang.Math.abs;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.UiContext;
import android.content.Context; import android.content.Context;
import android.os.Handler; import android.os.Handler;
import android.util.Log; import android.util.Log;
@@ -63,8 +64,8 @@ class PanningScalingHandler extends
private boolean mScaling; private boolean mScaling;
private boolean mEnable; private boolean mEnable;
PanningScalingHandler(Context context, float maxScale, float minScale, boolean blockScroll, PanningScalingHandler(@UiContext Context context, float maxScale, float minScale,
@NonNull MagnificationDelegate magnificationDelegate) { boolean blockScroll, @NonNull MagnificationDelegate magnificationDelegate) {
mDisplayId = context.getDisplayId(); mDisplayId = context.getDisplayId();
mMaxScale = maxScale; mMaxScale = maxScale;
mMinScale = minScale; mMinScale = minScale;

View File

@@ -24,6 +24,7 @@ import static java.util.Arrays.asList;
import static java.util.Arrays.copyOfRange; import static java.util.Arrays.copyOfRange;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.UiContext;
import android.content.Context; import android.content.Context;
import android.graphics.Point; import android.graphics.Point;
import android.provider.Settings; import android.provider.Settings;
@@ -86,7 +87,7 @@ public class WindowMagnificationGestureHandler extends MagnificationGestureHandl
private final Context mContext; private final Context mContext;
private final Point mTempPoint = new Point(); private final Point mTempPoint = new Point();
public WindowMagnificationGestureHandler(Context context, public WindowMagnificationGestureHandler(@UiContext Context context,
WindowMagnificationManager windowMagnificationMgr, WindowMagnificationManager windowMagnificationMgr,
Callback callback, Callback callback,
boolean detectTripleTap, boolean detectShortcutTrigger, int displayId) { boolean detectTripleTap, boolean detectShortcutTrigger, int displayId) {
@@ -342,7 +343,7 @@ public class WindowMagnificationGestureHandler extends MagnificationGestureHandl
*/ */
private final boolean mDetectTripleTap; private final boolean mDetectTripleTap;
DetectingState(Context context, boolean detectTripleTap) { DetectingState(@UiContext Context context, boolean detectTripleTap) {
mDetectTripleTap = detectTripleTap; mDetectTripleTap = detectTripleTap;
final MultiTap multiTap = new MultiTap(context, mDetectTripleTap ? 3 : 1, final MultiTap multiTap = new MultiTap(context, mDetectTripleTap ? 3 : 1,
mDetectTripleTap mDetectTripleTap