From 558e2a677267d4c1f64cdebf5c94481f31b96e12 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Mon, 25 Jun 2012 13:38:34 -0700 Subject: [PATCH 1/6] Updated Android CB code to work with Cordova 1.9+ --- src/android/ChildBrowser.java | 26 ++--- www/blackberry/childbrowser.js | 103 ------------------ .../childbrowser/icon_arrow_left.png | Bin 417 -> 0 bytes .../childbrowser/icon_arrow_right.png | Bin 384 -> 0 bytes www/blackberry/childbrowser/icon_refresh.png | Bin 741 -> 0 bytes www/blackberry/childbrowser/icon_stop.png | Bin 586 -> 0 bytes 6 files changed, 13 insertions(+), 116 deletions(-) delete mode 100644 www/blackberry/childbrowser.js delete mode 100644 www/blackberry/childbrowser/icon_arrow_left.png delete mode 100644 www/blackberry/childbrowser/icon_arrow_right.png delete mode 100644 www/blackberry/childbrowser/icon_refresh.png delete mode 100644 www/blackberry/childbrowser/icon_stop.png diff --git a/src/android/ChildBrowser.java b/src/android/ChildBrowser.java index 60ef634..1c5d85c 100644 --- a/src/android/ChildBrowser.java +++ b/src/android/ChildBrowser.java @@ -121,7 +121,7 @@ public String openExternal(String url, boolean usePhoneGap) { try { Intent intent = null; if (usePhoneGap) { - intent = new Intent().setClass((Context) this.ctx, org.apache.cordova.DroidGap.class); + intent = new Intent().setClass((Context) this.ctx.getActivity(), org.apache.cordova.DroidGap.class); intent.setData(Uri.parse(url)); // This line will be removed in future. intent.putExtra("url", url); @@ -135,7 +135,7 @@ public String openExternal(String url, boolean usePhoneGap) { intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); } - this.ctx.startActivity(intent); + this.ctx.getActivity().startActivity(intent); return ""; } catch (android.content.ActivityNotFoundException e) { Log.d(LOG_TAG, "ChildBrowser: Error loading url " + url + ":" + e.toString()); @@ -177,7 +177,7 @@ private void goForward() { * @param url to load */ private void navigate(String url) { - InputMethodManager imm = (InputMethodManager) this.ctx.getSystemService(Context.INPUT_METHOD_SERVICE); + InputMethodManager imm = (InputMethodManager) this.ctx.getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0); if (!url.startsWith("http")) { @@ -213,7 +213,7 @@ public String showWebPage(final String url, JSONObject options) { // Create dialog in new thread Runnable runnable = new Runnable() { public void run() { - dialog = new Dialog((Context) ctx); + dialog = new Dialog((Context) ctx.getActivity()); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setCancelable(true); @@ -242,13 +242,13 @@ public void onDismiss(DialogInterface dialog) { closeParams = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1.0f); } - LinearLayout main = new LinearLayout((Context) ctx); + LinearLayout main = new LinearLayout((Context) ctx.getActivity()); main.setOrientation(LinearLayout.VERTICAL); - LinearLayout toolbar = new LinearLayout((Context) ctx); + LinearLayout toolbar = new LinearLayout((Context) ctx.getActivity()); toolbar.setOrientation(LinearLayout.HORIZONTAL); - ImageButton back = new ImageButton((Context) ctx); + ImageButton back = new ImageButton((Context) ctx.getActivity()); back.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goBack(); @@ -262,7 +262,7 @@ public void onClick(View v) { } back.setLayoutParams(backParams); - ImageButton forward = new ImageButton((Context) ctx); + ImageButton forward = new ImageButton((Context) ctx.getActivity()); forward.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goForward(); @@ -276,7 +276,7 @@ public void onClick(View v) { } forward.setLayoutParams(forwardParams); - edittext = new EditText((Context) ctx); + edittext = new EditText((Context) ctx.getActivity()); edittext.setOnKeyListener(new View.OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { // If the event is a key-down event on the "enter" button @@ -292,7 +292,7 @@ public boolean onKey(View v, int keyCode, KeyEvent event) { edittext.setText(url); edittext.setLayoutParams(editParams); - ImageButton close = new ImageButton((Context) ctx); + ImageButton close = new ImageButton((Context) ctx.getActivity()); close.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { closeDialog(); @@ -306,7 +306,7 @@ public void onClick(View v) { } close.setLayoutParams(closeParams); - webview = new WebView((Context) ctx); + webview = new WebView((Context) ctx.getActivity()); webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setBuiltInZoomControls(true); WebViewClient client = new ChildBrowserClient(ctx, edittext); @@ -349,11 +349,11 @@ public void onClick(View v) { } private Bitmap loadDrawable(String filename) throws java.io.IOException { - InputStream input = ctx.getAssets().open(filename); + InputStream input = ctx.getActivity().getAssets().open(filename); return BitmapFactory.decodeStream(input); } }; - this.ctx.runOnUiThread(runnable); + this.ctx.getActivity().runOnUiThread(runnable); return ""; } diff --git a/www/blackberry/childbrowser.js b/www/blackberry/childbrowser.js deleted file mode 100644 index fb82f8f..0000000 --- a/www/blackberry/childbrowser.js +++ /dev/null @@ -1,103 +0,0 @@ -/* - * PhoneGap is available under *either* the terms of the modified BSD license *or* the - * MIT License (2008). See http://opensource.org/licenses/alphabetical for full text. - * - * Copyright (c) 2005-2010, Nitobi Software Inc. - * Copyright (c) 2011, IBM Corporation - */ - -/** - * window.plugins.childBrowser - * - * Provides - */ -var ChildBrowser = ChildBrowser || (function() { - - /** - * Constructor - */ - function ChildBrowser() { - }; - - ChildBrowser.CLOSE_EVENT = 0; - ChildBrowser.LOCATION_CHANGED_EVENT = 1; - - /** - * Display a new browser with the specified URL. This method loads up a new - * custom browser field. - * - * @param url - * The url to load - * @param options - * An object that specifies additional options - */ - ChildBrowser.prototype.showWebPage = function(url, options) { - if (options === null || options === "undefined") { - var options = new Object(); - options.showLocationBar = true; - } - PhoneGap.exec(this._onEvent, this._onError, "ChildBrowser", - "showWebPage", [url, options ]); - }; - - /** - * Close the browser opened by showWebPage. - */ - ChildBrowser.prototype.close = function() { - PhoneGap.exec(null, this._onError, "ChildBrowser", "close", []); - }; - - /** - * Display a new browser with the specified URL. This method starts a new - * web browser activity. - * - * @param url - * The url to load - * @param usePhoneGap - * Load url in PhoneGap webview [ignored] - */ - ChildBrowser.prototype.openExternal = function(url, usePhoneGap) { - // if (usePhoneGap === true) { - // navigator.app.loadUrl(url); - // } else { - PhoneGap.exec(null, null, "ChildBrowser", "openExternal", [ url, - usePhoneGap ]); - // } - }; - - /** - * Method called when the child browser is closed. - */ - ChildBrowser.prototype._onEvent = function(data) { - if (data.type == ChildBrowser.CLOSE_EVENT - && typeof window.plugins.childBrowser.onClose === "function") { - window.plugins.childBrowser.onClose(); - } - if (data.type == ChildBrowser.LOCATION_CHANGED_EVENT - && typeof window.plugins.childBrowser.onLocationChange === "function") { - window.plugins.childBrowser.onLocationChange(data.location); - } - }; - - /** - * Method called when the child browser has an error. - */ - ChildBrowser.prototype._onError = function(data) { - if (typeof window.plugins.childBrowser.onError === "function") { - window.plugins.childBrowser.onError(data); - } - }; - - /** - * Maintain API consistency with iOS - */ - ChildBrowser.prototype.install = function() { - }; - - /** - * Load ChildBrowser - */ - PhoneGap.addConstructor(function() { - PhoneGap.addPlugin("childBrowser", new ChildBrowser()); - }); -})(); diff --git a/www/blackberry/childbrowser/icon_arrow_left.png b/www/blackberry/childbrowser/icon_arrow_left.png deleted file mode 100644 index f557c40ef13ae686d0b88f02052502cdc90ea03e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmV;S0bc%zP)wzpi0K^82jEwa0@!!Ay^#A?)f8pQ%{|5i4koSr5@$Wx>^`Sl$ zV1U}m%tYfj{`vb)JkW;+fWa&PD&=69QoxAMkncZ##{*+>0X0%F2RkbxQ9=Ff$FKQ7 zDuGrdIflhwzWoBF+zB8{X_=2vEdKQMCp^2*x&T437?@o)(8E%UR1Hk81;E7i06Fzi z3lmJ$?>>Fw2MSR=xP|$-81d#~AwI5;K*u-$gM9%IGf)eYl#gG&`_d1j3aH^@aUmW? zqAdo27jHku10x@!5Rnk!Wu$45DIv_e@E^nf0AR8C0aQ7_FkR|nDG|Pn|3LAMWI5d$ z0y1L!7lHOEfUCxTbhH=*WX1VE0<8r3d;?8ur_sjVsKt~3fB*vk0HqUXfXxus00000 LNkvXXu0mjf#V@jT diff --git a/www/blackberry/childbrowser/icon_arrow_right.png b/www/blackberry/childbrowser/icon_arrow_right.png deleted file mode 100644 index 6e5a0f7f95d27e19136dd44512f1c403a1167cf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 384 zcmV-`0e}99P)#*cLK@jsxwKy2{u-~R)D|Nhgbn~#70`HQUi1IXvB zEX)^a?qiUnk+1;J_XmFd{^L)wkAM99O_lN!Xh;GlJL^JxYFNpK4WSI#;1fZ??OU)StzX} zP|9jX1_vo&KH8Vn(Ao)v9{{m~ln8N_Qto3&VgzOvMh97Oe!AAj8-P}mY$?TwYqXU) eYB4?l5MTh*yp=4THfd@A0000yq5!GEOT<#-h6sQ5?z+vD!@DW%67J!XZ`~>hO!y>6DYF>Kj zrN~Rl!BXOnPZC#8*VHBI$<2?mbTC|kG4Ht~*dG)QSx#MtW2fcV zN$qf6OR;n+C+B416a{itL-Bb#J|S@^<@@O@7YE>NIyiwzIqm_K%*hGaQdS@+oOs64 zK4Z934u}GS)^py$e2B{!euVr%VK2rr1U5_z)U9Q<*C#N1)P^y&T?uPg&)IF?R`f#y z4Y3Wv@_g8O)wbX~BT2% z5^H#9;I#}(hy%cJi75{UGv{u3RxNWTQ_fD)sS$J6iz}T9+R2RJn=zcNmU-2aFfde) znD>25C}U_2l(`6pHRCwC#mTykNFc`*Lg9suF5DB6Y z;sxLc++^%TdIRtV+(2#sTtFpJBu3rJ9~Bs_ZznM@*R_KW_<<%*Mz$yKZ|~YZ1vAFb zHpU*>(%6Cj6<7z=6zi2hw;)aGmVjj&E+kDOo6ur@`Ph|fJ~-#0WJ@c8LA(ILk4*HoHjv8 znb&<2dnMQBWX2a%T>@`_DiUZLV_b=ZLqrM8$M|ciBPN9-8T2r+PrM#tzpNg8OjJ4- zLSxY|5gD-TkQj`=f_CmeRS zs12P|@+S#$mQCD1{i=`GVuB11&T;qIXa%yq&(^b From 0f9bc37c65c6fa44fd139634d615df452e627302 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Mon, 25 Jun 2012 21:13:26 -0700 Subject: [PATCH 2/6] adding blackberry platform to plugin.xml --- plugin.xml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/plugin.xml b/plugin.xml index 371d609..29ce459 100644 --- a/plugin.xml +++ b/plugin.xml @@ -42,4 +42,23 @@ + + + + + + + + + + + + + From 397cb43c51ee47053af5cf4f2e4c6f858ced6c34 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Mon, 25 Jun 2012 22:02:46 -0700 Subject: [PATCH 3/6] updated ChildBrowser BB to Cordova 1.9 --- plugin.xml | 2 +- src/blackberry/ChildBrowser.java | 12 ++++++------ src/blackberry/CustomBrowser.java | 12 ++++++------ src/blackberry/NavigationBar.java | 3 ++- www/childbrowser/icon_refresh.png | Bin 0 -> 741 bytes www/childbrowser/icon_stop.png | Bin 0 -> 586 bytes 6 files changed, 15 insertions(+), 14 deletions(-) create mode 100644 www/childbrowser/icon_refresh.png create mode 100644 www/childbrowser/icon_stop.png diff --git a/plugin.xml b/plugin.xml index 29ce459..7ccedab 100644 --- a/plugin.xml +++ b/plugin.xml @@ -45,7 +45,7 @@ - + diff --git a/src/blackberry/ChildBrowser.java b/src/blackberry/ChildBrowser.java index da2acd7..6c48db8 100644 --- a/src/blackberry/ChildBrowser.java +++ b/src/blackberry/ChildBrowser.java @@ -11,12 +11,12 @@ import net.rim.blackberry.api.browser.BrowserSession; import net.rim.device.api.ui.UiApplication; -import com.phonegap.api.Plugin; -import com.phonegap.api.PluginResult; -import com.phonegap.json4j.JSONArray; -import com.phonegap.json4j.JSONException; -import com.phonegap.json4j.JSONObject; -import com.phonegap.util.Logger; +import org.apache.cordova.api.Plugin; +import org.apache.cordova.api.PluginResult; +import org.apache.cordova.json4j.JSONArray; +import org.apache.cordova.json4j.JSONException; +import org.apache.cordova.json4j.JSONObject; +import org.apache.cordova.util.Logger; /** * The ChildBrowser plug-in. This class provides the ability to load external diff --git a/src/blackberry/CustomBrowser.java b/src/blackberry/CustomBrowser.java index 8ab74b9..9515563 100644 --- a/src/blackberry/CustomBrowser.java +++ b/src/blackberry/CustomBrowser.java @@ -20,11 +20,11 @@ import org.w3c.dom.Document; -import com.phonegap.PhoneGapExtension; -import com.phonegap.api.PluginResult; -import com.phonegap.json4j.JSONException; -import com.phonegap.json4j.JSONObject; -import com.phonegap.util.Logger; +import org.apache.cordova.CordovaExtension; +import org.apache.cordova.api.PluginResult; +import org.apache.cordova.json4j.JSONException; +import org.apache.cordova.json4j.JSONObject; +import org.apache.cordova.util.Logger; /** * A custom browser screen. Contains an optional navigation bar at the top of @@ -268,7 +268,7 @@ private void sendUpdate(JSONObject obj, boolean keepCallback) { if (callbackId != null) { PluginResult result = new PluginResult(PluginResult.Status.OK, obj); result.setKeepCallback(keepCallback); - PhoneGapExtension.invokeSuccessCallback(callbackId, result); + CordovaExtension.invokeSuccessCallback(callbackId, result); } } } diff --git a/src/blackberry/NavigationBar.java b/src/blackberry/NavigationBar.java index feaadcf..afa6417 100644 --- a/src/blackberry/NavigationBar.java +++ b/src/blackberry/NavigationBar.java @@ -24,7 +24,8 @@ import net.rim.device.api.ui.container.VerticalFieldManager; import net.rim.device.api.ui.decor.BackgroundFactory; -import com.phonegap.util.Logger; +import org.apache.cordova.util.Logger; + /** * Implements a navigation bar for the custom browser. Provides UI elements to diff --git a/www/childbrowser/icon_refresh.png b/www/childbrowser/icon_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..cf5c188c7bcfacd08d055d3f629a423cf247ab87 GIT binary patch literal 741 zcmVyq5!GEOT<#-h6sQ5?z+vD!@DW%67J!XZ`~>hO!y>6DYF>Kj zrN~Rl!BXOnPZC#8*VHBI$<2?mbTC|kG4Ht~*dG)QSx#MtW2fcV zN$qf6OR;n+C+B416a{itL-Bb#J|S@^<@@O@7YE>NIyiwzIqm_K%*hGaQdS@+oOs64 zK4Z934u}GS)^py$e2B{!euVr%VK2rr1U5_z)U9Q<*C#N1)P^y&T?uPg&)IF?R`f#y z4Y3Wv@_g8O)wbX~BT2% z5^H#9;I#}(hy%cJi75{UGv{u3RxNWTQ_fD)sS$J6iz}T9+R2RJn=zcNmU-2aFfde) znD>25C}U_2l(`6pHRCwC#mTykNFc`*Lg9suF5DB6Y z;sxLc++^%TdIRtV+(2#sTtFpJBu3rJ9~Bs_ZznM@*R_KW_<<%*Mz$yKZ|~YZ1vAFb zHpU*>(%6Cj6<7z=6zi2hw;)aGmVjj&E+kDOo6ur@`Ph|fJ~-#0WJ@c8LA(ILk4*HoHjv8 znb&<2dnMQBWX2a%T>@`_DiUZLV_b=ZLqrM8$M|ciBPN9-8T2r+PrM#tzpNg8OjJ4- zLSxY|5gD-TkQj`=f_CmeRS zs12P|@+S#$mQCD1{i=`GVuB11&T;qIXa%yq&(^b literal 0 HcmV?d00001 From ef5e5bc3f530433d2c5c854fec8ae60c9d270458 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Tue, 26 Jun 2012 09:41:03 -0700 Subject: [PATCH 4/6] Proper src files for blackberry in plugin.xml --- plugin.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/plugin.xml b/plugin.xml index 7ccedab..5bf8386 100644 --- a/plugin.xml +++ b/plugin.xml @@ -51,14 +51,14 @@ - - - - + target-dir="src/com/phonegap/plugins/childbrowser" /> + + + + From e644df4669c0ece8f80020566fe0243275919e47 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Tue, 26 Jun 2012 10:29:01 -0700 Subject: [PATCH 5/6] target-dir for bb should not include src. --- plugin.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plugin.xml b/plugin.xml index 5bf8386..c6a2b6d 100644 --- a/plugin.xml +++ b/plugin.xml @@ -51,14 +51,14 @@ + target-dir="com/phonegap/plugins/childbrowser" /> + target-dir="com/phonegap/plugins/childbrowser" /> + target-dir="com/phonegap/plugins/childbrowser" /> + target-dir="com/phonegap/plugins/childbrowser" /> + target-dir="com/phonegap/plugins/childbrowser" /> From 3ac10667638837d5b86be51ff0fb1aaa93288302 Mon Sep 17 00:00:00 2001 From: Fil Maj Date: Tue, 26 Jun 2012 15:58:37 -0700 Subject: [PATCH 6/6] target-dir should be relative to root path. also: watch casing in package names! --- plugin.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugin.xml b/plugin.xml index c6a2b6d..be1b68a 100644 --- a/plugin.xml +++ b/plugin.xml @@ -47,18 +47,18 @@ + value="com.phonegap.plugins.childbrowser.ChildBrowser"/> + target-dir="www/ext/com/phonegap/plugins/childbrowser" /> + target-dir="www/ext/com/phonegap/plugins/childbrowser" /> + target-dir="www/ext/com/phonegap/plugins/childbrowser" /> + target-dir="www/ext/com/phonegap/plugins/childbrowser" /> + target-dir="www/ext/com/phonegap/plugins/childbrowser" />