- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
60 lines
2.7 KiB
Java
60 lines
2.7 KiB
Java
package com.helpshift.chat;
|
|
|
|
import android.content.Intent;
|
|
import android.net.Uri;
|
|
import android.webkit.WebResourceRequest;
|
|
import android.webkit.WebResourceResponse;
|
|
import android.webkit.WebView;
|
|
import android.webkit.WebViewClient;
|
|
import com.helpshift.cache.HelpshiftResourceCacheManager;
|
|
import com.helpshift.log.HSLogger;
|
|
import com.helpshift.util.ResourceCacheUtil;
|
|
|
|
/* loaded from: classes3.dex */
|
|
public class HSChatWebViewClient extends WebViewClient {
|
|
public final HelpshiftResourceCacheManager chatResourceCacheManager;
|
|
public final HSChatEventsHandler eventsHandler;
|
|
public boolean resourceCacheManagerInitialized;
|
|
|
|
public HSChatWebViewClient(HSChatEventsHandler hSChatEventsHandler, HelpshiftResourceCacheManager helpshiftResourceCacheManager) {
|
|
this.eventsHandler = hSChatEventsHandler;
|
|
this.chatResourceCacheManager = helpshiftResourceCacheManager;
|
|
}
|
|
|
|
@Override // android.webkit.WebViewClient
|
|
public boolean shouldOverrideUrlLoading(WebView webView, String str) {
|
|
this.eventsHandler.sendIntentToSystemApp(new Intent("android.intent.action.VIEW", Uri.parse(str)));
|
|
return true;
|
|
}
|
|
|
|
@Override // android.webkit.WebViewClient
|
|
public WebResourceResponse shouldInterceptRequest(WebView webView, WebResourceRequest webResourceRequest) {
|
|
if (!"GET".equalsIgnoreCase(webResourceRequest.getMethod())) {
|
|
return super.shouldInterceptRequest(webView, webResourceRequest);
|
|
}
|
|
initResourceCacheManager();
|
|
if (!this.chatResourceCacheManager.shouldCacheUrl(webResourceRequest.getUrl().getPath())) {
|
|
return super.shouldInterceptRequest(webView, webResourceRequest);
|
|
}
|
|
WebResourceResponse webResourceResponse = ResourceCacheUtil.getWebResourceResponse(this.chatResourceCacheManager, webResourceRequest);
|
|
if (webResourceResponse != null) {
|
|
return webResourceResponse;
|
|
}
|
|
WebResourceResponse shouldInterceptRequest = super.shouldInterceptRequest(webView, webResourceRequest);
|
|
if (shouldInterceptRequest != null) {
|
|
HSLogger.d("ChatWebClient", "Webview response received for request-" + webResourceRequest.toString() + " status:" + shouldInterceptRequest.getStatusCode() + " MimeType:" + shouldInterceptRequest.getMimeType());
|
|
} else {
|
|
HSLogger.e("ChatWebClient", "Webview response error for request-" + webResourceRequest.getUrl());
|
|
}
|
|
return shouldInterceptRequest;
|
|
}
|
|
|
|
public final void initResourceCacheManager() {
|
|
if (this.resourceCacheManagerInitialized) {
|
|
return;
|
|
}
|
|
this.chatResourceCacheManager.ensureCacheURLsListAvailable();
|
|
this.resourceCacheManagerInitialized = true;
|
|
}
|
|
}
|