package com.mbridge.msdk.foundation.webview; import android.content.Context; import android.graphics.Bitmap; import android.os.Handler; import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.webkit.JsPromptResult; import android.webkit.JsResult; import android.webkit.RenderProcessGoneDetail; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.LinearLayout; import com.mbridge.msdk.foundation.entity.CampaignEx; import com.mbridge.msdk.foundation.tools.ab; import com.mbridge.msdk.foundation.tools.af; import com.mbridge.msdk.foundation.tools.ak; import com.unity3d.services.core.di.ServiceProvider; import java.lang.reflect.Method; /* loaded from: classes4.dex */ public class BrowserView extends LinearLayout { private CampaignEx a; private String b; private a c; private WebView d; private ProgressBar e; private ToolBar f; public interface a { void a(); void a(WebView webView, int i, String str, String str2); void a(WebView webView, String str); void a(WebView webView, String str, Bitmap bitmap); boolean b(WebView webView, String str); void c(WebView webView, String str); } public void setListener(a aVar) { this.c = aVar; } public void setWebView(WebView webView) { this.d = webView; } public BrowserView(Context context, CampaignEx campaignEx) { super(context); this.a = campaignEx; init(); } public void init() { setOrientation(1); setGravity(17); ProgressBar progressBar = new ProgressBar(getContext()); this.e = progressBar; progressBar.setLayoutParams(new LinearLayout.LayoutParams(-1, 4)); try { if (this.d == null) { this.d = a(); } LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(-1, -1); layoutParams.weight = 1.0f; this.d.setLayoutParams(layoutParams); } catch (Throwable th) { af.b("BrowserView", "webview is error", th); } this.f = new ToolBar(getContext()); this.f.setLayoutParams(new LinearLayout.LayoutParams(-1, ak.a(getContext(), 40.0f))); this.f.setBackgroundColor(-1); addView(this.e); WebView webView = this.d; if (webView != null) { addView(webView); } addView(this.f); this.e.initResource(true); this.f.getItem(com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.BACKWARD).setEnabled(false); this.f.getItem(com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.FORWARD).setEnabled(false); this.f.setOnItemClickListener(new View.OnClickListener() { // from class: com.mbridge.msdk.foundation.webview.BrowserView.1 @Override // android.view.View.OnClickListener public final void onClick(View view) { if (BrowserView.this.d != null) { BrowserView.this.d.stopLoading(); } String str = (String) view.getTag(); boolean z = false; if (TextUtils.equals(str, com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.BACKWARD)) { BrowserView.this.f.getItem(com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.FORWARD).setEnabled(true); if (BrowserView.this.d != null && BrowserView.this.d.canGoBack()) { BrowserView.this.d.goBack(); } View item = BrowserView.this.f.getItem(com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.BACKWARD); if (BrowserView.this.d != null && BrowserView.this.d.canGoBack()) { z = true; } item.setEnabled(z); return; } if (TextUtils.equals(str, com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.FORWARD)) { BrowserView.this.f.getItem(com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.BACKWARD).setEnabled(true); if (BrowserView.this.d != null && BrowserView.this.d.canGoForward()) { BrowserView.this.d.goForward(); } View item2 = BrowserView.this.f.getItem(com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.FORWARD); if (BrowserView.this.d != null && BrowserView.this.d.canGoForward()) { z = true; } item2.setEnabled(z); return; } if (TextUtils.equals(str, com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.REFRESH)) { BrowserView.this.f.getItem(com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.BACKWARD).setEnabled(BrowserView.this.d != null && BrowserView.this.d.canGoBack()); View item3 = BrowserView.this.f.getItem(com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.FORWARD); if (BrowserView.this.d != null && BrowserView.this.d.canGoForward()) { z = true; } item3.setEnabled(z); if (BrowserView.this.d != null) { BrowserView.this.d.loadUrl(BrowserView.this.b); return; } return; } if (!TextUtils.equals(str, com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.EXITS) || BrowserView.this.c == null) { return; } BrowserView.this.c.a(); } }); } private WebView a() { WebChromeClient webChromeClient; WebView webView = new WebView(getContext()); try { WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); settings.setAppCacheEnabled(true); settings.setAppCacheMaxSize(ServiceProvider.HTTP_CACHE_DISK_SIZE); settings.setAllowFileAccess(true); settings.setBuiltInZoomControls(true); settings.setJavaScriptCanOpenWindowsAutomatically(true); settings.setDomStorageEnabled(true); settings.setSupportZoom(false); settings.setSavePassword(false); settings.setDatabaseEnabled(true); settings.setUseWideViewPort(true); settings.setLoadWithOverviewMode(true); settings.setRenderPriority(WebSettings.RenderPriority.HIGH); try { settings.setSafeBrowsingEnabled(false); } catch (Throwable th) { af.b("BrowserView", th.getMessage()); } settings.setMediaPlaybackRequiresUserGesture(false); settings.setAllowFileAccessFromFileURLs(false); settings.setAllowUniversalAccessFromFileURLs(false); try { settings.setMixedContentMode(0); } catch (Exception e) { af.b("BrowserView", e.getMessage()); } settings.setDatabaseEnabled(true); String path = getContext().getDir("database", 0).getPath(); settings.setDatabasePath(path); settings.setGeolocationEnabled(true); settings.setGeolocationDatabasePath(path); try { Method declaredMethod = WebSettings.class.getDeclaredMethod("setDisplayZoomControls", Boolean.TYPE); declaredMethod.setAccessible(true); declaredMethod.invoke(settings, Boolean.FALSE); } catch (Exception e2) { af.b("BrowserView", e2.getMessage()); } } catch (Throwable th2) { af.b("BrowserView", th2.getMessage()); } webView.setDownloadListener(new com.mbridge.msdk.foundation.same.g.a(this.a)); webView.setWebViewClient(new WebViewClient() { // from class: com.mbridge.msdk.foundation.webview.BrowserView.2 @Override // android.webkit.WebViewClient public final boolean shouldOverrideUrlLoading(WebView webView2, String str) { af.c("BrowserView", "js大跳! = " + str); BrowserView.this.f.getItem(com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.BACKWARD).setEnabled(true); BrowserView.this.f.getItem(com.mbridge.msdk.mbsignalcommon.commonwebview.ToolBar.FORWARD).setEnabled(false); if (BrowserView.this.c != null) { return BrowserView.this.c.b(webView2, str); } return false; } @Override // android.webkit.WebViewClient public final void onPageStarted(WebView webView2, String str, Bitmap bitmap) { af.c("BrowserView", "开始! = " + str); BrowserView.this.b = str; if (BrowserView.this.c != null) { BrowserView.this.c.a(webView2, str, bitmap); } BrowserView.this.e.setVisible(true); BrowserView.this.e.setProgressState(5); } @Override // android.webkit.WebViewClient public final void onPageFinished(WebView webView2, String str) { if (BrowserView.this.c != null) { BrowserView.this.c.c(webView2, str); } } @Override // android.webkit.WebViewClient public final void onLoadResource(WebView webView2, String str) { super.onLoadResource(webView2, str); af.c("BrowserView", "onLoadResource 开始! = " + str); if (BrowserView.this.c != null) { BrowserView.this.c.a(webView2, str); } } @Override // android.webkit.WebViewClient public final void onReceivedError(WebView webView2, int i, String str, String str2) { if (BrowserView.this.c != null) { BrowserView.this.c.a(webView2, i, str, str2); } } @Override // android.webkit.WebViewClient public final boolean onRenderProcessGone(WebView webView2, RenderProcessGoneDetail renderProcessGoneDetail) { if (webView2 != null) { try { ViewGroup viewGroup = (ViewGroup) webView2.getParent(); if (viewGroup != null) { viewGroup.removeView(webView2); } webView2.destroy(); } catch (Throwable th3) { af.b("BrowserView", th3.getMessage()); return true; } } if (BrowserView.this.c != null) { BrowserView.this.c.a(); } return true; } }); if (ab.s() <= 10) { webChromeClient = new WebChromeClient() { // from class: com.mbridge.msdk.foundation.webview.BrowserView.3 @Override // android.webkit.WebChromeClient public final boolean onJsAlert(WebView webView2, String str, String str2, JsResult jsResult) { return true; } @Override // android.webkit.WebChromeClient public final boolean onJsConfirm(WebView webView2, String str, String str2, JsResult jsResult) { return true; } @Override // android.webkit.WebChromeClient public final boolean onJsPrompt(WebView webView2, String str, String str2, String str3, JsPromptResult jsPromptResult) { return true; } @Override // android.webkit.WebChromeClient public final void onProgressChanged(WebView webView2, int i) { if (i == 100) { BrowserView.this.e.setProgressState(7); new Handler().postDelayed(new Runnable() { // from class: com.mbridge.msdk.foundation.webview.BrowserView.3.1 @Override // java.lang.Runnable public final void run() { BrowserView.this.e.setVisible(false); } }, 200L); } } }; } else { webChromeClient = new WebChromeClient() { // from class: com.mbridge.msdk.foundation.webview.BrowserView.4 @Override // android.webkit.WebChromeClient public final void onProgressChanged(WebView webView2, int i) { if (i == 100) { BrowserView.this.e.setProgressState(7); new Handler().postDelayed(new Runnable() { // from class: com.mbridge.msdk.foundation.webview.BrowserView.4.1 @Override // java.lang.Runnable public final void run() { BrowserView.this.e.setVisible(false); } }, 200L); } } }; } webView.setWebChromeClient(webChromeClient); return webView; } public BrowserView(Context context) { super(context); init(); } public BrowserView(Context context, AttributeSet attributeSet) { super(context, attributeSet); init(); } public void destroy() { WebView webView = this.d; if (webView != null) { webView.stopLoading(); this.d.setWebViewClient(null); this.d.destroy(); this.d = null; removeAllViews(); } } public void loadUrl(String str) { WebView webView = this.d; if (webView != null) { webView.loadUrl(str); } } }