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

Commit 05d5fc62 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Populate AccessibilityEvent.getAction when preforming an action"

parents 825e4bc2 bb8a92b2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -679,6 +679,7 @@ public final class AccessibilityInteractionController {
            mViewRootImpl.mAttachInfo.mAccessibilityFetchFlags = flags;
            final View target = findViewByAccessibilityId(accessibilityViewId);
            if (target != null && isShown(target)) {
                mA11yManager.notifyPerformingAction(action);
                if (action == R.id.accessibilityActionClickOnClickableSpan) {
                    // Handle this hidden action separately
                    succeeded = handleClickableSpanActionUiThread(
@@ -692,6 +693,7 @@ public final class AccessibilityInteractionController {
                        succeeded = target.performAccessibilityAction(action, arguments);
                    }
                }
                mA11yManager.notifyPerformingAction(0);
            }
        } finally {
            try {
+15 −0
Original line number Diff line number Diff line
@@ -240,6 +240,8 @@ public final class AccessibilityManager {

    AccessibilityPolicy mAccessibilityPolicy;

    private int mPerformingAction = 0;

    @UnsupportedAppUsage
    private final ArrayMap<AccessibilityStateChangeListener, Handler>
            mAccessibilityStateChangeListeners = new ArrayMap<>();
@@ -573,6 +575,9 @@ public final class AccessibilityManager {
                return;
            }
            event.setEventTime(SystemClock.uptimeMillis());
            if (event.getAction() == 0) {
                event.setAction(mPerformingAction);
            }
            if (mAccessibilityPolicy != null) {
                dispatchedEvent = mAccessibilityPolicy.onAccessibilityEvent(event,
                        mIsEnabled, mRelevantEventTypes);
@@ -972,6 +977,16 @@ public final class AccessibilityManager {
        return mRequestPreparerLists.get(id);
    }

    /**
     * Set the currently performing accessibility action in views.
     *
     * @param actionId the action id of {@link AccessibilityNodeInfo.AccessibilityAction}.
     * @hide
     */
    public void notifyPerformingAction(int actionId) {
        mPerformingAction = actionId;
    }

    /**
     * Registers a {@link HighTextContrastChangeListener} for changes in
     * the global high text contrast state of the system.