You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ia...@apache.org on 2013/08/23 19:05:02 UTC
[1/2] android commit: Refactor CordovaActivity.init so that
subclasses can easily override factory methods for webview objects
Updated Branches:
refs/heads/master f42b34d6b -> f60498818
Refactor CordovaActivity.init so that subclasses can easily override factory methods for webview objects
Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/f6049881
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/f6049881
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/f6049881
Branch: refs/heads/master
Commit: f604988181e956a54b5c3eb6c017fb93efc887ad
Parents: 150cdfd
Author: Ian Clelland <ic...@chromium.org>
Authored: Fri Aug 16 11:47:06 2013 -0400
Committer: Ian Clelland <ic...@chromium.org>
Committed: Fri Aug 23 13:04:19 2013 -0400
----------------------------------------------------------------------
.../src/org/apache/cordova/CordovaActivity.java | 51 +++++++++++++++-----
1 file changed, 40 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/f6049881/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 7e0d1be..9937c3f 100755
--- a/framework/src/org/apache/cordova/CordovaActivity.java
+++ b/framework/src/org/apache/cordova/CordovaActivity.java
@@ -312,20 +312,49 @@ public class CordovaActivity extends Activity implements CordovaInterface {
}
/**
+ * Construct the default web view object.
+ *
+ * This is intended to be overridable by subclasses of CordovaIntent which
+ * require a more specialized web view.
+ */
+ protected CordovaWebView makeWebView() {
+ return new CordovaWebView(CordovaActivity.this);
+ }
+
+ /**
+ * Construct the client for the default web view object.
+ *
+ * This is intended to be overridable by subclasses of CordovaIntent which
+ * require a more specialized web view.
+ *
+ * @param webView the default constructed web view object
+ */
+ protected CordovaWebViewClient makeWebViewClient(CordovaWebView webView) {
+ if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
+ return new CordovaWebViewClient(this, webView);
+ } else {
+ return new IceCreamCordovaWebViewClient(this, webView);
+ }
+ }
+
+ /**
+ * Construct the chrome client for the default web view object.
+ *
+ * This is intended to be overridable by subclasses of CordovaIntent which
+ * require a more specialized web view.
+ *
+ * @param webView the default constructed web view object
+ */
+ protected CordovaChromeClient makeChromeClient(CordovaWebView webView) {
+ return new CordovaChromeClient(this, webView);
+ }
+
+ /**
* Create and initialize web container with default web view objects.
*/
public void init() {
- CordovaWebView webView = new CordovaWebView(CordovaActivity.this);
- 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));
+ CordovaWebView webView = makeWebView();
+ this.init(webView, makeWebViewClient(webView), makeChromeClient(webView));
}
/**
[2/2] android commit: [CB-4652] Allow default project template to be
overridden on create
Posted by ia...@apache.org.
[CB-4652] Allow default project template to be overridden on create
Project: http://git-wip-us.apache.org/repos/asf/cordova-android/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-android/commit/150cdfd3
Tree: http://git-wip-us.apache.org/repos/asf/cordova-android/tree/150cdfd3
Diff: http://git-wip-us.apache.org/repos/asf/cordova-android/diff/150cdfd3
Branch: refs/heads/master
Commit: 150cdfd3ac66c54cf607255b78c519f753498b1d
Parents: f42b34d
Author: Ian Clelland <ic...@chromium.org>
Authored: Thu Aug 22 15:41:33 2013 -0400
Committer: Ian Clelland <ic...@chromium.org>
Committed: Fri Aug 23 13:04:19 2013 -0400
----------------------------------------------------------------------
bin/create | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-android/blob/150cdfd3/bin/create
----------------------------------------------------------------------
diff --git a/bin/create b/bin/create
index 40727fc..6a49dc9 100755
--- a/bin/create
+++ b/bin/create
@@ -40,6 +40,7 @@ PROJECT_PATH="${1:-'./example'}"
PACKAGE=${2:-"org.apache.cordova.example"}
ACTIVITY=$(echo ${3:-"cordovaExample"} | tr -d '[:blank:][:punct:]')
APP_LABEL=${3:-"Cordova Example"};
+PROJECT_TEMPLATE_DIR=${4:-"$BUILD_PATH/bin/templates/project"};
# clobber any existing example
if [ -d "$PROJECT_PATH" ]
@@ -111,8 +112,8 @@ fi
"$ANDROID_BIN" create project --target $TARGET --path "$PROJECT_PATH" --package $PACKAGE --activity $ACTIVITY &> /dev/null
# copy project template
-cp -r "$BUILD_PATH"/bin/templates/project/assets "$PROJECT_PATH"
-cp -r "$BUILD_PATH"/bin/templates/project/res "$PROJECT_PATH"
+cp -r "$PROJECT_TEMPLATE_DIR"/assets "$PROJECT_PATH"
+cp -r "$PROJECT_TEMPLATE_DIR"/res "$PROJECT_PATH"
# copy cordova.js, cordova.jar and res/xml
if [ -d "$BUILD_PATH"/framework ]
@@ -127,14 +128,14 @@ else
fi
# interpolate the activity name and package
-cp "$BUILD_PATH"/bin/templates/project/Activity.java "$ACTIVITY_PATH"
+cp "$PROJECT_TEMPLATE_DIR"/Activity.java "$ACTIVITY_PATH"
replace "s/__ACTIVITY__/${ACTIVITY}/g" "$ACTIVITY_PATH"
replace "s/__ID__/${PACKAGE}/g" "$ACTIVITY_PATH"
# interpolate the app name into strings.xml
replace "s/>${ACTIVITY}</>${APP_LABEL}</g" "$STRINGS_PATH"
-cp "$BUILD_PATH"/bin/templates/project/AndroidManifest.xml "$MANIFEST_PATH"
+cp "$PROJECT_TEMPLATE_DIR"/AndroidManifest.xml "$MANIFEST_PATH"
replace "s/__ACTIVITY__/${ACTIVITY}/g" "$MANIFEST_PATH"
replace "s/__PACKAGE__/${PACKAGE}/g" "$MANIFEST_PATH"
replace "s/__APILEVEL__/${API_LEVEL}/g" "$MANIFEST_PATH"