Files
meteor/packages/launch-screen/mobile-launch-screen.js
Avital Oliver d2b8606afd Launch screen improvements
(1) Don't override `Template.body.rendered`. Instead we poll.
(2) Remove weak dependency on iron:router
2014-10-16 14:40:07 -07:00

42 lines
895 B
JavaScript

// XXX This currently implements loading screens for mobile apps only,
// but in the future can be expanded to all apps.
var holdCount = 0;
var alreadyHidden = false;
LaunchScreen = {
hold: function () {
if (! Meteor.isCordova) {
return {
release: function () { /* noop */ }
};
}
if (alreadyHidden) {
throw new Error("Can't show launch screen once it's hidden");
}
holdCount++;
var released = false;
var release = function () {
if (! Meteor.isCordova)
return;
if (! released) {
holdCount--;
if (holdCount === 0 &&
typeof navigator !== 'undefined' && navigator.splashscreen) {
alreadyHidden = true;
navigator.splashscreen.hide();
}
}
};
// Returns a launch screen handle with a release method
return {
release: release
};
}
};