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

Commit 9e065121 authored by Svetoslav's avatar Svetoslav
Browse files

Dynamically configurable accessibility flags mishandled.

A bug was preventing clearing dynamically settable accessibility
service flags.

bug:8051095

Change-Id: I6844b2f44e323bc741ac39983a892f1d28f3132b
parent 00e59227
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -1640,14 +1640,18 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub {

            if (mIsAutomation || info.getResolveInfo().serviceInfo.applicationInfo.targetSdkVersion
                    >= Build.VERSION_CODES.JELLY_BEAN) {
                mFetchFlags |= (info.flags
                        & AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS) != 0 ?
                                AccessibilityNodeInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS : 0;
                if ((info.flags & AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS) != 0) {
                    mFetchFlags |= AccessibilityNodeInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
                } else {
                    mFetchFlags &= ~AccessibilityNodeInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS;
                }
            }

            mFetchFlags |= (info.flags
                    & AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS) != 0 ?
                            AccessibilityNodeInfo.FLAG_REPORT_VIEW_IDS : 0;
            if ((info.flags & AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS) != 0) {
                mFetchFlags |= AccessibilityNodeInfo.FLAG_REPORT_VIEW_IDS;
            } else {
                mFetchFlags &= ~AccessibilityNodeInfo.FLAG_REPORT_VIEW_IDS;
            }

            if (mResolveInfo != null) {
                mRequestTouchExplorationMode = (info.flags