package io.myweb.examples;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import io.myweb.WebContext;
import io.myweb.LocalService;
import io.myweb.MyWebViewClient;
import io.myweb.Service;
public class MyWebActivity extends Activity implements LocalService.ConnectionListener<WebContext> {
LocalService.Connection<WebContext> myServiceConnection;
private WebView webView;
private MyWebViewClient myWebViewClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_web);
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setBuiltInZoomControls(false);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDatabaseEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setAllowContentAccess(true);
webView.getSettings().setAppCacheEnabled(true);
myServiceConnection = new LocalService.Connection<WebContext>(this, Service.class).withListener(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (myServiceConnection!= null) {
myServiceConnection.close();
myServiceConnection = null;
}
}
@Override
protected void onStart() {
super.onStart();
webView.resumeTimers();
}
@Override
protected void onStop() {
super.onStop();
webView.pauseTimers();
}
@Override
public void onServiceConnected(WebContext service) {
if (myWebViewClient == null) {
myWebViewClient = new MyWebViewClient(service, getPackageName());
}
webView.setWebViewClient(myWebViewClient);
webView.loadUrl(myWebViewClient.getRootUrl());
}
@Override
public void onServiceDisconnected(WebContext service) {
}
@Override
public void finish() {
webView.clearHistory();
webView.clearCache(true);
webView.loadUrl("about:blank");
super.finish();
}
}