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 2015/05/15 23:13:29 UTC

[1/4] android commit: Adding tests to confirm that preferences aren't changed by Intents

Repository: cordova-android
Updated Branches:
  refs/heads/master 215b7e08f -> aba0a8421


Adding tests to confirm that preferences aren't changed by Intents


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/aba0a842
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/aba0a842
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/aba0a842

Branch: refs/heads/master
Commit: aba0a8421bd6d72e08e61286f0619f7385fcdd59
Parents: b5a58e6
Author: Joe Bowser <bo...@apache.org>
Authored: Wed May 13 11:56:16 2015 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Fri May 15 14:13:18 2015 -0700

----------------------------------------------------------------------
 .../cordova/test/IntentPreferenceTest.java      | 44 ++++++++++++++++++++
 1 file changed, 44 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/aba0a842/test/androidTest/src/org/apache/cordova/test/IntentPreferenceTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/IntentPreferenceTest.java b/test/androidTest/src/org/apache/cordova/test/IntentPreferenceTest.java
new file mode 100644
index 0000000..2d7b259
--- /dev/null
+++ b/test/androidTest/src/org/apache/cordova/test/IntentPreferenceTest.java
@@ -0,0 +1,44 @@
+package org.apache.cordova.test;
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+
+import android.graphics.Color;
+
+import org.apache.cordova.CordovaPreferences;
+
+public class IntentPreferenceTest extends BaseCordovaIntegrationTest {
+    private static final String GREEN = Integer.toHexString(Color.GREEN);
+    private static final String START_URL = "file:///android_asset/www/index.html";
+
+    CordovaPreferences prefs;
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        // INVALID_URL tests that errorUrl and url are *not* settable via the intent.
+        setUpWithStartUrl(START_URL, "backgroundcolor", GREEN);
+        prefs = cordovaWebView.getPreferences();
+    }
+
+    public void testUrl() throws Throwable {
+        assertEquals(START_URL, testActivity.onPageFinishedUrl.take());
+        assertFalse(prefs.getInteger("backgroundcolor", Color.BLACK) == Color.GREEN);
+    }
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


[4/4] android commit: Getting around to removing this old Intent code

Posted by bo...@apache.org.
Getting around to removing this old Intent code


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/4ea684dd
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/4ea684dd
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/4ea684dd

Branch: refs/heads/master
Commit: 4ea684dd7a7952d8ae30e5d381d7433515045e28
Parents: 215b7e0
Author: Joe Bowser <bo...@apache.org>
Authored: Wed May 13 10:12:08 2015 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Fri May 15 14:13:18 2015 -0700

