You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bo...@apache.org on 2013/03/04 23:26:59 UTC
android commit: CB-2596: Fixing the menubutton for text fields
Updated Branches:
refs/heads/master aa4820c3b -> fb81f3e77
CB-2596: Fixing the menubutton for text fields
Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/fb81f3e7
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/fb81f3e7
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/fb81f3e7
Branch: refs/heads/master
Commit: fb81f3e77e4cc93dd26bf7fd324e9069964c5c3e
Parents: aa4820c
Author: Joe Bowser <bo...@apache.org>
Authored: Mon Mar 4 14:26:28 2013 -0800
Committer: Joe Bowser <bo...@apache.org>
Committed: Mon Mar 4 14:26:28 2013 -0800
----------------------------------------------------------------------
.../src/org/apache/cordova/CordovaWebView.java | 14 ++++++++++++++
framework/src/org/apache/cordova/DroidGap.java | 5 +++--
2 files changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/fb81f3e7/framework/src/org/apache/cordova/CordovaWebView.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaWebView.java b/framework/src/org/apache/cordova/CordovaWebView.java
index 0489a8a..a1f423b 100755
--- a/framework/src/org/apache/cordova/CordovaWebView.java
+++ b/framework/src/org/apache/cordova/CordovaWebView.java
@@ -47,6 +47,7 @@ import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
+import android.view.inputmethod.InputMethodManager;
import android.webkit.WebBackForwardList;
import android.webkit.WebHistoryItem;
import android.webkit.WebChromeClient;
@@ -736,6 +737,19 @@ public class CordovaWebView extends WebView {
else
return this.urls.size() > 1 || this.bound;
}
+ else if(keyCode == KeyEvent.KEYCODE_MENU)
+ {
+ //How did we get here? Is there a childView?
+ View childView = this.getFocusedChild();
+ if(childView != null)
+ {
+ //Make sure we close the keyboard if it's present
+ InputMethodManager imm = (InputMethodManager) cordova.getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
+ imm.hideSoftInputFromWindow(childView.getWindowToken(), 0);
+ cordova.getActivity().openOptionsMenu();
+ }
+ return true;
+ }
return super.onKeyDown(keyCode, event);
}
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/fb81f3e7/framework/src/org/apache/cordova/DroidGap.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/DroidGap.java b/framework/src/org/apache/cordova/DroidGap.java
index 6b890f6..d4296cb 100755
--- a/framework/src/org/apache/cordova/DroidGap.java
+++ b/framework/src/org/apache/cordova/DroidGap.java
@@ -1062,7 +1062,8 @@ public class DroidGap extends Activity implements CordovaInterface {
{
//Get whatever has focus!
View childView = appView.getFocusedChild();
- if ((appView.isCustomViewShowing() || childView != null ) && keyCode == KeyEvent.KEYCODE_BACK) {
+ if ((appView.isCustomViewShowing() || childView != null ) &&
+ (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_MENU)) {
return appView.onKeyUp(keyCode, event);
} else {
return super.onKeyUp(keyCode, event);
@@ -1082,7 +1083,7 @@ public class DroidGap extends Activity implements CordovaInterface {
//Get whatever has focus!
View childView = appView.getFocusedChild();
//Determine if the focus is on the current view or not
- if (childView != null && keyCode == KeyEvent.KEYCODE_BACK) {
+ if (childView != null && (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_MENU)) {
return appView.onKeyDown(keyCode, event);
}
else