Okay, conf call done. Lemme catch up on this thread. @Brian - I was able to find a layout to use for the dialog that covers the entire screen so we can remove that problem from the minus category. I was able to test it on a phone, phablet and tablet screen sizes. The new splash screen functionality looks exactly the same as what we have currently it just does it differently under the hood.
@Fil & @Joe - Yeah, I think splash screens are a waste of time too but in our case they make sense. With the splash screen in place we can load the app in the background and we will get rid of that problem where people complain the app starts up with a black screen then the web view is created causing a white flash before the app is loaded. I just want the Android platform to have the same functionality as iOS. @Joe - I didn't want to use an ImageView as then we'd have to get into starting a new activity and all the other fun that entails. @Fil - Do you think we should make it optional for the splash screen to be dismissed on "deviceready"? Some folks might want to let the splash be displayed for the full timeout value provided in the loadUrl call. This change on Android can go in for 1.7 or 1.8. Whatever folks want. Simon Mac Donald http://hi.im/simonmacdonald On Tue, Apr 24, 2012 at 3:37 PM, Joe Bowser <[email protected]> wrote: > Sounds good! Let's create some tickets in JIRA and hash this out. > > On Tue, Apr 24, 2012 at 10:16 AM, Filip Maj <[email protected]> wrote: > > > I am in HUGE favor of creating a Splash Screen plugin (iOS does this > > already, it looks like Simon is going down that path) that we make work > > consistently across platforms. > > > > Would be a good exercise in plugin authoring, something that we need to > > work out details for for 2.0 anyways (but that's a separate thread). > > > > Finally: the JS for the Splash Screen plugin would be dead simple. At its > > simplest: > > > > cordova.onDeviceReady.subscribeOnce(function() { exec(function(){}, > > function(){}, 'splashscreen', 'hide', []); }); > > > > Or, more complex, we could expose as a core cordova API and offer APIs > for > > showing and hiding. > > > > On 4/24/12 9:37 AM, "Joe Bowser" <[email protected]> wrote: > > > > >OK, here's where I go against what I've been saying for years about > > >Spashscreens being a stupid exercise in branding and come out in defence > > >of > > >this approach. That being said, does it have to be a dialog, or can we > do > > >something tricky with an ImageView in the background. I agree that our > > >splashscreen is janky, and needs to be fixed, but we should make it so > > >that > > >you can't tell it's a Cordova app. > > > > > >But yeah, I'm fine with this code being put into the CordovaWebView > branch > > >and tickets being added to get it here. > > > > > >On Tue, Apr 24, 2012 at 9:23 AM, Brian LeRoux <[email protected]> wrote: > > > > > >> Woah, hold up: > > >> > > >> "The only downside is the dialog does not fully cover the screen." > > >> > > >> Not in a spot to test this yet but how much is covered / how big is > > >> the visual change? > > >> > > >> If its at all different would we not want to deprecate the old > > >> functionality and warn of the new behavior? > > >> > > >> Final thought, perhaps we could consider axing splash screens > > >> altogether. It kinda should be handled by the client code and not the > > >> native side, imo. > > >> > > >> > > >> On Tue, Apr 24, 2012 at 8:21 AM, Joe Bowser <[email protected]> > wrote: > > >> > On Tue, Apr 24, 2012 at 7:40 AM, Simon MacDonald > > >> > <[email protected]>wrote: > > >> > > > >> >> Hey, > > >> >> > > >> >> I did a bit of a refactor on the Android splash screen. I didn't > like > > >> the > > >> >> fact that when you do a: > > >> >> > > >> >> *super*.setIntegerProperty("splashscreen", R.drawable.*splash)*; > > >> >> > > >> >> *super*.loadUrl("file:///android_asset/www/conn.html", 5000); > > >> >> The splash screen is shown for 5 seconds then the web view begins > to > > >> load > > >> >> the page. That is, the splash screen is a blocking call. > > >> >> > > >> >> I believe I've made this better by changing the way we display the > > >> splash > > >> >> screen to a dialog box. This way the web view underneath the dialog > > >>can > > >> >> continue to load the web page while splash screen is being > displayed. > > >> >> Additionally, I've added a splash screen plugin to Android so you > can > > >> call > > >> >> it's hide method to make the splash screen go away in your > > >>onDeviceReady > > >> >> handler. For developers using our API I haven't changed the way the > > >> splash > > >> >> screen is setup so they won't be required to change their code. The > > >>only > > >> >> downside is the dialog does not fully cover the screen. > > >> >> > > >> >> Here is the commit: > > >> >> > > >> >> > > >> >> > > >> > > >> > > > https://github.com/macdonst/cordova-android/commit/d359eaf4534dc0eed91cda > > >>c7e9e0bd23ab36bc46 > > >> >> > > >> >> Comments? Is this something I should push into the Android repo for > > >>1.8? > > >> >> Can we hook something in the common JS so folks can call hide on > the > > >> splash > > >> >> screen plugin on Android and iOS? > > >> >> > > >> >> > > >> > Looks good, and it solves a problem that we've been having with the > > >>way > > >> we > > >> > do splashscreens. We may need to add exception handling for the > > >>plugin > > >> if > > >> > people do something stupid like use it with a CordovaWebView, but > > >>other > > >> > than that it looks good and is much easier to read than the current > > >>code. > > >> > Please push this into the Android repo for 1.8. Let me know if > > >>there's > > >> > problems merging it with the CordovaWebView branch. > > >> > > > >> > Joe > > >> > > > > >
