Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 467a052e authored by Svetoslav Ganov's avatar Svetoslav Ganov
Browse files

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
parent 7f6fc129
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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);