--- android/EKLLauncher/src/dk/thoerup/ekllauncher/EKLLauncherActivity.java 2011/10/20 20:48:28 1619 +++ android/EKLLauncher/src/dk/thoerup/ekllauncher/EKLLauncherActivity.java 2011/10/20 20:59:48 1620 @@ -28,8 +28,13 @@ class CustomChromeClient extends WebChromeClient { @Override - public boolean onCreateWindow(WebView view, boolean dialog, - boolean userGesture, Message resultMsg) { + public void onReachedMaxAppCacheSize(long spaceNeeded, long totalUsedQuota, QuotaUpdater quotaUpdater) { + quotaUpdater.updateQuota(totalUsedQuota + 4096); + } + + + @Override + public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg) { msg("create window"); return super.onCreateWindow(view, dialog, userGesture, resultMsg); } @@ -134,17 +139,18 @@ WebSettings settings = web.getSettings(); - + settings.setJavaScriptEnabled(true); settings.setAppCacheEnabled(true); + settings.setAppCachePath( this.getCacheDir().toString() ); settings.setJavaScriptCanOpenWindowsAutomatically(false); settings.setGeolocationEnabled(true); - settings.setDomStorageEnabled(true); - settings.setDatabaseEnabled(true); + settings.setDomStorageEnabled(true); + settings.setDatabaseEnabled(true); settings.setDatabasePath( this.getCacheDir().toString() ); @@ -153,13 +159,8 @@ web.setWebChromeClient(new CustomChromeClient() ); web.setWebViewClient( new DummyWebViewClient() ); // skal have en webviewclient for at kunne styre ved forlad tur - NetworkInfo network = connMgr.getActiveNetworkInfo(); - if ( (telMgr.getSimState() == TelephonyManager.SIM_STATE_READY && telMgr.getDataState() == TelephonyManager.DATA_CONNECTED) || ( network != null && network.getType() == ConnectivityManager.TYPE_WIFI) ) { - web.loadUrl( URL ); - } else { - web.loadData("

afventer netværksforbindelse

", "text/html", "iso-8859-1"); - simHandler.sendEmptyMessageDelayed(0, 1500); - } + + simHandler.sendEmptyMessage(0); } @@ -198,17 +199,28 @@ }; + + SimHandler simHandler = new SimHandler(); - Handler simHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - super.handleMessage(msg); - if (telMgr.getSimState() == TelephonyManager.SIM_STATE_READY && telMgr.getDataState() == TelephonyManager.DATA_CONNECTED) { + class SimHandler extends Handler { + + public void testNetwork() { + NetworkInfo network = connMgr.getActiveNetworkInfo(); + + if ( (telMgr.getSimState() == TelephonyManager.SIM_STATE_READY && telMgr.getDataState() == TelephonyManager.DATA_CONNECTED) || ( network != null && network.getType() == ConnectivityManager.TYPE_WIFI) ) { web.loadUrl( URL ); } else { + web.loadData("

afventer netværksforbindelse

", "text/html", "iso-8859-1"); this.sendEmptyMessageDelayed(0, 1000); } } + + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + + testNetwork(); + } };