package com.bocai;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.*;
import android.widget.ProgressBar;
import android.widget.TextView;
public class WebViewActivity extends Activity implements HomeActivity.ToolbarItemSource {
public static final String URL = "url";
final Handler handler;
final Runnable loadURL;
TextView loadingMsg;
ProgressBar progressBar;
View toolbarItems[];
String url;
WebView webView;
public WebViewActivity() {
handler = new Handler();
loadURL = new Runnable() {
public void run() {
if (webView == null) {
return;
} else {
WebView webview = webView;
webview.loadUrl(url);
return;
}
}
};
}
public View[] getToolbarItems() {
return null;
}
void initWithURL(String paramString) {
this.url = paramString;
handler.post(loadURL);
}
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.webview);
progressBar = (ProgressBar) findViewById(R.id.progress);
loadingMsg = (TextView) findViewById(R.id.loading_msg);
webView = (WebView) findViewById(R.id.webview);
webView.setVerticalScrollbarOverlay(true);
webView.getSettings().setJavaScriptEnabled(true);
WebViewClient webViewClient = new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
progressBar.setVisibility(8);
loadingMsg.setVisibility(8);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
progressBar.setVisibility(0);
loadingMsg.setText(url);
loadingMsg.setVisibility(0);
}
};
webView.setWebViewClient(webViewClient);
WebChromeClient webChromeClient = new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
progressBar.setProgress(newProgress);
}
};
webView.setWebChromeClient(webChromeClient);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
boolean flag;
if(keyCode == KeyEvent.KEYCODE_BACK){
if(webView != null && webView.canGoBack()){
webView.goBack();
flag = true;
}else{
flag = false;
}
}else{
flag = super.onKeyDown(keyCode, event);
}
return flag;
}
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
}
@Override
protected void onResume() {
super.onResume();
Bundle bundle = getIntent().getExtras();
if (bundle == null)
return;
String s = bundle.getString("url");
if (s == null) {
return;
} else {
initWithURL(s);
return;
}
}
}