Loading services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java +3 −0 Original line number Diff line number Diff line Loading @@ -906,6 +906,9 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo mServiceDetectsGestures.put(displayId, mode); } public void resetServiceDetectsGestures() { mServiceDetectsGestures.clear(); } public void requestTouchExploration(int displayId) { if (mTouchExplorer.contains(displayId)) { mTouchExplorer.get(displayId).requestTouchExploration(); Loading services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +28 −14 Original line number Diff line number Diff line Loading @@ -2304,6 +2304,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (userState.isTwoFingerPassthroughEnabledLocked()) { flags |= AccessibilityInputFilter.FLAG_REQUEST_2_FINGER_PASSTHROUGH; } } if (userState.isFilterKeyEventsEnabledLocked()) { flags |= AccessibilityInputFilter.FLAG_FEATURE_FILTER_KEY_EVENTS; } Loading @@ -2321,8 +2322,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (!mHasInputFilter) { mHasInputFilter = true; if (mInputFilter == null) { mInputFilter = new AccessibilityInputFilter(mContext, AccessibilityManagerService.this); mInputFilter = new AccessibilityInputFilter( mContext, AccessibilityManagerService.this); } inputFilter = mInputFilter; setInputFilter = true; Loading @@ -2332,6 +2334,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (mHasInputFilter) { mHasInputFilter = false; mInputFilter.setUserAndEnabledFeatures(userState.mUserId, 0); mInputFilter.resetServiceDetectsGestures(); if (userState.isTouchExplorationEnabledLocked()) { // Service gesture detection is turned on and off on a per-display // basis. Loading @@ -2342,7 +2345,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub mInputFilter.setServiceDetectsGesturesEnabled(displayId, mode); } } } inputFilter = null; setInputFilter = true; } Loading Loading @@ -2658,6 +2660,18 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub Binder.restoreCallingIdentity(identity); } } // Service gesture detection is turned on and off on a per-display // basis. userState.resetServiceDetectsGestures(); final ArrayList<Display> displays = getValidDisplayList(); for (AccessibilityServiceConnection service: userState.mBoundServices) { for (Display display : displays) { int displayId = display.getDisplayId(); if (service.isServiceDetectsGesturesEnabled(displayId)) { userState.setServiceDetectsGesturesEnabled(displayId, true); } } } userState.setServiceHandlesDoubleTapLocked(serviceHandlesDoubleTapEnabled); userState.setMultiFingerGesturesLocked(requestMultiFingerGestures); userState.setTwoFingerPassthroughLocked(requestTwoFingerPassthrough); Loading services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java +3 −0 Original line number Diff line number Diff line Loading @@ -994,6 +994,9 @@ class AccessibilityUserState { mServiceDetectsGestures.put(displayId, mode); } public void resetServiceDetectsGestures() { mServiceDetectsGestures.clear(); } public boolean isServiceDetectsGesturesEnabled(int displayId) { if (mServiceDetectsGestures.contains(displayId)) { return mServiceDetectsGestures.get(displayId); Loading Loading
services/accessibility/java/com/android/server/accessibility/AccessibilityInputFilter.java +3 −0 Original line number Diff line number Diff line Loading @@ -906,6 +906,9 @@ class AccessibilityInputFilter extends InputFilter implements EventStreamTransfo mServiceDetectsGestures.put(displayId, mode); } public void resetServiceDetectsGestures() { mServiceDetectsGestures.clear(); } public void requestTouchExploration(int displayId) { if (mTouchExplorer.contains(displayId)) { mTouchExplorer.get(displayId).requestTouchExploration(); Loading
services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +28 −14 Original line number Diff line number Diff line Loading @@ -2304,6 +2304,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (userState.isTwoFingerPassthroughEnabledLocked()) { flags |= AccessibilityInputFilter.FLAG_REQUEST_2_FINGER_PASSTHROUGH; } } if (userState.isFilterKeyEventsEnabledLocked()) { flags |= AccessibilityInputFilter.FLAG_FEATURE_FILTER_KEY_EVENTS; } Loading @@ -2321,8 +2322,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (!mHasInputFilter) { mHasInputFilter = true; if (mInputFilter == null) { mInputFilter = new AccessibilityInputFilter(mContext, AccessibilityManagerService.this); mInputFilter = new AccessibilityInputFilter( mContext, AccessibilityManagerService.this); } inputFilter = mInputFilter; setInputFilter = true; Loading @@ -2332,6 +2334,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub if (mHasInputFilter) { mHasInputFilter = false; mInputFilter.setUserAndEnabledFeatures(userState.mUserId, 0); mInputFilter.resetServiceDetectsGestures(); if (userState.isTouchExplorationEnabledLocked()) { // Service gesture detection is turned on and off on a per-display // basis. Loading @@ -2342,7 +2345,6 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub mInputFilter.setServiceDetectsGesturesEnabled(displayId, mode); } } } inputFilter = null; setInputFilter = true; } Loading Loading @@ -2658,6 +2660,18 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub Binder.restoreCallingIdentity(identity); } } // Service gesture detection is turned on and off on a per-display // basis. userState.resetServiceDetectsGestures(); final ArrayList<Display> displays = getValidDisplayList(); for (AccessibilityServiceConnection service: userState.mBoundServices) { for (Display display : displays) { int displayId = display.getDisplayId(); if (service.isServiceDetectsGesturesEnabled(displayId)) { userState.setServiceDetectsGesturesEnabled(displayId, true); } } } userState.setServiceHandlesDoubleTapLocked(serviceHandlesDoubleTapEnabled); userState.setMultiFingerGesturesLocked(requestMultiFingerGestures); userState.setTwoFingerPassthroughLocked(requestTwoFingerPassthrough); Loading
services/accessibility/java/com/android/server/accessibility/AccessibilityUserState.java +3 −0 Original line number Diff line number Diff line Loading @@ -994,6 +994,9 @@ class AccessibilityUserState { mServiceDetectsGestures.put(displayId, mode); } public void resetServiceDetectsGestures() { mServiceDetectsGestures.clear(); } public boolean isServiceDetectsGesturesEnabled(int displayId) { if (mServiceDetectsGestures.contains(displayId)) { return mServiceDetectsGestures.get(displayId); Loading