----------------------------------------------------------------------
 framework/src/org/apache/cordova/Config.java    |  2 +-
 .../org/apache/cordova/CordovaPreferences.java  | 75 --------------------
 2 files changed, 1 insertion(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/4ea684dd/framework/src/org/apache/cordova/Config.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/Config.java b/framework/src/org/apache/cordova/Config.java
index f261b78..048960b 100644
--- a/framework/src/org/apache/cordova/Config.java
+++ b/framework/src/org/apache/cordova/Config.java
@@ -36,8 +36,8 @@ public class Config {
     public static void init(Activity action) {
         parser = new ConfigXmlParser();
         parser.parse(action);
+        //TODO: Add feature to bring this back.  Some preferences should be overridden by intents, but not all
         parser.getPreferences().setPreferencesBundle(action.getIntent().getExtras());
-        parser.getPreferences().copyIntoIntentExtras(action);
     }
 
     // Intended to be used for testing only; creates an empty configuration.

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/4ea684dd/framework/src/org/apache/cordova/CordovaPreferences.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaPreferences.java b/framework/src/org/apache/cordova/CordovaPreferences.java
index 2d13c86..b4f6b81 100644
--- a/framework/src/org/apache/cordova/CordovaPreferences.java
+++ b/framework/src/org/apache/cordova/CordovaPreferences.java
@@ -83,13 +83,6 @@ public class CordovaPreferences {
         if (value != null) {
             // Use Integer.decode() can't handle it if the highest bit is set.
             return (int)(long)Long.decode(value);
-        } else if (preferencesBundleExtras != null) {
-            Object bundleValue = preferencesBundleExtras.get(name);
-            if (bundleValue instanceof String) {
-                return Integer.valueOf((String)bundleValue);
-            }
-            // Gives a nice warning if type is wrong.
-            return preferencesBundleExtras.getInt(name, defaultValue);
         }
         return defaultValue;
     }
@@ -99,13 +92,6 @@ public class CordovaPreferences {
         String value = prefs.get(name);
         if (value != null) {
             return Double.valueOf(value);
-        } else if (preferencesBundleExtras != null) {
-            Object bundleValue = preferencesBundleExtras.get(name);
-            if (bundleValue instanceof String) {
-                return Double.valueOf((String)bundleValue);
-            }
-            // Gives a nice warning if type is wrong.
-            return preferencesBundleExtras.getDouble(name, defaultValue);
         }
         return defaultValue;
     }
@@ -115,69 +101,8 @@ public class CordovaPreferences {
         String value = prefs.get(name);
         if (value != null) {
             return value;
-        } else if (preferencesBundleExtras != null && !"errorurl".equals(name)) {
-            Object bundleValue = preferencesBundleExtras.get(name);
-            if (bundleValue != null) {
-                return bundleValue.toString();
-            }
         }
         return defaultValue;
     }
 
-    // Plugins should not rely on values within the intent since this does not work
-    // for apps with multiple webviews. Instead, they should retrieve prefs from the
-    // Config object associated with their webview.
-    public void copyIntoIntentExtras(Activity action) {
-        for (String name : prefs.keySet()) {
-            String value = prefs.get(name);
-            if (value == null) {
-                continue;
-            }
-            if (name.equals("loglevel")) {
-                LOG.setLogLevel(value);
-            } else if (name.equals("splashscreen")) {
-                // Note: We should probably pass in the classname for the variable splash on splashscreen!
-                int resource = action.getResources().getIdentifier(value, "drawable", action.getClass().getPackage().getName());
-                if(resource == 0) {
-                    resource = action.getResources().getIdentifier(value, "drawable", action.getPackageName());
-                }
-                action.getIntent().putExtra(name, resource);
-            }
-            else if(name.equals("backgroundcolor")) {
-                int asInt = (int)(long)Long.decode(value);
-                action.getIntent().putExtra(name, asInt);
-            }
-            else if(name.equals("loadurltimeoutvalue")) {
-                int asInt = Integer.decode(value);
-                action.getIntent().putExtra(name, asInt);
-            }
-            else if(name.equals("splashscreendelay")) {
-                int asInt = Integer.decode(value);
-                action.getIntent().putExtra(name, asInt);
-            }
-            else if(name.equals("keeprunning"))
-            {
-                boolean asBool = Boolean.parseBoolean(value);
-                action.getIntent().putExtra(name, asBool);
-            }
-            else if(name.equals("inappbrowserstorageenabled"))
-            {
-                boolean asBool = Boolean.parseBoolean(value);
-                action.getIntent().putExtra(name, asBool);
-            }
-            else if(name.equals("disallowoverscroll"))
-            {
-                boolean asBool = Boolean.parseBoolean(value);
-                action.getIntent().putExtra(name, asBool);
-            }
-            else
-            {
-                action.getIntent().putExtra(name, value);
-            }
-        }
-        // In the normal case, the intent extras are null until the first call to putExtra().
-        if (preferencesBundleExtras == null) {
-            preferencesBundleExtras = action.getIntent().getExtras();
-        }
-    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


[2/4] android commit: Forgot to remove the method that copied over the intent data

Posted by bo...@apache.org.
Forgot to remove the method that copied over the intent data


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/44aa7464
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/44aa7464
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/44aa7464

Branch: refs/heads/master
Commit: 44aa7464e1d3e3073d2d8ca2da7d0ed2c182de5f
Parents: 4ea684d
Author: Joe Bowser <bo...@apache.org>
Authored: Wed May 13 10:16:02 2015 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Fri May 15 14:13:18 2015 -0700

----------------------------------------------------------------------
 framework/src/org/apache/cordova/CordovaActivity.java | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/44aa7464/framework/src/org/apache/cordova/CordovaActivity.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaActivity.java b/framework/src/org/apache/cordova/CordovaActivity.java
index 34b2d97..7a855af 100755
--- a/framework/src/org/apache/cordova/CordovaActivity.java
+++ b/framework/src/org/apache/cordova/CordovaActivity.java
@@ -164,7 +164,6 @@ public class CordovaActivity extends Activity {
         parser.parse(this);
         preferences = parser.getPreferences();
         preferences.setPreferencesBundle(getIntent().getExtras());
-        preferences.copyIntoIntentExtras(this);
         launchUrl = parser.getLaunchUrl();
         pluginEntries = parser.getPluginEntries();
         Config.parser = parser;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org


[3/4] android commit: updating existing test code

Posted by bo...@apache.org.
updating existing test code


Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/b5a58e6c
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/b5a58e6c
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/b5a58e6c

Branch: refs/heads/master
Commit: b5a58e6ca09bc4470a4e120dbec1a0b708337224
Parents: 44aa746
Author: Joe Bowser <bo...@apache.org>
Authored: Wed May 13 11:55:44 2015 -0700
Committer: Joe Bowser <bo...@apache.org>
Committed: Fri May 15 14:13:18 2015 -0700

----------------------------------------------------------------------
 framework/src/org/apache/cordova/CordovaPreferences.java      | 7 -------
 .../androidTest/src/org/apache/cordova/test/ErrorUrlTest.java | 2 +-
 .../src/org/apache/cordova/test/HtmlNotFoundTest.java         | 3 +--
 test/src/org/apache/cordova/test/MainTestActivity.java        | 2 +-
 4 files changed, 3 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-android/blob/b5a58e6c/framework/src/org/apache/cordova/CordovaPreferences.java
----------------------------------------------------------------------
diff --git a/framework/src/org/apache/cordova/CordovaPreferences.java b/framework/src/org/apache/cordova/CordovaPreferences.java
index b4f6b81..4dbc93e 100644
--- a/framework/src/org/apache/cordova/CordovaPreferences.java
+++ b/framework/src/org/apache/cordova/CordovaPreferences.java
@@ -61,13 +61,6 @@ public class CordovaPreferences {
         String value = prefs.get(name);
         if (value != null) {
             return Boolean.parseBoolean(value);
-        } else if (preferencesBundleExtras != null) {
-            Object bundleValue = preferencesBundleExtras.get(name);
-            if (bundleValue instanceof String) {
-                return "true".equals(bundleValue);
-            }
-            // Gives a nice warning if type is wrong.
-            return preferencesBundleExtras.getBoolean(name, defaultValue);
         }
         return defaultValue;
     }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/b5a58e6c/test/androidTest/src/org/apache/cordova/test/ErrorUrlTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/ErrorUrlTest.java b/test/androidTest/src/org/apache/cordova/test/ErrorUrlTest.java
index 042ef8c..d880f63 100644
--- a/test/androidTest/src/org/apache/cordova/test/ErrorUrlTest.java
+++ b/test/androidTest/src/org/apache/cordova/test/ErrorUrlTest.java
@@ -24,7 +24,7 @@ package org.apache.cordova.test;
 public class ErrorUrlTest extends BaseCordovaIntegrationTest {
     private static final String START_URL = "file:///android_asset/www/htmlnotfound/index.html";
     private static final String ERROR_URL = "file:///android_asset/www/htmlnotfound/error.html";
-    private static final String INVALID_URL = "file:///android_asset/www/index.html";
+    private static final String INVALID_URL = "file:///android_asset/www/invalid.html";
 
     protected void setUp() throws Exception {
         super.setUp();

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/b5a58e6c/test/androidTest/src/org/apache/cordova/test/HtmlNotFoundTest.java
----------------------------------------------------------------------
diff --git a/test/androidTest/src/org/apache/cordova/test/HtmlNotFoundTest.java b/test/androidTest/src/org/apache/cordova/test/HtmlNotFoundTest.java
index 36fc3bd..235e0af 100644
--- a/test/androidTest/src/org/apache/cordova/test/HtmlNotFoundTest.java
+++ b/test/androidTest/src/org/apache/cordova/test/HtmlNotFoundTest.java
@@ -31,10 +31,9 @@ public class HtmlNotFoundTest extends BaseCordovaIntegrationTest {
   public void testUrl() throws Throwable
   {
       assertEquals(START_URL, testActivity.onPageFinishedUrl.take());
-      // TODO: Should this be null? Or some other way to indicate it didn't actually load?
       runTestOnUiThread(new Runnable() {
           public void run() {
-              assertEquals(START_URL, testActivity.getCordovaWebView().getUrl());
+              assertFalse(START_URL.equals(testActivity.getCordovaWebView().getUrl()));
           }
       });
   }

http://git-wip-us.apache.org/repos/asf/cordova-android/blob/b5a58e6c/test/src/org/apache/cordova/test/MainTestActivity.java
----------------------------------------------------------------------
diff --git a/test/src/org/apache/cordova/test/MainTestActivity.java b/test/src/org/apache/cordova/test/MainTestActivity.java
index fc5d997..76697c3 100644
--- a/test/src/org/apache/cordova/test/MainTestActivity.java
+++ b/test/src/org/apache/cordova/test/MainTestActivity.java
@@ -36,7 +36,7 @@ public class MainTestActivity extends BaseTestCordovaActivity {
 
     @Override protected void loadConfig() {
         super.loadConfig();
-        // Need to set this explicitly in prefs since it's not settable via bundle extras (for security reasons).
+        // Need to set this explicitly in prefs since it's not settable via bundle extras.
         String errorUrl = getIntent().getStringExtra("testErrorUrl");
         if (errorUrl != null) {
             preferences.set("errorUrl", errorUrl);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org