You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bo...@apache.org on 2012/11/14 20:15:42 UTC
android commit: Adding reflection so that this compiles,
need to test against HTC Desire HD 2.3.6 device before resolving
CB-1845
Updated Branches:
refs/heads/master 70473a80a -> 5810a96e6
Adding reflection so that this compiles, need to test against HTC Desire HD 2.3.6 device before resolving CB-1845
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/commit/5810a96e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/tree/5810a96e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/diff/5810a96e
Branch: refs/heads/master
Commit: 5810a96e622e881939190297e463ec37261756b4
Parents: 70473a8
Author: Joe Bowser <bo...@apache.org>
Authored: Wed Nov 14 11:15:22 2012 -0800
Committer: Joe Bowser <bo...@apache.org>
Committed: Wed Nov 14 11:15:22 2012 -0800
----------------------------------------------------------------------
.../src/org/apache/cordova/CordovaWebView.java | 23 ++++++++++++--
1 files changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-android/blob/5810a96e/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 95890b1..4a23a61 100755
--- a/framework/src/org/apache/cordova/CordovaWebView.java
+++ b/framework/src/org/apache/cordova/CordovaWebView.java
@@ -20,6 +20,8 @@
package org.apache.cordova;
import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -226,11 +228,24 @@ public class CordovaWebView extends WebView {
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setLayoutAlgorithm(LayoutAlgorithm.NORMAL);
-
- //Set the nav dump for HTC 2.x devices (disabling for ICS/Jellybean)
- if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB)
- settings.setNavDump(true);
+ //Set the nav dump for HTC 2.x devices (disabling for ICS, derecated entirely for Jellybean 4.2)
+ try {
+ Method gingerbread_getMethod = WebSettings.class.getMethod("setNavDump", new Class[] { boolean.class });
+ if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB)
+ {
+ gingerbread_getMethod.invoke(settings, true);
+ }
+ } catch (NoSuchMethodException e) {
+ Log.d(TAG, "We are on a modern version of Android, we will deprecate HTC 2.3 devices in 2.8");
+ } catch (IllegalArgumentException e) {
+ Log.d(TAG, "Doing the NavDump failed with bad arguments");
+ } catch (IllegalAccessException e) {
+ Log.d(TAG, "This should never happen: IllegalAccessException means this isn't Android anymore");
+ } catch (InvocationTargetException e) {
+ Log.d(TAG, "This should never happen: InvocationTargetException means this isn't Android anymore.");
+ }
+
// Jellybean rightfully tried to lock this down. Too bad they didn't give us a whitelist
// while we do this
if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)