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

Commit 2c0c1cc6 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka Committed by Android (Google) Code Review
Browse files

Merge "Fix key info reported by keyboard accessibility node provider." into jb-mr1-dev

parents 1a397ece 26b424b6
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -196,8 +196,7 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat
            info.setSource(mKeyboardView, virtualViewId);
            info.setBoundsInScreen(boundsInScreen);
            info.setEnabled(true);
            info.setClickable(true);
            info.addAction(AccessibilityNodeInfoCompat.ACTION_CLICK);
            info.setVisibleToUser(true);

            if (mAccessibilityFocusedView == virtualViewId) {
                info.addAction(AccessibilityNodeInfoCompat.ACTION_CLEAR_ACCESSIBILITY_FOCUS);
@@ -226,6 +225,9 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat

        mKeyboardView.onTouchEvent(downEvent);
        mKeyboardView.onTouchEvent(upEvent);

        downEvent.recycle();
        upEvent.recycle();
    }

    @Override
@@ -252,9 +254,6 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat
        final int virtualViewId = generateVirtualViewIdForKey(key);

        switch (action) {
        case AccessibilityNodeInfoCompat.ACTION_CLICK:
            simulateKeyPress(key);
            return true;
        case AccessibilityNodeInfoCompat.ACTION_ACCESSIBILITY_FOCUS:
            if (mAccessibilityFocusedView == virtualViewId) {
                return false;
+15 −2
Original line number Diff line number Diff line
@@ -105,8 +105,21 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat {
    }

    /**
     * Receives hover events when accessibility is turned on in SDK versions ICS
     * and higher.
     * Receives motion events when touch exploration is turned on in SDK
     * versions ICS and higher.
     *
     * @param event The motion event.
     * @return {@code true} if the event is handled
     */
    public boolean onTouchEvent(MotionEvent event) {
        // To avoid accidental key presses during touch exploration, always drop
        // non-hover touch events.
        return false;
    }

    /**
     * Receives hover events when touch exploration is turned on in SDK versions
     * ICS and higher.
     *
     * @param event The hover event.
     * @return {@code true} if the event is handled
+3 −0
Original line number Diff line number Diff line
@@ -665,6 +665,9 @@ public class MainKeyboardView extends KeyboardView implements PointerTracker.Key
        if (getKeyboard() == null) {
            return false;
        }
        if (AccessibilityUtils.getInstance().isTouchExplorationEnabled()) {
            return AccessibleKeyboardViewProxy.getInstance().onTouchEvent(me);
        }
        return mTouchScreenRegulator.onTouchEvent(me);
    }