mirror of
https://github.com/apache/cordova-android.git
synced 2025-01-31 17:32:51 +08:00
Add delay so splash screen can be shown for a specific amount of time.
This commit is contained in:
parent
28ff6e1150
commit
4f1bc1401f
@ -29,7 +29,6 @@ import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
import android.webkit.GeolocationPermissions.Callback;
|
||||
import android.webkit.WebSettings.LayoutAlgorithm;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import com.phonegap.api.Plugin;
|
||||
import com.phonegap.api.PluginManager;
|
||||
@ -199,7 +198,6 @@ public class DroidGap extends PhonegapActivity {
|
||||
appView.addJavascriptInterface(this.mKey, "BackButton");
|
||||
|
||||
appView.addJavascriptInterface(this.callbackServer, "CallbackServer");
|
||||
appView.addJavascriptInterface(new SplashScreen(this), "SplashScreen");
|
||||
|
||||
this.addService("Geolocation", "com.phonegap.GeoBroker");
|
||||
this.addService("Device", "com.phonegap.Device");
|
||||
@ -225,13 +223,8 @@ public class DroidGap extends PhonegapActivity {
|
||||
// If spashscreen
|
||||
this.splashscreen = this.getProperty("splashscreen", 0);
|
||||
if (this.splashscreen != 0) {
|
||||
appView.setBackgroundColor(0);
|
||||
appView.setBackgroundResource(splashscreen);
|
||||
}
|
||||
|
||||
// If loadingDialog, then show the App loading dialog
|
||||
if (this.getProperty("loadingDialog", true)) {
|
||||
this.pluginManager.exec("Notification", "activityStart", null, "[\"Wait\",\"Loading Application...\"]", false);
|
||||
appView.setBackgroundColor(0);
|
||||
appView.setBackgroundResource(splashscreen);
|
||||
}
|
||||
|
||||
// If hideLoadingDialogOnPageLoad
|
||||
@ -273,14 +266,46 @@ public class DroidGap extends PhonegapActivity {
|
||||
// Initialize callback server
|
||||
this.callbackServer.init(url);
|
||||
|
||||
// If loadingDialog, then show the App loading dialog
|
||||
if (this.getProperty("loadingDialog", true)) {
|
||||
this.pluginManager.exec("Notification", "activityStart", null, "[\"Wait\",\"Loading Application...\"]", false);
|
||||
}
|
||||
|
||||
// Load URL on UI thread
|
||||
final DroidGap me = this;
|
||||
this.runOnUiThread(new Runnable() {
|
||||
public void run() {
|
||||
DroidGap.this.appView.loadUrl(url);
|
||||
me.appView.loadUrl(url);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the url into the webview after waiting for period of time.
|
||||
* This is used to display the splashscreen for certain amount of time.
|
||||
*
|
||||
* @param url
|
||||
* @param time The number of ms to wait before loading webview
|
||||
*/
|
||||
public void loadUrl(final String url, final int time) {
|
||||
System.out.println("loadUrl("+url+","+time+")");
|
||||
final DroidGap me = this;
|
||||
Runnable runnable = new Runnable() {
|
||||
public void run() {
|
||||
try {
|
||||
synchronized(this) {
|
||||
this.wait(time);
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
me.loadUrl(url);
|
||||
}
|
||||
};
|
||||
Thread thread = new Thread(runnable);
|
||||
thread.start();
|
||||
}
|
||||
|
||||
@Override
|
||||
/**
|
||||
* Called by the system when the device configuration changes while your activity is running.
|
||||
|
Loading…
Reference in New Issue
Block a user