/** * Copyright 2010 Mark Wyszomierski */ package com.joelapenna.foursquared; import android.app.Activity; import android.graphics.Bitmap; import android.os.Bundle; import android.util.Log; import android.view.KeyEvent; import android.view.Window; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.LinearLayout; /** * @date August 2, 2010. * @author Mark Wyszomierski (markww@gmail.com). * */ public class WebViewActivity extends Activity { private static final String TAG = "WebViewActivity"; public static final String INTENT_EXTRA_URL = Foursquared.PACKAGE_NAME + ".WebViewActivity.INTENT_EXTRA_URL"; private WebView mWebView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); mWebView = new WebView(this); mWebView.setLayoutParams(new LinearLayout.LayoutParams( LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT)); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.setWebViewClient(new EmbeddedWebViewClient()); if (getIntent().getStringExtra(INTENT_EXTRA_URL) != null) { mWebView.loadUrl(getIntent().getStringExtra(INTENT_EXTRA_URL)); } else { Log.e(TAG, "Missing url in intent extras."); finish(); return; } setContentView(mWebView); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { mWebView.goBack(); return true; } return super.onKeyDown(keyCode, event); } private class EmbeddedWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); setProgressBarIndeterminateVisibility(true); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); setProgressBarIndeterminateVisibility(false); } } }