From dbb127447fc61ff14fcec7df81101230af6d2700 Mon Sep 17 00:00:00 2001 From: Simon MacDonald Date: Thu, 10 Jan 2013 22:06:35 -0500 Subject: [PATCH] CB-2154: navigator.splashscreen.show() broken in Phonegap 2.2 and 2.3.0rc2 Fixed the splashscreen so it will show for a minimum of 3 seconds if the user has not called loadUrl with a timeout in their main activity. --- framework/src/org/apache/cordova/DroidGap.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/framework/src/org/apache/cordova/DroidGap.java b/framework/src/org/apache/cordova/DroidGap.java index ecff67ac..579ce8da 100755 --- a/framework/src/org/apache/cordova/DroidGap.java +++ b/framework/src/org/apache/cordova/DroidGap.java @@ -40,6 +40,7 @@ import android.graphics.Color; import android.media.AudioManager; import android.os.Bundle; import android.os.Handler; +import android.util.Log; import android.view.Display; import android.view.KeyEvent; import android.view.Menu; @@ -170,7 +171,7 @@ public class DroidGap extends Activity implements CordovaInterface { // Draw a splash screen using an image located in the drawable resource directory. // This is not the same as calling super.loadSplashscreen(url) protected int splashscreen = 0; - protected int splashscreenTime = 0; + protected int splashscreenTime = 3000; // LoadUrl timeout value in msec (default of 20 sec) protected int loadUrlTimeoutValue = 20000; @@ -1053,9 +1054,9 @@ public class DroidGap extends Activity implements CordovaInterface { } else { // If the splash dialog is showing don't try to show it again - if (this.splashDialog != null && !this.splashDialog.isShowing()) { - this.splashscreen = this.getIntegerProperty("splashscreen", 0); - this.showSplashScreen(this.splashscreenTime); + if (this.splashDialog == null || !this.splashDialog.isShowing()) { + this.splashscreen = this.getIntegerProperty("splashscreen", 0); + this.showSplashScreen(this.splashscreenTime); } } }