added getLocation/clear cache and print version buttons to menu

This commit is contained in:
leCradle
2013-03-08 15:27:33 +01:00
parent 478ff1cc0b
commit 3c039b838f
5 changed files with 55 additions and 3 deletions

View File

@ -5,12 +5,13 @@ import com.cradle.iitc_mobile.R;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.webkit.WebChromeClient;
import android.widget.Toast;
public class IITC_Mobile extends Activity {
@ -31,7 +32,6 @@ public class IITC_Mobile extends Activity {
else {
// load new iitc web view with ingress intel page
iitc_view= (IITC_WebView) findViewById(R.id.webview);
iitc_view.setWebChromeClient(new WebChromeClient());
iitc_view.loadUrl("https://www.ingress.com/intel");
// listen to touches (think we need this)
@ -95,6 +95,27 @@ public class IITC_Mobile extends Activity {
case R.id.reload_button:
iitc_view.reload();
return true;
// print version number
case R.id.version_num:
PackageInfo pinfo;
try {
pinfo = getPackageManager().getPackageInfo(getPackageName(), 0);
Toast.makeText(this, "Build version: " + pinfo.versionName, Toast.LENGTH_SHORT).show();
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return true;
// clear cache
case R.id.cache_clear:
iitc_view.clearHistory();
iitc_view.clearFormData();
iitc_view.clearCache(true);
return true;
// clear cache
case R.id.locate:
iitc_view.loadUrl("javascript: window.map.locate({setView : true, maxZoom: 13});");
return true;
default:
return super.onOptionsItemSelected(item);
}

View File

@ -3,8 +3,10 @@ package com.cradle.iitc_mobile;
import android.annotation.SuppressLint;
import android.content.Context;
import android.util.AttributeSet;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.GeolocationPermissions;
@SuppressLint("SetJavaScriptEnabled")
public class IITC_WebView extends WebView {
@ -18,6 +20,16 @@ public class IITC_WebView extends WebView {
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setAllowFileAccess(true);
settings.setGeolocationEnabled(true);
// our webchromeclient should share geolocation with the iitc script
// allow access by default
this.setWebChromeClient(new WebChromeClient() {
@Override
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}
});
webclient = new IITC_WebViewClient();
this.setWebViewClient(webclient);