Detect Cordova App First Start / Splashscreen?

Hi, I’m trying to optimize the launch experience for our app.

We have basically two different “loading” - screens:

  • The Cordova Splashscreen (but only on first load) which we want to hide once all data is ready + the layout has been completed
  • An “In-Website” Loading screen which fades the app in when the app is re-loaded using eg. a hot code push or for any other reason (eg. development)

Now, in the case of a “cold start”, eg. the app is launched on the mobile device and started with a splashscreen, cordova is getting ready and all cordova plugins getting fired up etc, I’d like to wait til everything is ready, my meteor-js-app has rendered, and then just fade out the splashscreen.

I’d prefer not having the fade-out of the “dom reload” splashscreen in the way at the same time then.

On the other hand I can’t just disable the default dom-animation because other reloads may happen for multiple reasons.

→ So I’m kind of stumped, I’m trying to find a simpler solution, but I can’t seem to escape the fact that I need to know if i’m in a cold-start or in a warm-start in order to not show the “regular” dom-loading-screen.

I don’t want to wait an extra second or so for the dom loading screen to end; And I’d prefer not having both animations (splashscreen fade-out & app fade-in) played at the same time.

I can hide the splashscreen via javascript, but I never know if it’s actually there or nor, I just call navigator.splashscreen.hide() in any case, whether there’s a splashscreen or not.

Does anybody have an idea how to separate the two occasions?

Happy about any and all ideas, thanks & keep on Meteor-Truckin’! :slight_smile: