From 467a052e159d5dc87b27ce94f8559576ec73040b Mon Sep 17 00:00:00 2001 From: Svetoslav Ganov Date: Thu, 18 Apr 2013 10:35:16 -0700 Subject: [PATCH] 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 --- .../server/accessibility/AccessibilityManagerService.java | 7 +++++-- 1 file 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 1f3ac9691872b..7a5f55a125126 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);