From f270cde47d8a98bdbdcb39f12035be307cb0e721 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Thu, 25 Oct 2012 13:18:28 -0700 Subject: [PATCH] Changing DroidGap back and duplicating code so that we don't have a regression on CB-1568 --- .../src/org/apache/cordova/CordovaWebView.java | 1 - framework/src/org/apache/cordova/DroidGap.java | 16 +++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/framework/src/org/apache/cordova/CordovaWebView.java b/framework/src/org/apache/cordova/CordovaWebView.java index 8dac60d9..a870c406 100755 --- a/framework/src/org/apache/cordova/CordovaWebView.java +++ b/framework/src/org/apache/cordova/CordovaWebView.java @@ -124,7 +124,6 @@ public class CordovaWebView extends WebView { { Log.d(TAG, "Your activity must implement CordovaInterface to work"); } - this.initWebViewClient(this.cordova); this.loadConfiguration(); this.setup(); } diff --git a/framework/src/org/apache/cordova/DroidGap.java b/framework/src/org/apache/cordova/DroidGap.java index dd183f94..927e27e0 100755 --- a/framework/src/org/apache/cordova/DroidGap.java +++ b/framework/src/org/apache/cordova/DroidGap.java @@ -301,7 +301,16 @@ public class DroidGap extends Activity implements CordovaInterface { */ public void init() { CordovaWebView webView = new CordovaWebView(DroidGap.this); - this.init(webView, new CordovaChromeClient(this, webView)); + CordovaWebViewClient webViewClient; + if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) + { + webViewClient = new CordovaWebViewClient(this, webView); + } + else + { + webViewClient = new IceCreamCordovaWebViewClient(this, webView); + } + this.init(webView, webViewClient, new CordovaChromeClient(this, webView)); } /** @@ -311,16 +320,17 @@ public class DroidGap extends Activity implements CordovaInterface { * @param webViewClient * @param webChromeClient */ - public void init(CordovaWebView webView, CordovaChromeClient webChromeClient) { + public void init(CordovaWebView webView, CordovaWebViewClient webViewClient, CordovaChromeClient webChromeClient) { LOG.d(TAG, "DroidGap.init()"); // Set up web container this.appView = webView; this.appView.setId(100); + this.appView.setWebViewClient(webViewClient); this.appView.setWebChromeClient(webChromeClient); + webViewClient.setWebView(this.appView); webChromeClient.setWebView(this.appView); - webViewClient = appView.viewClient; this.appView.setLayoutParams(new LinearLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT,