2014-01-21 16:28:11 +01:00

56 lines
1.5 KiB
Java

package com.cradle.iitc_mobile;
import android.webkit.ConsoleMessage;
import android.webkit.GeolocationPermissions;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
/**
* Created by cradle on 12/21/13.
*/
public class IITC_WebChromeClient extends WebChromeClient {
private final IITC_Mobile mIitc;
public IITC_WebChromeClient(final IITC_Mobile iitc) {
mIitc = iitc;
}
/**
* our webchromeclient should share geolocation with the iitc script
*
* allow access by default
*/
@Override
public void onGeolocationPermissionsShowPrompt(final String origin, final GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}
/**
* display progress bar in activity
*/
@Override
public void onProgressChanged(final WebView view, final int newProgress) {
super.onProgressChanged(view, newProgress);
// maximum for newProgress is 100
// maximum for setProgress is 10,000
mIitc.setProgress(newProgress * 100);
}
/**
* remove splash screen if any JS error occurs
*/
@Override
public boolean onConsoleMessage(final ConsoleMessage message) {
if (message.messageLevel() == ConsoleMessage.MessageLevel.ERROR) {
mIitc.setLoadingState(false);
}
if (Log.log(message))
return true; // message was handled
return super.onConsoleMessage(message);
}
}