Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Unified Diff: android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java

Issue 33823005: Dynamically enable spatial navigation based on events (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java
diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java b/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java
index 15ed6f7b257544142cb9142f48aa3769454a166a..4fd251cc0b48bd7e2856085e28e5e25c902a13b8 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwWebContentsDelegateAdapter.java
@@ -38,29 +38,29 @@ class AwWebContentsDelegateAdapter extends AwWebContentsDelegate {
mContentsClient.onProgressChanged(progress);
}
- @Override
- public void handleKeyboardEvent(KeyEvent event) {
+ // Converts a KeyEvent into the corresponding View.FOCUS_XXX integer type, iff the key
+ // event is a key down action, and is a DPAD_XXX key code.
+ static int getViewDirectionFromKeyEvent(KeyEvent event) {
dmazzoni 2013/10/22 06:47:55 Would it be too verbose to say getViewFocusDirecti
joth 2013/10/22 22:02:41 Good suggestion, however in the end I reverted thi
if (event.getAction() == KeyEvent.ACTION_DOWN) {
- int direction;
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_DPAD_DOWN:
- direction = View.FOCUS_DOWN;
- break;
+ return View.FOCUS_DOWN;
case KeyEvent.KEYCODE_DPAD_UP:
- direction = View.FOCUS_UP;
- break;
+ return View.FOCUS_UP;
case KeyEvent.KEYCODE_DPAD_LEFT:
- direction = View.FOCUS_LEFT;
- break;
+ return View.FOCUS_LEFT;
case KeyEvent.KEYCODE_DPAD_RIGHT:
- direction = View.FOCUS_RIGHT;
- break;
- default:
- direction = 0;
- break;
+ return View.FOCUS_RIGHT;
}
- if (direction != 0 && tryToMoveFocus(direction)) return;
}
+ return 0;
sgurun-gerrit only 2013/10/22 17:18:00 0 is a special number, i.e. View.FOCUSABLES_ALL, b
joth 2013/10/22 22:02:41 FOCUSABLES_ALL is used with addFocusables(), thes
+ }
+
+ @Override
+ public void handleKeyboardEvent(KeyEvent event) {
+ int direction = getViewDirectionFromKeyEvent(event);
+ if (direction != 0 && tryToMoveFocus(direction)) return;
+
mContentsClient.onUnhandledKeyEvent(event);
}

Powered by Google App Engine
This is Rietveld 408576698