Fix mMenuIsDown tracking
Change-Id: I4aeb1f420c885181dc6016e317c2e716876db549
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 67be22e..93fb318 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2589,6 +2589,12 @@
return mTabControl.getTab(pos);
}
+ boolean isMenuOrCtrlKey(int keyCode) {
+ return (KeyEvent.KEYCODE_MENU == keyCode)
+ || (KeyEvent.KEYCODE_CTRL_LEFT == keyCode)
+ || (KeyEvent.KEYCODE_CTRL_RIGHT == keyCode);
+ }
+
/**
* handle key events in browser
*
@@ -2600,10 +2606,7 @@
boolean noModifiers = event.hasNoModifiers();
// Even if MENU is already held down, we need to call to super to open
// the IME on long press.
- if (!noModifiers
- && ((KeyEvent.KEYCODE_MENU == keyCode)
- || (KeyEvent.KEYCODE_CTRL_LEFT == keyCode)
- || (KeyEvent.KEYCODE_CTRL_RIGHT == keyCode))) {
+ if (!noModifiers && isMenuOrCtrlKey(keyCode)) {
mMenuIsDown = true;
return false;
}
@@ -2723,9 +2726,10 @@
}
boolean onKeyUp(int keyCode, KeyEvent event) {
- if (KeyEvent.KEYCODE_MENU == keyCode) {
+ if (isMenuOrCtrlKey(keyCode)) {
mMenuIsDown = false;
- if (event.isTracking() && !event.isCanceled()) {
+ if (KeyEvent.KEYCODE_MENU == keyCode
+ && event.isTracking() && !event.isCanceled()) {
return onMenuKey();
}
}