Loading java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java +16 −16 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.util.Log; import android.util.SparseArray; import android.view.MotionEvent; import android.view.View; import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.view.accessibility.AccessibilityEvent; import android.view.inputmethod.EditorInfo; Loading @@ -51,7 +50,6 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat private static final String TAG = AccessibilityEntityProvider.class.getSimpleName(); private static final int UNDEFINED = Integer.MIN_VALUE; private final KeyboardView mKeyboardView; private final InputMethodService mInputMethodService; private final KeyCodeDescriptionMapper mKeyCodeDescriptionMapper; private final AccessibilityUtils mAccessibilityUtils; Loading @@ -68,18 +66,28 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat /** The virtual view identifier for the focused node. */ private int mAccessibilityFocusedView = UNDEFINED; /** The current keyboard view. */ private KeyboardView mKeyboardView; public AccessibilityEntityProvider(KeyboardView keyboardView, InputMethodService inputMethod) { mKeyboardView = keyboardView; mInputMethodService = inputMethod; mKeyCodeDescriptionMapper = KeyCodeDescriptionMapper.getInstance(); mAccessibilityUtils = AccessibilityUtils.getInstance(); setView(keyboardView); } /** * Sets the keyboard view represented by this node provider. * * @param keyboardView The keyboard view to represent. */ public void setView(KeyboardView keyboardView) { mKeyboardView = keyboardView; assignVirtualViewIds(); updateParentLocation(); // Ensure that the on-screen bounds are cleared when the layout changes. mKeyboardView.getViewTreeObserver().addOnGlobalLayoutListener(mGlobalLayoutListener); } /** Loading Loading @@ -196,8 +204,8 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat * @param key The key to press. */ void simulateKeyPress(Key key) { final int x = key.mX + (key.mWidth / 2); final int y = key.mY + (key.mHeight / 2); final int x = key.mHitBox.centerX(); final int y = key.mHitBox.centerY(); final long downTime = SystemClock.uptimeMillis(); final MotionEvent downEvent = MotionEvent.obtain( downTime, downTime, MotionEvent.ACTION_DOWN, x, y, 0); Loading Loading @@ -331,12 +339,4 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat // left-half of the integer and OR'ing with the y-coordinate. return ((0xFFFF & key.mX) << (Integer.SIZE / 2)) | (0xFFFF & key.mY); } private final OnGlobalLayoutListener mGlobalLayoutListener = new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { assignVirtualViewIds(); updateParentLocation(); } }; } java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java +4 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,10 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { // Ensure that the view has an accessibility delegate. ViewCompat.setAccessibilityDelegate(view, this); if (mAccessibilityNodeProvider != null) { mAccessibilityNodeProvider.setView(view); } } /** Loading Loading
java/src/com/android/inputmethod/accessibility/AccessibilityEntityProvider.java +16 −16 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.util.Log; import android.util.SparseArray; import android.view.MotionEvent; import android.view.View; import android.view.ViewTreeObserver.OnGlobalLayoutListener; import android.view.accessibility.AccessibilityEvent; import android.view.inputmethod.EditorInfo; Loading @@ -51,7 +50,6 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat private static final String TAG = AccessibilityEntityProvider.class.getSimpleName(); private static final int UNDEFINED = Integer.MIN_VALUE; private final KeyboardView mKeyboardView; private final InputMethodService mInputMethodService; private final KeyCodeDescriptionMapper mKeyCodeDescriptionMapper; private final AccessibilityUtils mAccessibilityUtils; Loading @@ -68,18 +66,28 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat /** The virtual view identifier for the focused node. */ private int mAccessibilityFocusedView = UNDEFINED; /** The current keyboard view. */ private KeyboardView mKeyboardView; public AccessibilityEntityProvider(KeyboardView keyboardView, InputMethodService inputMethod) { mKeyboardView = keyboardView; mInputMethodService = inputMethod; mKeyCodeDescriptionMapper = KeyCodeDescriptionMapper.getInstance(); mAccessibilityUtils = AccessibilityUtils.getInstance(); setView(keyboardView); } /** * Sets the keyboard view represented by this node provider. * * @param keyboardView The keyboard view to represent. */ public void setView(KeyboardView keyboardView) { mKeyboardView = keyboardView; assignVirtualViewIds(); updateParentLocation(); // Ensure that the on-screen bounds are cleared when the layout changes. mKeyboardView.getViewTreeObserver().addOnGlobalLayoutListener(mGlobalLayoutListener); } /** Loading Loading @@ -196,8 +204,8 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat * @param key The key to press. */ void simulateKeyPress(Key key) { final int x = key.mX + (key.mWidth / 2); final int y = key.mY + (key.mHeight / 2); final int x = key.mHitBox.centerX(); final int y = key.mHitBox.centerY(); final long downTime = SystemClock.uptimeMillis(); final MotionEvent downEvent = MotionEvent.obtain( downTime, downTime, MotionEvent.ACTION_DOWN, x, y, 0); Loading Loading @@ -331,12 +339,4 @@ public class AccessibilityEntityProvider extends AccessibilityNodeProviderCompat // left-half of the integer and OR'ing with the y-coordinate. return ((0xFFFF & key.mX) << (Integer.SIZE / 2)) | (0xFFFF & key.mY); } private final OnGlobalLayoutListener mGlobalLayoutListener = new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { assignVirtualViewIds(); updateParentLocation(); } }; }
java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java +4 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,10 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { // Ensure that the view has an accessibility delegate. ViewCompat.setAccessibilityDelegate(view, this); if (mAccessibilityNodeProvider != null) { mAccessibilityNodeProvider.setView(view); } } /** Loading