diff --git a/framework/src/org/apache/cordova/CordovaPreferences.java b/framework/src/org/apache/cordova/CordovaPreferences.java index 4b9eb373..536f25a2 100644 --- a/framework/src/org/apache/cordova/CordovaPreferences.java +++ b/framework/src/org/apache/cordova/CordovaPreferences.java @@ -40,6 +40,18 @@ public class CordovaPreferences { prefs.put(name.toLowerCase(Locale.ENGLISH), value); } + public void set(String name, boolean value) { + set(name, "" + value); + } + + public void set(String name, int value) { + set(name, "" + value); + } + + public void set(String name, double value) { + set(name, "" + value); + } + public Map getAll() { return prefs; } diff --git a/test/AndroidManifest.xml b/test/AndroidManifest.xml index 02247028..6dec1aec 100755 --- a/test/AndroidManifest.xml +++ b/test/AndroidManifest.xml @@ -99,7 +99,7 @@ android:windowSoftInputMode="adjustPan" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden" - android:name="org.apache.cordova.test.CordovaActivity" > + android:name="org.apache.cordova.test.MainTestActivity" > diff --git a/test/src/org/apache/cordova/test/CordovaWebViewTestActivity.java b/test/src/org/apache/cordova/test/CordovaWebViewTestActivity.java index 7ac2c3c9..a078f213 100644 --- a/test/src/org/apache/cordova/test/CordovaWebViewTestActivity.java +++ b/test/src/org/apache/cordova/test/CordovaWebViewTestActivity.java @@ -22,13 +22,11 @@ package org.apache.cordova.test; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import org.apache.cordova.Config; import org.apache.cordova.CordovaWebView; import org.apache.cordova.CordovaInterface; import org.apache.cordova.CordovaPlugin; -import org.apache.cordova.LOG; import org.apache.cordova.test.R; -import org.apache.cordova.test.R.id; -import org.apache.cordova.test.R.layout; import android.app.Activity; import android.content.Context; @@ -48,6 +46,8 @@ public class CordovaWebViewTestActivity extends Activity implements CordovaInter setContentView(R.layout.main); cordovaWebView = (CordovaWebView) findViewById(R.id.cordovaWebView); + cordovaWebView.init(this, + Config.getPluginEntries(), Config.getWhitelist(), Config.getPreferences()); cordovaWebView.loadUrl("file:///android_asset/www/index.html"); diff --git a/test/src/org/apache/cordova/test/CordovaActivity.java b/test/src/org/apache/cordova/test/MainTestActivity.java similarity index 91% rename from test/src/org/apache/cordova/test/CordovaActivity.java rename to test/src/org/apache/cordova/test/MainTestActivity.java index f3a7839c..2a0f67e6 100644 --- a/test/src/org/apache/cordova/test/CordovaActivity.java +++ b/test/src/org/apache/cordova/test/MainTestActivity.java @@ -18,12 +18,11 @@ */ package org.apache.cordova.test; -import org.apache.cordova.DroidGap; +import org.apache.cordova.CordovaActivity; -import android.app.Activity; import android.os.Bundle; -public class CordovaActivity extends DroidGap { +public class MainTestActivity extends CordovaActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { diff --git a/test/src/org/apache/cordova/test/backbuttonmultipage.java b/test/src/org/apache/cordova/test/backbuttonmultipage.java index 149501c3..d744198b 100755 --- a/test/src/org/apache/cordova/test/backbuttonmultipage.java +++ b/test/src/org/apache/cordova/test/backbuttonmultipage.java @@ -21,7 +21,7 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -public class backbuttonmultipage extends DroidGap { +public class backbuttonmultipage extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/test/src/org/apache/cordova/test/background.java b/test/src/org/apache/cordova/test/background.java index 7a0ba89b..d7ed1018 100755 --- a/test/src/org/apache/cordova/test/background.java +++ b/test/src/org/apache/cordova/test/background.java @@ -22,12 +22,12 @@ import android.os.Bundle; import org.apache.cordova.*; -public class background extends DroidGap { +public class background extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //super.init(new FixWebView(this), new CordovaWebViewClient(this), new CordovaChromeClient(this)); - super.setBooleanProperty("keepRunning", false); + preferences.set("keepRunning", false); super.loadUrl("file:///android_asset/www/background/index.html"); } } diff --git a/test/src/org/apache/cordova/test/backgroundcolor.java b/test/src/org/apache/cordova/test/backgroundcolor.java index f40a6732..30e297f1 100755 --- a/test/src/org/apache/cordova/test/backgroundcolor.java +++ b/test/src/org/apache/cordova/test/backgroundcolor.java @@ -22,18 +22,15 @@ import android.graphics.Color; import android.os.Bundle; import org.apache.cordova.*; -public class backgroundcolor extends DroidGap { +public class backgroundcolor extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - // Properties must be set before init() is called, since some are processed during init(). - // backgroundColor can also be set in cordova.xml, but you must use the number equivalent of the color. For example, Color.RED is // - super.setIntegerProperty("backgroundColor", Color.GREEN); + preferences.set("backgroundColor", Color.GREEN); - super.init(); super.loadUrl("file:///android_asset/www/backgroundcolor/index.html"); } diff --git a/test/src/org/apache/cordova/test/errorurl.java b/test/src/org/apache/cordova/test/errorurl.java index 48e6ada0..e946e408 100755 --- a/test/src/org/apache/cordova/test/errorurl.java +++ b/test/src/org/apache/cordova/test/errorurl.java @@ -21,12 +21,11 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -public class errorurl extends DroidGap { +public class errorurl extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - super.init(); - this.setStringProperty("errorUrl", "file:///android_asset/www/htmlnotfound/error.html"); + preferences.set("errorUrl", "file:///android_asset/www/htmlnotfound/error.html"); super.loadUrl("file:///android_asset/www/htmlnotfound/index.html"); } diff --git a/test/src/org/apache/cordova/test/fullscreen.java b/test/src/org/apache/cordova/test/fullscreen.java index 7fcd79b9..0aa1ee99 100755 --- a/test/src/org/apache/cordova/test/fullscreen.java +++ b/test/src/org/apache/cordova/test/fullscreen.java @@ -21,7 +21,7 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -public class fullscreen extends DroidGap { +public class fullscreen extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -30,7 +30,7 @@ public class fullscreen extends DroidGap { // fullscreen can also be set in cordova.xml. For example, // - super.setBooleanProperty("fullscreen", true); + preferences.set("fullscreen", true); super.init(); super.loadUrl("file:///android_asset/www/fullscreen/index.html"); diff --git a/test/src/org/apache/cordova/test/htmlnotfound.java b/test/src/org/apache/cordova/test/htmlnotfound.java index 4551ca36..c602922d 100755 --- a/test/src/org/apache/cordova/test/htmlnotfound.java +++ b/test/src/org/apache/cordova/test/htmlnotfound.java @@ -21,7 +21,7 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -public class htmlnotfound extends DroidGap { +public class htmlnotfound extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/test/src/org/apache/cordova/test/iframe.java b/test/src/org/apache/cordova/test/iframe.java index de854fc2..3d30cfb1 100755 --- a/test/src/org/apache/cordova/test/iframe.java +++ b/test/src/org/apache/cordova/test/iframe.java @@ -21,7 +21,7 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -public class iframe extends DroidGap { +public class iframe extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/test/src/org/apache/cordova/test/junit/BackButtonMultiPageTest.java b/test/src/org/apache/cordova/test/junit/BackButtonMultiPageTest.java index 2afd2c92..8eed4ede 100644 --- a/test/src/org/apache/cordova/test/junit/BackButtonMultiPageTest.java +++ b/test/src/org/apache/cordova/test/junit/BackButtonMultiPageTest.java @@ -86,9 +86,7 @@ public class BackButtonMultiPageTest extends ActivityInstrumentationTestCase2 { +public class CordovaActivityTest extends ActivityInstrumentationTestCase2 { - private CordovaActivity testActivity; + private MainTestActivity testActivity; private FrameLayout containerView; private LinearLayout innerContainer; private CordovaWebView testView; @@ -40,7 +40,7 @@ public class CordovaActivityTest extends ActivityInstrumentationTestCase2 { - - public UserWebViewTest () - { - super(userwebview.class); - } - - private int TIMEOUT = 1000; - userwebview testActivity; - private FrameLayout containerView; - private LinearLayout innerContainer; - private CordovaWebView testView; - - - protected void setUp() throws Exception { - super.setUp(); - testActivity = this.getActivity(); - containerView = (FrameLayout) testActivity.findViewById(android.R.id.content); - innerContainer = (LinearLayout) containerView.getChildAt(0); - testView = (CordovaWebView) innerContainer.getChildAt(0); - } - - public void testPreconditions(){ - assertNotNull(innerContainer); - assertNotNull(testView); - } - - public void testCustom() - { - assertTrue(CordovaWebView.class.isInstance(testView)); - assertTrue(CordovaWebViewClient.class.isInstance(testActivity.testViewClient)); - assertTrue(CordovaChromeClient.class.isInstance(testActivity.testChromeClient)); - } - - - private void sleep() { - try { - Thread.sleep(TIMEOUT); - } catch (InterruptedException e) { - fail("Unexpected Timeout"); - } - } - -} diff --git a/test/src/org/apache/cordova/test/lifecycle.java b/test/src/org/apache/cordova/test/lifecycle.java index 30c5b8ba..d1c42129 100755 --- a/test/src/org/apache/cordova/test/lifecycle.java +++ b/test/src/org/apache/cordova/test/lifecycle.java @@ -21,7 +21,7 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -public class lifecycle extends DroidGap { +public class lifecycle extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/test/src/org/apache/cordova/test/loading.java b/test/src/org/apache/cordova/test/loading.java index b1b08aea..da2c4ff5 100755 --- a/test/src/org/apache/cordova/test/loading.java +++ b/test/src/org/apache/cordova/test/loading.java @@ -21,11 +21,11 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -public class loading extends DroidGap { +public class loading extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - super.setStringProperty("loadingDialog", "Testing,Loading..."); + preferences.set("loadingDialog", "Testing,Loading..."); super.loadUrl("http://www.google.com"); } } diff --git a/test/src/org/apache/cordova/test/splashscreen.java b/test/src/org/apache/cordova/test/splashscreen.java index ef49d736..50a94a90 100755 --- a/test/src/org/apache/cordova/test/splashscreen.java +++ b/test/src/org/apache/cordova/test/splashscreen.java @@ -20,17 +20,15 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -import org.apache.cordova.test.R; -import org.apache.cordova.test.R.drawable; -public class splashscreen extends DroidGap { +public class splashscreen extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.init(); // Show splashscreen - this.setIntegerProperty("splashscreen", R.drawable.sandy); + preferences.set("splashscreen", "sandy"); super.loadUrl("file:///android_asset/www/splashscreen/index.html", 2000); } diff --git a/test/src/org/apache/cordova/test/tests.java b/test/src/org/apache/cordova/test/tests.java index 80c7f24a..64ad56ee 100755 --- a/test/src/org/apache/cordova/test/tests.java +++ b/test/src/org/apache/cordova/test/tests.java @@ -21,7 +21,7 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -public class tests extends DroidGap { +public class tests extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); diff --git a/test/src/org/apache/cordova/test/timeout.java b/test/src/org/apache/cordova/test/timeout.java index 31edb8d5..8a418a30 100755 --- a/test/src/org/apache/cordova/test/timeout.java +++ b/test/src/org/apache/cordova/test/timeout.java @@ -21,14 +21,14 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -public class timeout extends DroidGap { +public class timeout extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.init(); // Short timeout to cause error - this.setIntegerProperty("loadUrlTimeoutValue", 10); + preferences.set("loadUrlTimeoutValue", 10); super.loadUrl("http://www.google.com"); } } diff --git a/test/src/org/apache/cordova/test/userwebview.java b/test/src/org/apache/cordova/test/userwebview.java index d9879112..4237e199 100755 --- a/test/src/org/apache/cordova/test/userwebview.java +++ b/test/src/org/apache/cordova/test/userwebview.java @@ -23,9 +23,8 @@ import android.webkit.WebView; import android.webkit.GeolocationPermissions.Callback; import org.apache.cordova.*; -import org.apache.cordova.LOG; -public class userwebview extends CordovaActivity { +public class userwebview extends MainTestActivity { public TestViewClient testViewClient; public TestChromeClient testChromeClient; @@ -33,15 +32,17 @@ public class userwebview extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - testViewClient = new TestViewClient(this); - testChromeClient = new TestChromeClient(this); - super.init(new AndroidWebView(this), new TestViewClient(this), new TestChromeClient(this)); + testViewClient = new TestViewClient(this, ((AndroidWebView)appView)); + testChromeClient = new TestChromeClient(this, ((AndroidWebView)appView)); + super.init(); + ((AndroidWebView)appView).setWebViewClient(testViewClient); + ((AndroidWebView)appView).setWebChromeClient(testChromeClient); super.loadUrl("file:///android_asset/www/userwebview/index.html"); } public class TestChromeClient extends AndroidChromeClient { - public TestChromeClient(CordovaActivity arg0) { - super(arg0); + public TestChromeClient(CordovaInterface ctx, AndroidWebView app) { + super(ctx, app); LOG.d("userwebview", "TestChromeClient()"); } @@ -57,8 +58,8 @@ public class userwebview extends CordovaActivity { * This class can be used to override the GapViewClient and receive notification of webview events. */ public class TestViewClient extends AndroidWebViewClient { - public TestViewClient(CordovaActivity arg0) { - super(arg0); + public TestViewClient(CordovaInterface ctx, AndroidWebView app) { + super(ctx, app); LOG.d("userwebview", "TestViewClient()"); } diff --git a/test/src/org/apache/cordova/test/whitelist.java b/test/src/org/apache/cordova/test/whitelist.java index 5dbb6453..00173729 100755 --- a/test/src/org/apache/cordova/test/whitelist.java +++ b/test/src/org/apache/cordova/test/whitelist.java @@ -23,11 +23,12 @@ import android.webkit.WebView; import org.apache.cordova.*; -public class whitelist extends CordovaActivity { +public class whitelist extends MainTestActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - super.init(new AndroidWebView(this), new TestViewClient(this), new AndroidChromeClient(this)); + super.init(); + ((AndroidWebView)appView).setWebViewClient(new TestViewClient(this, ((AndroidWebView)appView))); super.loadUrl("file:///android_asset/www/whitelist/index.html"); } @@ -36,8 +37,8 @@ public class whitelist extends CordovaActivity { */ public class TestViewClient extends AndroidWebViewClient { - public TestViewClient(CordovaActivity arg0) { - super(arg0); + public TestViewClient(CordovaInterface ctx, AndroidWebView app) { + super(ctx, app); } @Override diff --git a/test/src/org/apache/cordova/test/xhr.java b/test/src/org/apache/cordova/test/xhr.java index 402e0ad2..4f73926f 100755 --- a/test/src/org/apache/cordova/test/xhr.java +++ b/test/src/org/apache/cordova/test/xhr.java @@ -21,7 +21,7 @@ package org.apache.cordova.test; import android.os.Bundle; import org.apache.cordova.*; -public class xhr extends DroidGap { +public class xhr extends CordovaActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);