You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2012/11/22 18:40:04 UTC
android commit: Add @JavascriptInterface annotations to ExposedJsApi.
Updated Branches:
refs/heads/master 92d69e320 -> 3566154cd
Add @JavascriptInterface annotations to ExposedJsApi.
And re-enable the JS bridge on 4.2.
https://issues.apache.org/jira/browse/CB-1879
Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/3566154c
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/3566154c
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/3566154c
Branch: refs/heads/master
Commit: 3566154cd02b10cc1fb5dde39db30a02dc56a953
Parents: 92d69e3
Author: Andrew Grieve <ag...@chromium.org>
Authored: Thu Nov 22 12:39:18 2012 -0500
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Thu Nov 22 12:39:18 2012 -0500
----------------------------------------------------------------------
.../src/org/apache/cordova/CordovaWebView.java | 4 ----
framework/src/org/apache/cordova/ExposedJsApi.java | 4 ++++
2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/3566154c/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 efd3cf8..4777f25 100755
--- a/framework/src/org/apache/cordova/CordovaWebView.java
+++ b/framework/src/org/apache/cordova/CordovaWebView.java
@@ -302,10 +302,6 @@ public class CordovaWebView extends WebView {
Log.i(TAG, "Disabled addJavascriptInterface() bridge callback due to a bug on the 2.3 emulator");
return;
}
- else if (SDK_INT == Build.VERSION_CODES.JELLY_BEAN_MR1) {
- Log.i(TAG, "Disabled addJavascriptInterface() bridge callback for 4.2. Symbols are broken, and we can't compile the annotation needed to expose the exec.");
- return;
- }
this.addJavascriptInterface(exposedJsApi, "_cordovaNative");
}
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/3566154c/framework/src/org/apache/cordova/ExposedJsApi.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/ExposedJsApi.java b/framework/src/org/apache/cordova/ExposedJsApi.java
index b386a40..a36bb62 100755
--- a/framework/src/org/apache/cordova/ExposedJsApi.java
+++ b/framework/src/org/apache/cordova/ExposedJsApi.java
@@ -18,6 +18,7 @@
*/
package org.apache.cordova;
+import android.webkit.JavascriptInterface;
import org.apache.cordova.api.PluginManager;
import org.apache.cordova.api.PluginResult;
import org.json.JSONException;
@@ -37,6 +38,7 @@ import org.json.JSONException;
this.jsMessageQueue = jsMessageQueue;
}
+ @JavascriptInterface
public String exec(String service, String action, String callbackId, String arguments) throws JSONException {
jsMessageQueue.setPaused(true);
try {
@@ -51,10 +53,12 @@ import org.json.JSONException;
}
}
+ @JavascriptInterface
public void setNativeToJsBridgeMode(int value) {
jsMessageQueue.setBridgeMode(value);
}
+ @JavascriptInterface
public String retrieveJsMessages() {
return jsMessageQueue.popAndEncode();
}