From b5c49c8bb1e830ba934c7fbceec9409b89ead4a9 Mon Sep 17 00:00:00 2001 From: Ben Murdoch Date: Wed, 23 Jun 2010 20:13:18 +0100 Subject: [PATCH] Add a splash screen to the webruntime. Bug: 2766920 Change-Id: Ie40627aa50e849b49177f79aa129242eb1d2f2a8 --- .../android/webruntime/WebRuntimeActivity.java | 17 ++++++++++++++++- core/res/res/layout/web_runtime.xml | 13 ++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/core/java/android/webruntime/WebRuntimeActivity.java b/core/java/android/webruntime/WebRuntimeActivity.java index 4c634966a9c3b..bda1a7ad80cd1 100644 --- a/core/java/android/webruntime/WebRuntimeActivity.java +++ b/core/java/android/webruntime/WebRuntimeActivity.java @@ -16,22 +16,25 @@ package android.webruntime; +import android.Manifest; import android.app.Activity; import android.content.Intent; import android.content.ComponentName; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; -import android.Manifest; +import android.content.res.Resources; import android.net.Uri; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; import android.view.Menu; +import android.view.View; import android.view.Window; import android.webkit.GeolocationPermissions; import android.webkit.WebChromeClient; import android.webkit.WebView; import android.webkit.WebViewClient; +import android.widget.ImageView; import android.widget.Toast; import com.android.internal.R; @@ -49,6 +52,7 @@ public class WebRuntimeActivity extends Activity private WebView mWebView; private URL mBaseUrl; + private ImageView mSplashScreen; /** Called when the activity is first created. */ @Override @@ -92,6 +96,9 @@ public class WebRuntimeActivity extends Activity getWindow().requestFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.web_runtime); mWebView = (WebView) findViewById(R.id.webview); + mSplashScreen = (ImageView) findViewById(R.id.splashscreen); + mSplashScreen.setImageResource( + getResources().getIdentifier("splash_screen", "drawable", getPackageName())); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebViewClient(new WebViewClient() { @Override @@ -113,6 +120,14 @@ public class WebRuntimeActivity extends Activity startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url))); return true; } + + @Override + public void onPageFinished(WebView view, String url) { + if (mSplashScreen.getVisibility() == View.VISIBLE) { + mSplashScreen.setVisibility(View.GONE); + mSplashScreen = null; + } + } }); // Use a custom WebChromeClient with geolocation permissions handling to always diff --git a/core/res/res/layout/web_runtime.xml b/core/res/res/layout/web_runtime.xml index 6cef8f3a2473b..4ec0964459568 100644 --- a/core/res/res/layout/web_runtime.xml +++ b/core/res/res/layout/web_runtime.xml @@ -14,16 +14,23 @@ limitations under the License. --> - - - + + + +