diff options
author | 2012-08-28 13:02:09 -0700 | |
---|---|---|
committer | 2012-08-28 13:02:09 -0700 | |
commit | 3fd79fc0694068f0e6873f6ba0bf02aa0e86bc5d (patch) | |
tree | a5bf64b9362fd83885f11048650a7b45caa7bdb5 | |
parent | 39e8e49d68381eb325b1e657c8a9675449d16ec0 (diff) | |
parent | 0afcdc1fd59f7c8f0bd70f0a7881ac0377130f79 (diff) | |
download | latinime-3fd79fc0694068f0e6873f6ba0bf02aa0e86bc5d.tar.gz latinime-3fd79fc0694068f0e6873f6ba0bf02aa0e86bc5d.tar.xz latinime-3fd79fc0694068f0e6873f6ba0bf02aa0e86bc5d.zip |
am 0afcdc1f: am 78527e4d: Merge "Adjust accessibility edge slop." into jb-mr1-dev
* commit '0afcdc1fd59f7c8f0bd70f0a7881ac0377130f79':
Adjust accessibility edge slop.
-rw-r--r-- | java/res/values/dimens.xml | 3 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java | 16 |
2 files changed, 14 insertions, 5 deletions
diff --git a/java/res/values/dimens.xml b/java/res/values/dimens.xml index 565059b10..4fd942b14 100644 --- a/java/res/values/dimens.xml +++ b/java/res/values/dimens.xml @@ -101,4 +101,7 @@ <dimen name="gesture_floating_preview_text_shadow_border">17.5dp</dimen> <dimen name="gesture_floating_preview_text_shading_border">7.5dp</dimen> <dimen name="gesture_floating_preview_text_connector_width">1.0dp</dimen> + + <!-- Inset used in Accessibility mode to avoid accidental key presses when a finger slides off the screen. --> + <dimen name="accessibility_edge_slop">8dp</dimen> </resources> diff --git a/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java b/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java index 2fff73154..e42de0b4c 100644 --- a/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java +++ b/java/src/com/android/inputmethod/accessibility/AccessibleKeyboardViewProxy.java @@ -24,7 +24,6 @@ import android.support.v4.view.accessibility.AccessibilityEventCompat; import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat; import android.view.MotionEvent; import android.view.View; -import android.view.ViewConfiguration; import com.android.inputmethod.keyboard.Key; import com.android.inputmethod.keyboard.Keyboard; @@ -44,7 +43,7 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { /** * Inset in pixels to look for keys when the user's finger exits the - * keyboard area. See {@link ViewConfiguration#getScaledEdgeSlop()}. + * keyboard area. */ private int mEdgeSlop; @@ -62,7 +61,8 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { private void initInternal(InputMethodService inputMethod) { mInputMethod = inputMethod; - mEdgeSlop = ViewConfiguration.get(inputMethod).getScaledEdgeSlop(); + mEdgeSlop = inputMethod.getResources().getDimensionPixelSize( + R.dimen.accessibility_edge_slop); } /** @@ -114,8 +114,14 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { public boolean dispatchHoverEvent(MotionEvent event, PointerTracker tracker) { final int x = (int) event.getX(); final int y = (int) event.getY(); - final Key key = tracker.getKeyOn(x, y); final Key previousKey = mLastHoverKey; + final Key key; + + if (pointInView(x, y)) { + key = tracker.getKeyOn(x, y); + } else { + key = null; + } mLastHoverKey = key; @@ -123,7 +129,7 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat { case MotionEvent.ACTION_HOVER_EXIT: // Make sure we're not getting an EXIT event because the user slid // off the keyboard area, then force a key press. - if (pointInView(x, y) && (key != null)) { + if (key != null) { getAccessibilityNodeProvider().simulateKeyPress(key); } //$FALL-THROUGH$ |