diff --git a/framework/src/org/apache/cordova/CordovaChromeClient.java b/framework/src/org/apache/cordova/CordovaChromeClient.java index 49ec1b5d..c3c7e213 100755 --- a/framework/src/org/apache/cordova/CordovaChromeClient.java +++ b/framework/src/org/apache/cordova/CordovaChromeClient.java @@ -199,7 +199,7 @@ public class CordovaChromeClient extends WebChromeClient { // Polling for JavaScript messages else if (reqOk && defaultValue != null && defaultValue.equals("gap_poll:")) { - String r = ctx.callbackServer.getJavascript(); + String r = appView.callbackServer.getJavascript(); result.confirm(r); } @@ -207,16 +207,16 @@ public class CordovaChromeClient extends WebChromeClient { else if (reqOk && defaultValue != null && defaultValue.equals("gap_callbackServer:")) { String r = ""; if (message.equals("usePolling")) { - r = ""+ ctx.callbackServer.usePolling(); + r = ""+ appView.callbackServer.usePolling(); } else if (message.equals("restartServer")) { - ctx.callbackServer.restartServer(); + appView.callbackServer.restartServer(); } else if (message.equals("getPort")) { - r = Integer.toString(ctx.callbackServer.getPort()); + r = Integer.toString(appView.callbackServer.getPort()); } else if (message.equals("getToken")) { - r = ctx.callbackServer.getToken(); + r = appView.callbackServer.getToken(); } result.confirm(r); } diff --git a/framework/src/org/apache/cordova/CordovaWebView.java b/framework/src/org/apache/cordova/CordovaWebView.java index aaa11eda..ffb0cfd5 100644 --- a/framework/src/org/apache/cordova/CordovaWebView.java +++ b/framework/src/org/apache/cordova/CordovaWebView.java @@ -30,6 +30,8 @@ public class CordovaWebView extends WebView { private ArrayList whiteList = new ArrayList(); private HashMap whiteListCache = new HashMap(); protected PluginManager pluginManager; + public CallbackServer callbackServer; + /** Actvities and other important classes **/ private Context mCtx; diff --git a/framework/src/org/apache/cordova/CordovaWebViewClient.java b/framework/src/org/apache/cordova/CordovaWebViewClient.java index 1daf7597..943003ba 100755 --- a/framework/src/org/apache/cordova/CordovaWebViewClient.java +++ b/framework/src/org/apache/cordova/CordovaWebViewClient.java @@ -253,8 +253,8 @@ public class CordovaWebViewClient extends WebViewClient { // Shutdown if blank loaded if (url.equals("about:blank")) { - if (this.ctx.callbackServer != null) { - this.ctx.callbackServer.destroy(); + if (appView.callbackServer != null) { + appView.callbackServer.destroy(); } this.ctx.endActivity(); } diff --git a/framework/src/org/apache/cordova/DroidGap.java b/framework/src/org/apache/cordova/DroidGap.java index 5f9e3bd9..e6474bd4 100755 --- a/framework/src/org/apache/cordova/DroidGap.java +++ b/framework/src/org/apache/cordova/DroidGap.java @@ -155,7 +155,6 @@ public class DroidGap extends Activity implements CordovaInterface { protected LinearLayout root; public boolean bound = false; - public CallbackServer callbackServer; protected boolean cancelLoadUrl = false; protected ProgressDialog spinnerDialog = null; @@ -379,12 +378,12 @@ public class DroidGap extends Activity implements CordovaInterface { me.appView.clearHistory(); // Create callback server and plugin manager - if (me.callbackServer == null) { - me.callbackServer = new CallbackServer(); - me.callbackServer.init(url); + if (appView.callbackServer == null) { + appView.callbackServer = new CallbackServer(); + appView.callbackServer.init(url); } else { - me.callbackServer.reinit(url); + appView.callbackServer.reinit(url); } appView.pluginManager.init(); @@ -832,8 +831,8 @@ public class DroidGap extends Activity implements CordovaInterface { */ public void sendJavascript(String statement) { //We need to check for the null case on the Kindle Fire beacuse it changes the width and height on load - if(this.callbackServer != null) - this.callbackServer.sendJavascript(statement); + if(this.appView.callbackServer != null) + appView.callbackServer.sendJavascript(statement); } /**