From cd6c0e1de9d665715988348866f6d71a683251cb Mon Sep 17 00:00:00 2001 From: Andrew Grieve Date: Fri, 18 Jul 2014 13:46:29 -0400 Subject: [PATCH] CB-7018 Fix setButtonPlumbedToJs never un-listening --- framework/src/org/apache/cordova/CordovaWebView.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/framework/src/org/apache/cordova/CordovaWebView.java b/framework/src/org/apache/cordova/CordovaWebView.java index f74d5e19..72aa1716 100755 --- a/framework/src/org/apache/cordova/CordovaWebView.java +++ b/framework/src/org/apache/cordova/CordovaWebView.java @@ -689,13 +689,17 @@ public class CordovaWebView extends WebView { return super.onKeyUp(keyCode, event); } - public void setButtonPlumbedToJs(int keyCode, boolean value) { + public void setButtonPlumbedToJs(int keyCode, boolean override) { switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_DOWN: case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_BACK: // TODO: Why are search and menu buttons handled separately? - boundKeyCodes.add(keyCode); + if (override) { + boundKeyCodes.add(keyCode); + } else { + boundKeyCodes.remove(keyCode); + } return; default: throw new IllegalArgumentException("Unsupported keycode: " + keyCode);