diff options
| author | 2017-09-11 20:25:50 +0000 | |
|---|---|---|
| committer | 2017-09-11 20:25:50 +0000 | |
| commit | c8b91ecbae7e062030daff31623a3be95f8bdd10 (patch) | |
| tree | 78d76118a6b6d317610f5a59040c6c86996b1d04 | |
| parent | b338f034e965bfc20769e0d655b8352839d32a48 (diff) | |
| parent | 815fb1f40cdfa7d546da38d16223967954d9ffdf (diff) | |
Merge "Fixed some small keyboard nav bugs (TabHost, directional focus)" into oc-mr1-dev
| -rw-r--r-- | core/java/android/view/FocusFinder.java | 4 | ||||
| -rw-r--r-- | core/java/android/widget/TabHost.java | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/view/FocusFinder.java b/core/java/android/view/FocusFinder.java index af26a88e877c..74555de5f291 100644 --- a/core/java/android/view/FocusFinder.java +++ b/core/java/android/view/FocusFinder.java @@ -574,10 +574,10 @@ public class FocusFinder { switch (direction) { case View.FOCUS_LEFT: case View.FOCUS_RIGHT: - return (rect2.bottom >= rect1.top) && (rect2.top <= rect1.bottom); + return (rect2.bottom > rect1.top) && (rect2.top < rect1.bottom); case View.FOCUS_UP: case View.FOCUS_DOWN: - return (rect2.right >= rect1.left) && (rect2.left <= rect1.right); + return (rect2.right > rect1.left) && (rect2.left < rect1.right); } throw new IllegalArgumentException("direction must be one of " + "{FOCUS_UP, FOCUS_DOWN, FOCUS_LEFT, FOCUS_RIGHT}."); diff --git a/core/java/android/widget/TabHost.java b/core/java/android/widget/TabHost.java index 8de17c072b59..8696d0d5df7f 100644 --- a/core/java/android/widget/TabHost.java +++ b/core/java/android/widget/TabHost.java @@ -146,12 +146,17 @@ mTabHost.addTab(TAB_TAG_1, "Hello, world!", "Tab 1"); // and relays them to the tab content. mTabKeyListener = new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { + if (KeyEvent.isModifierKey(keyCode)) { + return false; + } switch (keyCode) { case KeyEvent.KEYCODE_DPAD_CENTER: case KeyEvent.KEYCODE_DPAD_LEFT: case KeyEvent.KEYCODE_DPAD_RIGHT: case KeyEvent.KEYCODE_DPAD_UP: case KeyEvent.KEYCODE_DPAD_DOWN: + case KeyEvent.KEYCODE_TAB: + case KeyEvent.KEYCODE_SPACE: case KeyEvent.KEYCODE_ENTER: return false; |