From 49de553ee879c3032e58e947b8684daba69f0812 Mon Sep 17 00:00:00 2001 From: Dave Johnson Date: Fri, 30 Jul 2010 12:23:55 -0700 Subject: [PATCH] refactored the Command stuff a bit more, added a spashscreen --- framework/assets/js/cache.js | 18 --- framework/assets/js/phonegap.js.base | 26 +++- framework/assets/js/splashscreen.js | 5 + framework/build.xml | 42 +++++- framework/gen/com/phonegap/R.java | 4 +- framework/res/drawable/splash.png | Bin 0 -> 2990 bytes framework/res/layout/preview.xml | 23 ---- framework/src/com/phonegap/DroidGap.java | 130 ++++++++++-------- framework/src/com/phonegap/SplashScreen.java | 15 ++ framework/src/com/phonegap/api/Command.java | 43 ++++-- .../src/com/phonegap/api/CommandManager.java | 123 ++++++++++++----- .../src/com/phonegap/api/CommandResult.java | 11 +- .../src/com/phonegap/api/impl/Cache.java | 109 --------------- 13 files changed, 277 insertions(+), 272 deletions(-) delete mode 100644 framework/assets/js/cache.js create mode 100644 framework/assets/js/splashscreen.js create mode 100755 framework/res/drawable/splash.png delete mode 100644 framework/res/layout/preview.xml create mode 100644 framework/src/com/phonegap/SplashScreen.java delete mode 100644 framework/src/com/phonegap/api/impl/Cache.java diff --git a/framework/assets/js/cache.js b/framework/assets/js/cache.js deleted file mode 100644 index 28d55ce2..00000000 --- a/framework/assets/js/cache.js +++ /dev/null @@ -1,18 +0,0 @@ -PhoneGap.addPlugin = function(name, obj) { - if ( !window.plugins ) { - window.plugins = {}; - } - - if ( !window.plugins[name] ) { - window.plugins[name] = obj; - } -} - -function Cache() { -} - -Cache.prototype.getCachedPathForURI = function(uri, success, fail) { - PhoneGap.execAsync(success, fail, 'com.phonegap.api.impl.Cache', 'getCachedPathForURI', [uri]); -}; - -PhoneGap.addPlugin('cache', new Cache()); \ No newline at end of file diff --git a/framework/assets/js/phonegap.js.base b/framework/assets/js/phonegap.js.base index 0e24a82a..237a19ee 100755 --- a/framework/assets/js/phonegap.js.base +++ b/framework/assets/js/phonegap.js.base @@ -136,6 +136,19 @@ PhoneGap.addConstructor = function(func) { }); }; +/** + * Adds a plugin object to window.plugins + */ +PhoneGap.addPlugin = function(name, obj) { + if ( !window.plugins ) { + window.plugins = {}; + } + + if ( !window.plugins[name] ) { + window.plugins[name] = obj; + } +} + /** * onDOMContentLoaded channel is fired when the DOM content * of the page has been parsed. @@ -216,23 +229,22 @@ PhoneGap.callbacks = {}; * @param {String[]} [args] Zero or more arguments to pass to the method */ PhoneGap.exec = function(clazz, action, args) { - CommandManager.exec(clazz, action, callbackId, args.join('__PHONEGAP__'), false); + CommandManager.exec(clazz, action, callbackId, JSON.stringify(args), false); }; PhoneGap.execAsync = function(success, fail, clazz, action, args) { var callbackId = clazz + PhoneGap.callbackId++; PhoneGap.callbacks[callbackId] = {success:success, fail:fail}; - CommandManager.exec(clazz, action, callbackId, args.join('__PHONEGAP__'), true); - return callbackId; + return CommandManager.exec(clazz, action, callbackId, JSON.stringify(args), true); }; PhoneGap.callbackSuccess = function(callbackId, args) { - PhoneGap.callbacks[callbackId].success.apply(this, JSON.parse(args)); + PhoneGap.callbacks[callbackId].success(args); delete PhoneGap.callbacks[callbackId]; }; -PhoneGap.callbackFailure = function(callbackId, args) { - PhoneGap.callbacks[callbackId].fail.apply(this, JSON.parse(args)); +PhoneGap.callbackError = function(callbackId, args) { + PhoneGap.callbacks[callbackId].fail(args); delete PhoneGap.callbacks[callbackId]; }; @@ -353,7 +365,7 @@ PhoneGap.UUIDcreatePart = function(length) { }; PhoneGap.close = function(context, func, params) { - if (null == params) { + if (typeof params === 'undefined') { return function() { return func.apply(context, arguments); } diff --git a/framework/assets/js/splashscreen.js b/framework/assets/js/splashscreen.js new file mode 100644 index 00000000..cf27f765 --- /dev/null +++ b/framework/assets/js/splashscreen.js @@ -0,0 +1,5 @@ +PhoneGap.addConstructor(function() { + if (typeof navigator.splashScreen == "undefined") { + navigator.splashScreen = SplashScreen; // SplashScreen object come from native side through addJavaScriptInterface + } +}); \ No newline at end of file diff --git a/framework/build.xml b/framework/build.xml index ce0af6a5..285c1908 100644 --- a/framework/build.xml +++ b/framework/build.xml @@ -64,21 +64,53 @@ --> - - + + + + var alert=function(){},device={},Element={},debug={}; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + diff --git a/framework/gen/com/phonegap/R.java b/framework/gen/com/phonegap/R.java index 81a21810..7db0ceb3 100644 --- a/framework/gen/com/phonegap/R.java +++ b/framework/gen/com/phonegap/R.java @@ -12,15 +12,13 @@ public final class R { } public static final class drawable { public static final int icon=0x7f020000; + public static final int splash=0x7f020001; } public static final class id { public static final int appView=0x7f050000; - public static final int go=0x7f050002; - public static final int surface=0x7f050001; } public static final class layout { public static final int main=0x7f030000; - public static final int preview=0x7f030001; } public static final class string { public static final int app_name=0x7f040000; diff --git a/framework/res/drawable/splash.png b/framework/res/drawable/splash.png new file mode 100755 index 0000000000000000000000000000000000000000..aa3cbc51fdc5316e3dc5c517c64ced4f1f4c7d61 GIT binary patch literal 2990 zcmeH}e>4+%AIA-kQH@(9az*u&bfrS*ZY)w#B4bp3EZL7z?E3vHquiTZ7x^*LHcs^* z8xu3b%(mMPGVIDDuC-ZpO@546eyo{2I-NQ_=iGbF({r9bpFiH`d(QW~&-?TFd_RAD zUsCgQ=+j4y{V8t-g8_IK5qe^)QY-ayr%*i;hhQjYg@tAhG9B z<{lBD7!(W@icE@nih`)Atv%)8=Hiz)JS7x*35L|KzclQF?Xq))!|!Z)w^B!O)rQ}{ zTXa(8x4<})V#Pn(^!mqB^p{DxM{RF9=FU!zvXNyXk;oaa;srJYXd8XA&-~m69pa>? zyQ~TT$XJzzx|Zg;5BgyEGt;W!zcwA>d|B>ulD5&8<-W@Fx#^EReM<8Et$$E}VB=EdbE6%3X7Vxi^=l;3Vl zL1R)Yh|4S4D_H9zjo<1$4y|`|cJ9@ez2jH|CgWL-QD|Tr>G`oFd@ozHa@VpK4JXv9Xnz*9BW%RF@sGA9fOm5+|ZR%M8@8tiaz!d5!jZpNbL^a ziH~X*cp`m@C>iRa1*e-NQVkGZ9|piwbgzWY3uY1;4AFmF9PG1D5ltxmZ^DasP~SP? zM(h5AP-vZ2V}VO)rx;Jr9MP>3c9&cxI|?$gA?UZDCND3qO0%0~G*7J(*&ukd^B@*8 z&XtM1Qd)BH5kaDV#+%{5Yn=j~Hx=3Lcf=eB4|rd56obKp%`aqjWP@WQq307CS!W4A zjF#49Z9}!h7QA*K%*G#!^pMaiOOR>Bm3bE$5(UYW9AUhfzE0v#8oyQmqb(n(ZrSv9 zr)AaT_E(@#!QbnZy0UX>xF;OUf+v*JVGdfCeFA~n)`AyB|31-^)FMxi=q$~c1PIvE z;!qK>f8VHM4C?@0Fi0}mkFFe&Y9qsK%V9h6Q83mB3A~69E4L4n()@(6tY?USKrWB# z-Ut)36N5}4ySJoVQJK@6o*Im_r%vJo)KKF`hS^6B?&e`>_Kd-cHa*di=w8UWEia0b zcJj)}32I)R?Av{8EA8QxVwLj@*b z7hZ!LDdPhJ1LEr2^;LdV)eRDQ;Npe|6MiA{y9%YCmL?g6E-oyPueK6>O$CTr$=3ev zShDn(aU3PvA!+F8Q;)PAz20;0+D5(&UnnoTH?r_U!ucgr@Zsl?vBOtcL}00F3<>xstKCxCl&hPSmxh@Wicz+QW2p)DDy72X2+6 zS$?l!Pl()fz3Fwmhrz>`ZA#U*io{d#K${-izEb%~QeC*-X>$3urlvy7wG1rTY9jpJ zbE&aTA^{b#g;{KC6rZw@yqv;p^&|qiiYVzFxQznXXhxxM%Hv|KE3vK zCt1OfdNAKXVzvbY1Y|(@24ovr#GZ1UNo){$dKwMWcen`O+gO`&S{?U|)RL0rQr#+& zAs-jQZ5_5rSv~#3d<}dGPx69y&>rVMV;AGtjImQqkJeWVi>w=J%V*;^Ou8WBs;#9( zdh6&V*Jx{+E(wlWKSXbThG6rmWCDV*P1rz$-Z=RR@k0IS#!X?-n&8>><>NE$1lvZ* zxXjxzI3xt^!%%FN2HWWe0Dj@vWyfKvoW$Ma()Beaq^{r~sq&ff9#?U}0v1Arwu5kZ z1Vio!fm}Y^vpi<0!(_*G8rW3#_xI!50hIR}8s@khJkX^f@ZE$%&3HoyjN1K!WD$l(Da2ZyK;$nW6~Pt5o{rT!Rp&OhXg zB0=8kN9t{x85;0;qL(2uU=EfL1VK7Wwg8k z5eoO9NHcg_XOEj)Ys=^E9W{Dkfn}HvSf&COuFYu=bET@aDaU zu0hgPY$3C`*@*CPE~|5La&n~)hihgq7~G6}=ySsre$SA9*vN7DeQ)~dJs*JN^Ot>= zs*$n&|E%&QhJ5ilf5j@$z+H0-+}W0RR91 literal 0 HcmV?d00001 diff --git a/framework/res/layout/preview.xml b/framework/res/layout/preview.xml deleted file mode 100644 index f7fe83aa..00000000 --- a/framework/res/layout/preview.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - -