Use DisplayContext to replace default context

When detecting gesturs, the threshold is based on the display metrics.
To get correct display metrics, we replace default context with displayContext.

Bug: 136425762
Test: atest TouchExploreTest
Test: atest MagnificationGestureHandlerTest

Change-Id: I2d6c5a0ef00966d9164e117fc65dac8131f7a175
This commit is contained in:
RyanlwLin
2019-07-04 15:37:55 +08:00
committed by Ryan Lin
parent 4b5df9e274
commit 983a9969df

View File

@@ -385,9 +385,10 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo
for (int i = displaysList.size() - 1; i >= 0; i--) {
final int displayId = displaysList.get(i).getDisplayId();
final Context displayContext = mContext.createDisplayContext(displaysList.get(i));
if ((mEnabledFeatures & FLAG_FEATURE_TOUCH_EXPLORATION) != 0) {
TouchExplorer explorer = new TouchExplorer(mContext, mAms);
TouchExplorer explorer = new TouchExplorer(displayContext, mAms);
addFirstEventHandler(displayId, explorer);
mTouchExplorer.put(displayId, explorer);
}
@@ -400,7 +401,7 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo
final boolean triggerable = (mEnabledFeatures
& FLAG_FEATURE_TRIGGERED_SCREEN_MAGNIFIER) != 0;
MagnificationGestureHandler magnificationGestureHandler =
new MagnificationGestureHandler(mContext,
new MagnificationGestureHandler(displayContext,
mAms.getMagnificationController(),
detectControlGestures, triggerable, displayId);
addFirstEventHandler(displayId, magnificationGestureHandler);