package dk.thoerup.ekllauncher; import android.app.Activity; import android.webkit.GeolocationPermissions.Callback; import android.webkit.WebChromeClient; import android.webkit.WebStorage.QuotaUpdater; import android.webkit.WebView; class EKLChromeClient extends WebChromeClient { private Activity activity; public EKLChromeClient(Activity activity) { this.activity = activity; } @Override public void onReachedMaxAppCacheSize(long spaceNeeded, long totalUsedQuota, QuotaUpdater quotaUpdater) { quotaUpdater.updateQuota(totalUsedQuota + 4096); } public void onProgressChanged(WebView view, int progress) { // Activities and WebViews measure progress with different scales. // The progress meter will automatically disappear when we reach 100% activity.setProgress(progress * 100); } @Override public void onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota, long estimatedSize, long totalUsedQuota, QuotaUpdater quotaUpdater) { quotaUpdater.updateQuota(estimatedSize); // altid giv tilladelse til større db quota } @Override public void onGeolocationPermissionsShowPrompt(String origin, Callback callback) { callback.invoke(origin, true, true); //altid give tilladelse til geo location } /* @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); } @Override public boolean onJsConfirm(WebView view, String url, String message, JsResult result) { Toast.makeText(EKLLauncherActivity.this, "Oh no! " + message, Toast.LENGTH_SHORT).show(); return super.onJsConfirm(view, url, message, result); } @Override public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, final JsPromptResult result) { String msg = message.trim().toLowerCase(); if (msg.equals("ekl identifikation mangler")) { if (device != null && device.equals("")==false) { result.confirm(device); timeoutHandler.sendEmptyMessageDelayed(1, 500); //efter pdaID er sendt til app'en skal vi genindlæse siden for at tvinge den til at hente data return true; } else { //Hvis vi ikke kunne aflæse device, spørg user via en custom Input Dialog //Dialogen kan kun tage imod tal & //når at vi får en confirm på den tvinger vi ud i en reload af siden AlertDialog.Builder alert = new AlertDialog.Builder(EKLLauncherActivity.this); //alert.setTitle("Title"); alert.setMessage(message); // Set an EditText view to get user input final EditText input = new EditText(EKLLauncherActivity.this); input.setInputType(InputType.TYPE_CLASS_NUMBER); alert.setView(input); alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { result.confirm(input.getText().toString()); timeoutHandler.sendEmptyMessageDelayed(1, 500); } }); alert.show(); return true; } } else { return super.onJsPrompt(view, url, message, defaultValue, result); } }*/ }