summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/accessibility
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2013-04-18 10:35:16 -0700
committerSvetoslav Ganov <svetoslavganov@google.com>2013-04-18 10:42:30 -0700
commit467a052e159d5dc87b27ce94f8559576ec73040b (patch)
tree2061c817f3f9a7d69eef6f59eaea3aacb90dda1f /services/java/com/android/server/accessibility
parent7f6fc12997d67ae80a044bc0b4cc17797d887911 (diff)
downloadframeworks_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.java7
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);