diff options
author | Svetoslav Ganov <svetoslavganov@google.com> | 2013-04-18 10:35:16 -0700 |
---|---|---|
committer | Svetoslav Ganov <svetoslavganov@google.com> | 2013-04-18 10:42:30 -0700 |
commit | 467a052e159d5dc87b27ce94f8559576ec73040b (patch) | |
tree | 2061c817f3f9a7d69eef6f59eaea3aacb90dda1f /services/java/com/android/server/accessibility | |
parent | 7f6fc12997d67ae80a044bc0b4cc17797d887911 (diff) | |
download | frameworks_base-467a052e159d5dc87b27ce94f8559576ec73040b.zip frameworks_base-467a052e159d5dc87b27ce94f8559576ec73040b.tar.gz frameworks_base-467a052e159d5dc87b27ce94f8559576ec73040b.tar.bz2 |
Magnification does not work if no enabled accessibility services.
This is a regression in which the input filter of the accessibility
manager service is not set if magnification is enabled but accessibility
is not - i.e. no accessibility serivces are enabled. Fixed the logic to
install the input filter if magnification is on but services are not
enabled in addition to services being enabled.
bug:8652765
Change-Id: Ia73e1064035f95ba0f246f4cabcc42d58c12a11f
Diffstat (limited to 'services/java/com/android/server/accessibility')
-rw-r--r-- | services/java/com/android/server/accessibility/AccessibilityManagerService.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/services/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/java/com/android/server/accessibility/AccessibilityManagerService.java index 1f3ac96..7a5f55a 100644 --- a/services/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -1160,7 +1160,9 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { boolean setInputFilter = false; AccessibilityInputFilter inputFilter = null; synchronized (mLock) { - if (userState.mIsAccessibilityEnabled) { + // Accessibility enabled means at least one service is enabled. + if (userState.mIsAccessibilityEnabled + || userState.mIsDisplayMagnificationEnabled) { if (!mHasInputFilter) { mHasInputFilter = true; if (mInputFilter == null) { @@ -1174,7 +1176,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { if (userState.mIsDisplayMagnificationEnabled) { flags |= AccessibilityInputFilter.FLAG_FEATURE_SCREEN_MAGNIFIER; } - if (userState.mIsTouchExplorationEnabled) { + // Touch exploration without accessibility makes no sense. + if (userState.mIsAccessibilityEnabled && userState.mIsTouchExplorationEnabled) { flags |= AccessibilityInputFilter.FLAG_FEATURE_TOUCH_EXPLORATION; } mInputFilter.setEnabledFeatures(flags); |