Adjust accessibility edge slop.
Bug: 6969558 Change-Id: Ie33f444e085e5c01326bdf9396eabee5c04ee81emain
parent
95c272596d
commit
e76a9b36ca
|
@ -101,4 +101,7 @@
|
||||||
<dimen name="gesture_floating_preview_text_shadow_border">17.5dp</dimen>
|
<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_shading_border">7.5dp</dimen>
|
||||||
<dimen name="gesture_floating_preview_text_connector_width">1.0dp</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>
|
</resources>
|
||||||
|
|
|
@ -24,7 +24,6 @@ import android.support.v4.view.accessibility.AccessibilityEventCompat;
|
||||||
import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat;
|
import android.support.v4.view.accessibility.AccessibilityNodeInfoCompat;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewConfiguration;
|
|
||||||
|
|
||||||
import com.android.inputmethod.keyboard.Key;
|
import com.android.inputmethod.keyboard.Key;
|
||||||
import com.android.inputmethod.keyboard.Keyboard;
|
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
|
* 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;
|
private int mEdgeSlop;
|
||||||
|
|
||||||
|
@ -62,7 +61,8 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat {
|
||||||
|
|
||||||
private void initInternal(InputMethodService inputMethod) {
|
private void initInternal(InputMethodService inputMethod) {
|
||||||
mInputMethod = 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) {
|
public boolean dispatchHoverEvent(MotionEvent event, PointerTracker tracker) {
|
||||||
final int x = (int) event.getX();
|
final int x = (int) event.getX();
|
||||||
final int y = (int) event.getY();
|
final int y = (int) event.getY();
|
||||||
final Key key = tracker.getKeyOn(x, y);
|
|
||||||
final Key previousKey = mLastHoverKey;
|
final Key previousKey = mLastHoverKey;
|
||||||
|
final Key key;
|
||||||
|
|
||||||
|
if (pointInView(x, y)) {
|
||||||
|
key = tracker.getKeyOn(x, y);
|
||||||
|
} else {
|
||||||
|
key = null;
|
||||||
|
}
|
||||||
|
|
||||||
mLastHoverKey = key;
|
mLastHoverKey = key;
|
||||||
|
|
||||||
|
@ -123,7 +129,7 @@ public class AccessibleKeyboardViewProxy extends AccessibilityDelegateCompat {
|
||||||
case MotionEvent.ACTION_HOVER_EXIT:
|
case MotionEvent.ACTION_HOVER_EXIT:
|
||||||
// Make sure we're not getting an EXIT event because the user slid
|
// Make sure we're not getting an EXIT event because the user slid
|
||||||
// off the keyboard area, then force a key press.
|
// off the keyboard area, then force a key press.
|
||||||
if (pointInView(x, y) && (key != null)) {
|
if (key != null) {
|
||||||
getAccessibilityNodeProvider().simulateKeyPress(key);
|
getAccessibilityNodeProvider().simulateKeyPress(key);
|
||||||
}
|
}
|
||||||
//$FALL-THROUGH$
|
//$FALL-THROUGH$
|
||||||
|
|
Loading…
Reference in New Issue