Loading core/java/android/provider/Settings.java +22 −1 Original line number Diff line number Diff line Loading @@ -4921,7 +4921,26 @@ public final class Settings { "accessibility_display_daltonizer"; /** * The timout for considering a press to be a long press in milliseconds. * Setting that specifies whether automatic click when the mouse pointer stops moving is * enabled. * * @hide */ public static final String ACCESSIBILITY_AUTOCLICK_ENABLED = "accessibility_autoclick_enabled"; /** * Integer setting specifying amount of time in ms the mouse pointer has to stay still * before performing click when {@link #ACCESSIBILITY_AUTOCLICK_ENABLED} is set. * * @see #ACCESSIBILITY_AUTOCLICK_ENABLED * @hide */ public static final String ACCESSIBILITY_AUTOCLICK_DELAY = "accessibility_autoclick_delay"; /** * The timeout for considering a press to be a long press in milliseconds. * @hide */ public static final String LONG_PRESS_TIMEOUT = "long_press_timeout"; Loading Loading @@ -5785,6 +5804,8 @@ public final class Settings { SLEEP_TIMEOUT, DOUBLE_TAP_TO_WAKE, CAMERA_GESTURE_DISABLED, ACCESSIBILITY_AUTOCLICK_ENABLED, ACCESSIBILITY_AUTOCLICK_DELAY }; /** Loading services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +30 −0 Original line number Diff line number Diff line Loading @@ -650,6 +650,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { userState.mIsTouchExplorationEnabled = false; userState.mIsEnhancedWebAccessibilityEnabled = false; userState.mIsDisplayMagnificationEnabled = false; userState.mIsAutoclickEnabled = false; userState.mInstalledServices.add(accessibilityServiceInfo); userState.mEnabledServices.clear(); userState.mEnabledServices.add(sFakeAccessibilityServiceComponentName); Loading Loading @@ -700,6 +701,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { userState.mIsTouchExplorationEnabled = touchExplorationEnabled; userState.mIsEnhancedWebAccessibilityEnabled = false; userState.mIsDisplayMagnificationEnabled = false; userState.mIsAutoclickEnabled = false; userState.mEnabledServices.clear(); userState.mEnabledServices.add(service); userState.mBindingServices.clear(); Loading Loading @@ -1281,6 +1283,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { if (userState.mIsFilterKeyEventsEnabled) { flags |= AccessibilityInputFilter.FLAG_FEATURE_FILTER_KEY_EVENTS; } if (userState.mIsAutoclickEnabled) { flags |= AccessibilityInputFilter.FLAG_FEATURE_AUTOCLICK; } if (flags != 0) { if (!mHasInputFilter) { mHasInputFilter = true; Loading Loading @@ -1485,6 +1490,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { somthingChanged |= readHighTextContrastEnabledSettingLocked(userState); somthingChanged |= readEnhancedWebAccessibilityEnabledChangedLocked(userState); somthingChanged |= readDisplayMagnificationEnabledSettingLocked(userState); somthingChanged |= readAutoclickEnabledSettingLocked(userState); somthingChanged |= readDisplayColorAdjustmentSettingsLocked(userState); return somthingChanged; } Loading Loading @@ -1523,6 +1529,18 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { return false; } private boolean readAutoclickEnabledSettingLocked(UserState userState) { final boolean autoclickEnabled = Settings.Secure.getIntForUser( mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, 0, userState.mUserId) == 1; if (autoclickEnabled != userState.mIsAutoclickEnabled) { userState.mIsAutoclickEnabled = autoclickEnabled; return true; } return false; } private boolean readEnhancedWebAccessibilityEnabledChangedLocked(UserState userState) { final boolean enhancedWeAccessibilityEnabled = Settings.Secure.getIntForUser( mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_SCRIPT_INJECTION, Loading Loading @@ -1671,6 +1689,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { pw.append(", touchExplorationEnabled=" + userState.mIsTouchExplorationEnabled); pw.append(", displayMagnificationEnabled=" + userState.mIsDisplayMagnificationEnabled); pw.append(", autoclickEnabled=" + userState.mIsAutoclickEnabled); if (userState.mUiAutomationService != null) { pw.append(", "); userState.mUiAutomationService.dump(fd, pw, args); Loading Loading @@ -3777,6 +3796,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { public boolean mIsTextHighContrastEnabled; public boolean mIsEnhancedWebAccessibilityEnabled; public boolean mIsDisplayMagnificationEnabled; public boolean mIsAutoclickEnabled; public boolean mIsFilterKeyEventsEnabled; public boolean mHasDisplayColorAdjustment; public boolean mAccessibilityFocusOnlyInActiveWindow; Loading Loading @@ -3841,6 +3861,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { mIsTouchExplorationEnabled = false; mIsEnhancedWebAccessibilityEnabled = false; mIsDisplayMagnificationEnabled = false; mIsAutoclickEnabled = false; } public void destroyUiAutomationService() { Loading @@ -3865,6 +3886,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { private final Uri mDisplayMagnificationEnabledUri = Settings.Secure.getUriFor( Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED); private final Uri mAutoclickEnabledUri = Settings.Secure.getUriFor( Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED); private final Uri mEnabledAccessibilityServicesUri = Settings.Secure.getUriFor( Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES); Loading Loading @@ -3897,6 +3921,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { false, this, UserHandle.USER_ALL); contentResolver.registerContentObserver(mDisplayMagnificationEnabledUri, false, this, UserHandle.USER_ALL); contentResolver.registerContentObserver(mAutoclickEnabledUri, false, this, UserHandle.USER_ALL); contentResolver.registerContentObserver(mEnabledAccessibilityServicesUri, false, this, UserHandle.USER_ALL); contentResolver.registerContentObserver( Loading Loading @@ -3938,6 +3964,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { if (readDisplayMagnificationEnabledSettingLocked(userState)) { onUserStateChangedLocked(userState); } } else if (mAutoclickEnabledUri.equals(uri)) { if (readAutoclickEnabledSettingLocked(userState)) { onUserStateChangedLocked(userState); } } else if (mEnabledAccessibilityServicesUri.equals(uri)) { if (readEnabledAccessibilityServicesLocked(userState)) { onUserStateChangedLocked(userState); Loading Loading
core/java/android/provider/Settings.java +22 −1 Original line number Diff line number Diff line Loading @@ -4921,7 +4921,26 @@ public final class Settings { "accessibility_display_daltonizer"; /** * The timout for considering a press to be a long press in milliseconds. * Setting that specifies whether automatic click when the mouse pointer stops moving is * enabled. * * @hide */ public static final String ACCESSIBILITY_AUTOCLICK_ENABLED = "accessibility_autoclick_enabled"; /** * Integer setting specifying amount of time in ms the mouse pointer has to stay still * before performing click when {@link #ACCESSIBILITY_AUTOCLICK_ENABLED} is set. * * @see #ACCESSIBILITY_AUTOCLICK_ENABLED * @hide */ public static final String ACCESSIBILITY_AUTOCLICK_DELAY = "accessibility_autoclick_delay"; /** * The timeout for considering a press to be a long press in milliseconds. * @hide */ public static final String LONG_PRESS_TIMEOUT = "long_press_timeout"; Loading Loading @@ -5785,6 +5804,8 @@ public final class Settings { SLEEP_TIMEOUT, DOUBLE_TAP_TO_WAKE, CAMERA_GESTURE_DISABLED, ACCESSIBILITY_AUTOCLICK_ENABLED, ACCESSIBILITY_AUTOCLICK_DELAY }; /** Loading
services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +30 −0 Original line number Diff line number Diff line Loading @@ -650,6 +650,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { userState.mIsTouchExplorationEnabled = false; userState.mIsEnhancedWebAccessibilityEnabled = false; userState.mIsDisplayMagnificationEnabled = false; userState.mIsAutoclickEnabled = false; userState.mInstalledServices.add(accessibilityServiceInfo); userState.mEnabledServices.clear(); userState.mEnabledServices.add(sFakeAccessibilityServiceComponentName); Loading Loading @@ -700,6 +701,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { userState.mIsTouchExplorationEnabled = touchExplorationEnabled; userState.mIsEnhancedWebAccessibilityEnabled = false; userState.mIsDisplayMagnificationEnabled = false; userState.mIsAutoclickEnabled = false; userState.mEnabledServices.clear(); userState.mEnabledServices.add(service); userState.mBindingServices.clear(); Loading Loading @@ -1281,6 +1283,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { if (userState.mIsFilterKeyEventsEnabled) { flags |= AccessibilityInputFilter.FLAG_FEATURE_FILTER_KEY_EVENTS; } if (userState.mIsAutoclickEnabled) { flags |= AccessibilityInputFilter.FLAG_FEATURE_AUTOCLICK; } if (flags != 0) { if (!mHasInputFilter) { mHasInputFilter = true; Loading Loading @@ -1485,6 +1490,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { somthingChanged |= readHighTextContrastEnabledSettingLocked(userState); somthingChanged |= readEnhancedWebAccessibilityEnabledChangedLocked(userState); somthingChanged |= readDisplayMagnificationEnabledSettingLocked(userState); somthingChanged |= readAutoclickEnabledSettingLocked(userState); somthingChanged |= readDisplayColorAdjustmentSettingsLocked(userState); return somthingChanged; } Loading Loading @@ -1523,6 +1529,18 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { return false; } private boolean readAutoclickEnabledSettingLocked(UserState userState) { final boolean autoclickEnabled = Settings.Secure.getIntForUser( mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, 0, userState.mUserId) == 1; if (autoclickEnabled != userState.mIsAutoclickEnabled) { userState.mIsAutoclickEnabled = autoclickEnabled; return true; } return false; } private boolean readEnhancedWebAccessibilityEnabledChangedLocked(UserState userState) { final boolean enhancedWeAccessibilityEnabled = Settings.Secure.getIntForUser( mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_SCRIPT_INJECTION, Loading Loading @@ -1671,6 +1689,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { pw.append(", touchExplorationEnabled=" + userState.mIsTouchExplorationEnabled); pw.append(", displayMagnificationEnabled=" + userState.mIsDisplayMagnificationEnabled); pw.append(", autoclickEnabled=" + userState.mIsAutoclickEnabled); if (userState.mUiAutomationService != null) { pw.append(", "); userState.mUiAutomationService.dump(fd, pw, args); Loading Loading @@ -3777,6 +3796,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { public boolean mIsTextHighContrastEnabled; public boolean mIsEnhancedWebAccessibilityEnabled; public boolean mIsDisplayMagnificationEnabled; public boolean mIsAutoclickEnabled; public boolean mIsFilterKeyEventsEnabled; public boolean mHasDisplayColorAdjustment; public boolean mAccessibilityFocusOnlyInActiveWindow; Loading Loading @@ -3841,6 +3861,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { mIsTouchExplorationEnabled = false; mIsEnhancedWebAccessibilityEnabled = false; mIsDisplayMagnificationEnabled = false; mIsAutoclickEnabled = false; } public void destroyUiAutomationService() { Loading @@ -3865,6 +3886,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { private final Uri mDisplayMagnificationEnabledUri = Settings.Secure.getUriFor( Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED); private final Uri mAutoclickEnabledUri = Settings.Secure.getUriFor( Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED); private final Uri mEnabledAccessibilityServicesUri = Settings.Secure.getUriFor( Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES); Loading Loading @@ -3897,6 +3921,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { false, this, UserHandle.USER_ALL); contentResolver.registerContentObserver(mDisplayMagnificationEnabledUri, false, this, UserHandle.USER_ALL); contentResolver.registerContentObserver(mAutoclickEnabledUri, false, this, UserHandle.USER_ALL); contentResolver.registerContentObserver(mEnabledAccessibilityServicesUri, false, this, UserHandle.USER_ALL); contentResolver.registerContentObserver( Loading Loading @@ -3938,6 +3964,10 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { if (readDisplayMagnificationEnabledSettingLocked(userState)) { onUserStateChangedLocked(userState); } } else if (mAutoclickEnabledUri.equals(uri)) { if (readAutoclickEnabledSettingLocked(userState)) { onUserStateChangedLocked(userState); } } else if (mEnabledAccessibilityServicesUri.equals(uri)) { if (readEnabledAccessibilityServicesLocked(userState)) { onUserStateChangedLocked(userState); Loading