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();
     }