diff options
4 files changed, 25 insertions, 22 deletions
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java index cd83f8f4d9d8..5af80da894cc 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java @@ -68,7 +68,7 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo * * @see #setUserAndEnabledFeatures(int, int) */ - static final int FLAG_FEATURE_SCREEN_MAGNIFIER = 0x00000001; + static final int FLAG_FEATURE_MAGNIFICATION_SINGLE_FINGER_TRIPLE_TAP = 0x00000001; /** * Flag for enabling the touch exploration feature. @@ -100,7 +100,7 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo /** * Flag for enabling the feature to control the screen magnifier. If - * {@link #FLAG_FEATURE_SCREEN_MAGNIFIER} is set this flag is ignored + * {@link #FLAG_FEATURE_MAGNIFICATION_SINGLE_FINGER_TRIPLE_TAP} is set this flag is ignored * as the screen magnifier feature performs a super set of the work * performed by this feature. * @@ -149,7 +149,7 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo FLAG_FEATURE_INJECT_MOTION_EVENTS | FLAG_FEATURE_AUTOCLICK | FLAG_FEATURE_TOUCH_EXPLORATION - | FLAG_FEATURE_SCREEN_MAGNIFIER + | FLAG_FEATURE_MAGNIFICATION_SINGLE_FINGER_TRIPLE_TAP | FLAG_FEATURE_TRIGGERED_SCREEN_MAGNIFIER | FLAG_SERVICE_HANDLES_DOUBLE_TAP | FLAG_REQUEST_MULTI_FINGER_GESTURES @@ -530,7 +530,7 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo } if ((mEnabledFeatures & FLAG_FEATURE_CONTROL_SCREEN_MAGNIFIER) != 0 - || ((mEnabledFeatures & FLAG_FEATURE_SCREEN_MAGNIFIER) != 0) + || ((mEnabledFeatures & FLAG_FEATURE_MAGNIFICATION_SINGLE_FINGER_TRIPLE_TAP) != 0) || ((mEnabledFeatures & FLAG_FEATURE_TRIGGERED_SCREEN_MAGNIFIER) != 0)) { final MagnificationGestureHandler magnificationGestureHandler = createMagnificationGestureHandler(displayId, @@ -648,7 +648,7 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo private MagnificationGestureHandler createMagnificationGestureHandler( int displayId, Context displayContext) { final boolean detectControlGestures = (mEnabledFeatures - & FLAG_FEATURE_SCREEN_MAGNIFIER) != 0; + & FLAG_FEATURE_MAGNIFICATION_SINGLE_FINGER_TRIPLE_TAP) != 0; final boolean triggerable = (mEnabledFeatures & FLAG_FEATURE_TRIGGERED_SCREEN_MAGNIFIER) != 0; MagnificationGestureHandler magnificationGestureHandler; diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 8c1d444006bd..d28d291537aa 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -2693,8 +2693,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub AccessibilityInputFilter inputFilter = null; synchronized (mLock) { int flags = 0; - if (userState.isDisplayMagnificationEnabledLocked()) { - flags |= AccessibilityInputFilter.FLAG_FEATURE_SCREEN_MAGNIFIER; + if (userState.isMagnificationSingleFingerTripleTapEnabledLocked()) { + flags |= AccessibilityInputFilter + .FLAG_FEATURE_MAGNIFICATION_SINGLE_FINGER_TRIPLE_TAP; } if (userState.isShortcutMagnificationEnabledLocked()) { flags |= AccessibilityInputFilter.FLAG_FEATURE_TRIGGERED_SCREEN_MAGNIFIER; @@ -3047,12 +3048,14 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub } private boolean readMagnificationEnabledSettingsLocked(AccessibilityUserState userState) { - final boolean displayMagnificationEnabled = Settings.Secure.getIntForUser( + final boolean magnificationSingleFingerTripleTapEnabled = Settings.Secure.getIntForUser( mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, 0, userState.mUserId) == 1; - if ((displayMagnificationEnabled != userState.isDisplayMagnificationEnabledLocked())) { - userState.setDisplayMagnificationEnabledLocked(displayMagnificationEnabled); + if ((magnificationSingleFingerTripleTapEnabled + != userState.isMagnificationSingleFingerTripleTapEnabledLocked())) { + userState.setMagnificationSingleFingerTripleTapEnabledLocked( + magnificationSingleFingerTripleTapEnabled); return true; } return false; @@ -3292,7 +3295,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub // We would skip overlay display because it uses overlay window to simulate secondary // displays in one display. It's not a real display and there's no input events for it. final ArrayList<Display> displays = getValidDisplayList(); - if (userState.isDisplayMagnificationEnabledLocked() + if (userState.isMagnificationSingleFingerTripleTapEnabledLocked() || userState.isShortcutMagnificationEnabledLocked()) { for (int i = 0; i < displays.size(); i++) { final Display display = displays.get(i); @@ -3321,7 +3324,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub return; } final boolean connect = (userState.isShortcutMagnificationEnabledLocked() - || userState.isDisplayMagnificationEnabledLocked()) + || userState.isMagnificationSingleFingerTripleTapEnabledLocked()) && (userState.getMagnificationCapabilitiesLocked() != Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN) || userHasMagnificationServicesLocked(userState); @@ -5006,7 +5009,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub updateWindowMagnificationConnectionIfNeeded(userState); // Remove magnification button UI when the magnification capability is not all mode or // magnification is disabled. - if (!(userState.isDisplayMagnificationEnabledLocked() + if (!(userState.isMagnificationSingleFingerTripleTapEnabledLocked() || userState.isShortcutMagnificationEnabledLocked()) || userState.getMagnificationCapabilitiesLocked() != Settings.Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ALL) { diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java index 693526adc8d6..b4efec1a4b38 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java @@ -109,7 +109,7 @@ class AccessibilityUserState { private boolean mBindInstantServiceAllowed; private boolean mIsAudioDescriptionByDefaultRequested; private boolean mIsAutoclickEnabled; - private boolean mIsDisplayMagnificationEnabled; + private boolean mIsMagnificationSingleFingerTripleTapEnabled; private boolean mIsFilterKeyEventsEnabled; private boolean mIsPerformGesturesEnabled; private boolean mAccessibilityFocusOnlyInActiveWindow; @@ -211,7 +211,7 @@ class AccessibilityUserState { mRequestMultiFingerGestures = false; mRequestTwoFingerPassthrough = false; mSendMotionEventsEnabled = false; - mIsDisplayMagnificationEnabled = false; + mIsMagnificationSingleFingerTripleTapEnabled = false; mIsAutoclickEnabled = false; mUserNonInteractiveUiTimeout = 0; mUserInteractiveUiTimeout = 0; @@ -520,7 +520,7 @@ class AccessibilityUserState { .append(String.valueOf(mRequestTwoFingerPassthrough)); pw.append(", sendMotionEventsEnabled").append(String.valueOf(mSendMotionEventsEnabled)); pw.append(", displayMagnificationEnabled=").append(String.valueOf( - mIsDisplayMagnificationEnabled)); + mIsMagnificationSingleFingerTripleTapEnabled)); pw.append(", autoclickEnabled=").append(String.valueOf(mIsAutoclickEnabled)); pw.append(", nonInteractiveUiTimeout=").append(String.valueOf(mNonInteractiveUiTimeout)); pw.append(", interactiveUiTimeout=").append(String.valueOf(mInteractiveUiTimeout)); @@ -625,12 +625,12 @@ class AccessibilityUserState { mIsAutoclickEnabled = enabled; } - public boolean isDisplayMagnificationEnabledLocked() { - return mIsDisplayMagnificationEnabled; + public boolean isMagnificationSingleFingerTripleTapEnabledLocked() { + return mIsMagnificationSingleFingerTripleTapEnabled; } - public void setDisplayMagnificationEnabledLocked(boolean enabled) { - mIsDisplayMagnificationEnabled = enabled; + public void setMagnificationSingleFingerTripleTapEnabledLocked(boolean enabled) { + mIsMagnificationSingleFingerTripleTapEnabled = enabled; } public boolean isFilterKeyEventsEnabledLocked() { diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java index 63281b77ade7..71007f53f0e1 100644 --- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java +++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityUserStateTest.java @@ -155,7 +155,7 @@ public class AccessibilityUserStateTest { mUserState.mAccessibilityButtonTargets.add(COMPONENT_NAME.flattenToString()); mUserState.setTargetAssignedToAccessibilityButton(COMPONENT_NAME.flattenToString()); mUserState.setTouchExplorationEnabledLocked(true); - mUserState.setDisplayMagnificationEnabledLocked(true); + mUserState.setMagnificationSingleFingerTripleTapEnabledLocked(true); mUserState.setAutoclickEnabledLocked(true); mUserState.setUserNonInteractiveUiTimeoutLocked(30); mUserState.setUserInteractiveUiTimeoutLocked(30); @@ -177,7 +177,7 @@ public class AccessibilityUserStateTest { assertTrue(mUserState.mAccessibilityButtonTargets.isEmpty()); assertNull(mUserState.getTargetAssignedToAccessibilityButton()); assertFalse(mUserState.isTouchExplorationEnabledLocked()); - assertFalse(mUserState.isDisplayMagnificationEnabledLocked()); + assertFalse(mUserState.isMagnificationSingleFingerTripleTapEnabledLocked()); assertFalse(mUserState.isAutoclickEnabledLocked()); assertEquals(0, mUserState.getUserNonInteractiveUiTimeoutLocked()); assertEquals(0, mUserState.getUserInteractiveUiTimeoutLocked()); |