![JAR search and dependency download from the Maven repository](/logo.png)
com.sdklite.sphere.hybrid.HybridWebViewClient Maven / Gradle / Ivy
package com.sdklite.sphere.hybrid;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import android.net.Uri;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.sdklite.sphere.hybrid.WebRequestInterceptorService;
import com.sdklite.sphere.logging.Logger;
import com.sdklite.sphere.logging.LoggerFactory;
/**
* The hybrid web view client
*
* @author johnsonlee
* @since 1.0.0
*/
public class HybridWebViewClient extends WebViewClient {
static final Logger logger = LoggerFactory.getLogger("HybridWebViewClient");
private final Map headers = new HashMap();
private WebRequestInterceptorService service;
public HybridWebViewClient(final HybridWebView view) {
final WebSettings settings = view.getSettings();
final Locale locale = Locale.getDefault();
this.headers.put("User-Agent", settings.getUserAgentString());
this.headers.put("Accept-Language", locale.getLanguage());
this.service = WebRequestInterceptorService.getInstance();
}
@Override
public void onLoadResource(final WebView view, final String url) {
logger.trace("Loading %s", url);
}
@Override
public WebResourceResponse shouldInterceptRequest(final WebView view, final String url) {
return this.service.intercept(view, Uri.parse(url), this.headers);
}
@Override
public void onReceivedError(final WebView view, final int errorCode, final String description, final String failingUrl) {
logger.error("Load %s error: %s", failingUrl, description);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy