秦华影视 v1.0.0版本的 MD5 值为:90520322e40df4849cf4989ab6339524

以下内容为反编译后的 WebViewHelper.java 源代码,内容仅作参考


package com.getmessage.module_base.web;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.net.http.SslError;
import android.util.Log;
import android.view.animation.DecelerateInterpolator;
import android.webkit.JsResult;
import android.webkit.SslErrorHandler;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Keep;
import androidx.core.app.NotificationCompat;
import com.getmessage.module_base.R;
import com.getmessage.module_base.app.BaseApplication;
import com.getmessage.module_base.web.WebViewHelper;
import com.tencent.bugly.crashreport.CrashReport;
import p.a.y.e.a.s.e.net.gt2;
import p.a.y.e.a.s.e.net.ot;
import p.a.y.e.a.s.e.net.p8;
import p.a.y.e.a.s.e.net.r5;
import p.a.y.e.a.s.e.net.w31;
import p.a.y.e.a.s.e.net.x01;

@Keep
public class WebViewHelper extends WebViewClient implements w31 {
    private static final String TAG = "WebViewHelper";
    private int currentProgress;
    private String failingUrl;
    private boolean isAnimStart = false;
    private boolean isNeedClearHistory = false;
    private d listener;
    private Context mContext;
    private ProgressBar mProgressBar;
    private WebView mWebView;
    private TextView tvTitle;

    public class a extends WebChromeClient {
        public final Activity lite_do;

        public a(Activity activity) {
            this.lite_do = activity;
        }

        public void lite_do(ValueCallback<Uri> valueCallback, String str, String str2) {
            WebCameraHelper.getInstance().mUploadMessage = valueCallback;
            WebCameraHelper.getInstance().showOptions(this.lite_do);
        }

        @Override
        public boolean onJsAlert(WebView webView, String str, String str2, JsResult jsResult) {
            return super.onJsAlert(webView, str, str2, jsResult);
        }

        @Override
        public void onProgressChanged(WebView webView, int i) {
            CrashReport.setJavascriptMonitor(webView, true);
            WebViewHelper webViewHelper = WebViewHelper.this;
            webViewHelper.currentProgress = webViewHelper.mProgressBar.getProgress();
            if (i < 100 || WebViewHelper.this.isAnimStart) {
                WebViewHelper.this.startProgressAnimation(i);
                return;
            }
            WebViewHelper.this.isAnimStart = true;
            WebViewHelper.this.mProgressBar.setProgress(i);
            WebViewHelper webViewHelper2 = WebViewHelper.this;
            webViewHelper2.startDismissAnimation(webViewHelper2.mProgressBar.getProgress());
        }

        @Override
        public void onReceivedIcon(WebView webView, Bitmap bitmap) {
            super.onReceivedIcon(webView, bitmap);
        }

        @Override
        public void onReceivedTitle(WebView webView, String str) {
            super.onReceivedTitle(webView, str);
            if (WebViewHelper.this.tvTitle != null) {
                WebViewHelper.this.tvTitle.setText(str);
            }
        }

        @Override
        public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> valueCallback, WebChromeClient.FileChooserParams fileChooserParams) {
            WebCameraHelper.getInstance().mUploadCallbackAboveL = valueCallback;
            WebCameraHelper.getInstance().showOptions(this.lite_do);
            return true;
        }
    }

    public class b implements ValueAnimator.AnimatorUpdateListener {
        public final int lite_static;

        public b(int i) {
            this.lite_static = i;
        }

        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            WebViewHelper.this.mProgressBar.setProgress((int) (((100 - this.lite_static) * valueAnimator.getAnimatedFraction()) + this.lite_static));
        }
    }

    public class c extends AnimatorListenerAdapter {
        public c() {
        }

        @Override
        public void onAnimationEnd(Animator animator) {
            WebViewHelper.this.mProgressBar.setProgress(0);
            WebViewHelper.this.mProgressBar.setVisibility(8);
            WebViewHelper.this.isAnimStart = false;
        }
    }

    public interface d {
        void c(WebView webView, int i, String str, String str2);

        void lite_continue();
    }

    public WebViewHelper(WebView webView, ProgressBar progressBar, TextView textView, Context context) {
        this.mWebView = webView;
        this.mProgressBar = progressBar;
        this.tvTitle = textView;
        this.mContext = context;
    }

    public static void lite_do() {
        if (WebCameraHelper.getInstance().mUploadCallbackAboveL != null) {
            WebCameraHelper.getInstance().mUploadCallbackAboveL.onReceiveValue(null);
            WebCameraHelper.getInstance().mUploadCallbackAboveL = null;
        }
        if (WebCameraHelper.getInstance().mUploadMessage != null) {
            WebCameraHelper.getInstance().mUploadMessage.onReceiveValue(null);
            WebCameraHelper.getInstance().mUploadMessage = null;
        }
    }

    public void lite_for(DialogInterface dialogInterface, int i) {
        this.mContext.startActivity(new Intent("android.intent.action.VIEW", Uri.parse("https://d.alipay.com")));
    }

    public void lite_new(String str, DialogInterface dialogInterface, int i) {
        try {
            Toast.makeText(this.mContext, gt2.lite_goto(BaseApplication.getInstance(), R.string.do_go_other_app_hint, new Object[0]), 0).show();
            Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(str));
            intent.setFlags(805306368);
            this.mContext.startActivity(intent);
        } catch (Exception e) {
            e.printStackTrace();
            p8.lite_default(gt2.lite_goto(BaseApplication.getInstance(), R.string.no_other_app, new Object[0]));
        }
    }

    public void startDismissAnimation(int i) {
        ObjectAnimator ofFloat = ObjectAnimator.ofFloat(this.mProgressBar, "alpha", 1.0f, 0.0f);
        ofFloat.setDuration(1500L);
        ofFloat.setInterpolator(new DecelerateInterpolator());
        ofFloat.addUpdateListener(new b(i));
        ofFloat.addListener(new c());
        ofFloat.start();
    }

    public void startProgressAnimation(int i) {
        ObjectAnimator ofInt = ObjectAnimator.ofInt(this.mProgressBar, NotificationCompat.CATEGORY_PROGRESS, this.currentProgress, i);
        ofInt.setDuration(300L);
        ofInt.setInterpolator(new DecelerateInterpolator());
        ofInt.start();
    }

    @Override
    public boolean canGoBack() {
        return this.mWebView.canGoBack();
    }

    @Override
    public void clearHistoryPage() {
        this.isNeedClearHistory = true;
    }

    @Override
    public void clearReceiveValue() {
        WebView webView = this.mWebView;
        if (webView != null) {
            webView.postDelayed(new Runnable() {
                @Override
                public final void run() {
                    WebViewHelper.lite_do();
                }
            }, 1000L);
        }
    }

    @Override
    public void clearWebViewCache() {
        WebView webView = this.mWebView;
        if (webView != null) {
            webView.clearCache(true);
        }
    }

    @Override
    public void doUpdateVisitedHistory(WebView webView, String str, boolean z) {
        Log.i(TAG, "doUpdateVisitedHistory: url:" + str + ",isLoad:" + z);
        if (this.isNeedClearHistory) {
            webView.clearHistory();
            this.isNeedClearHistory = false;
        }
    }

    @Override
    public String getUrl() {
        WebView webView = this.mWebView;
        return webView != null ? webView.getUrl() : "";
    }

    @Override
    public void goBack() {
        this.mWebView.goBack();
    }

    @Override
    public void goBackIfCan() {
        if (canGoBack()) {
            this.mWebView.goBack();
            if (this.mWebView.getOriginalUrl().contains("indexLoadError") && canGoBack()) {
                this.mWebView.goBack();
            }
        }
    }

    @Override
    public void initClient(Activity activity) {
        WebView.setWebContentsDebuggingEnabled(false);
        x01.lite_try(activity);
        this.mWebView.getSettings().setMixedContentMode(0);
        this.mWebView.getSettings().setJavaScriptEnabled(true);
        this.mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        this.mWebView.getSettings().setAllowFileAccessFromFileURLs(true);
        this.mWebView.getSettings().setCacheMode(-1);
        this.mWebView.getSettings().setDomStorageEnabled(true);
        this.mWebView.getSettings().setUseWideViewPort(true);
        this.mWebView.getSettings().setLoadWithOverviewMode(true);
        this.mWebView.getSettings().setBuiltInZoomControls(false);
        this.mWebView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
        this.mWebView.getSettings().setGeolocationEnabled(true);
        this.mWebView.getSettings().setAllowFileAccess(true);
        this.mWebView.getSettings().setBlockNetworkImage(true);
        this.mWebView.setWebViewClient(this);
        this.mWebView.setWebChromeClient(new a(activity));
    }

    @Override
    public void loadData(String str, String str2, String str3) {
        this.mWebView.loadData(str, str2, str3);
    }

    @Override
    public void loadUrl(String str) {
        this.mWebView.loadUrl(str);
    }

    @Override
    public void onActivityResult(int i, int i2, Intent intent) {
        WebCameraHelper.getInstance().onActivityResult(i, i2, intent);
    }

    @Override
    public void onPageFinished(WebView webView, String str) {
        super.onPageFinished(webView, str);
        d dVar = this.listener;
        if (dVar != null) {
            dVar.lite_continue();
        }
        this.mWebView.getSettings().setBlockNetworkImage(false);
        if (this.mWebView.getSettings().getLoadsImagesAutomatically()) {
            return;
        }
        this.mWebView.getSettings().setLoadsImagesAutomatically(true);
    }

    @Override
    public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
        this.mProgressBar.setVisibility(0);
        this.mProgressBar.setAlpha(1.0f);
        super.onPageStarted(webView, str, bitmap);
    }

    @Override
    public void onReceivedError(WebView webView, int i, String str, String str2) {
        super.onReceivedError(webView, i, str, str2);
    }

    @Override
    public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
        StringBuilder b2 = r5.b("onReceivedSslError sslError=");
        b2.append(sslError.toString());
        Log.e(TAG, b2.toString());
        webView.getSettings().setMixedContentMode(0);
        sslErrorHandler.proceed();
    }

    @Override
    public void refresh() {
        StringBuilder b2 = r5.b("refresh url:");
        b2.append(this.mWebView.getUrl());
        Log.i(TAG, b2.toString());
        WebView webView = this.mWebView;
        webView.loadUrl(webView.getUrl());
    }

    @Override
    public void release() {
    }

    @Override
    public void setListener(d dVar) {
        this.listener = dVar;
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView webView, final String str) {
        Log.e(TAG, "shouldOverrideUrlLoading: " + str);
        this.failingUrl = null;
        if (str.startsWith("weixin://wap/pay?")) {
            try {
                Intent intent = new Intent();
                intent.setAction("android.intent.action.VIEW");
                intent.setData(Uri.parse(str));
                this.mContext.startActivity(intent);
            } catch (Exception e) {
                e.printStackTrace();
                p8.lite_default(gt2.lite_goto(BaseApplication.getInstance(), R.string.failed_to_start_wechat, new Object[0]));
            }
            return true;
        }
        if (!str.startsWith("alipays:") && !str.startsWith("alipay")) {
            if (!str.startsWith(ot.lite_do)) {
                try {
                    new AlertDialog.Builder(this.mContext).setMessage(gt2.lite_goto(BaseApplication.getInstance(), R.string.whether_to_jump_to_other_applications, new Object[0])).setPositiveButton(gt2.lite_goto(BaseApplication.getInstance(), R.string.shi, new Object[0]), new DialogInterface.OnClickListener() {
                        @Override
                        public final void onClick(DialogInterface dialogInterface, int i) {
                            WebViewHelper.this.lite_new(str, dialogInterface, i);
                        }
                    }).setNegativeButton("取消", (DialogInterface.OnClickListener) null).show();
                } catch (Exception unused) {
                    p8.lite_default(gt2.lite_goto(BaseApplication.getInstance(), R.string.no_other_app, new Object[0]));
                }
                return true;
            }
            if (!str.startsWith(com.tencent.smtt.sdk.WebView.SCHEME_TEL)) {
                return false;
            }
            this.mContext.startActivity(new Intent("android.intent.action.VIEW", Uri.parse(str)));
            return true;
        }
        try {
            this.mContext.startActivity(new Intent("android.intent.action.VIEW", Uri.parse(str)));
        } catch (Exception unused2) {
            new AlertDialog.Builder(this.mContext).setMessage(gt2.lite_goto(BaseApplication.getInstance(), R.string.no_alipay_app, new Object[0])).setPositiveButton("立即安装", new DialogInterface.OnClickListener() {
                @Override
                public final void onClick(DialogInterface dialogInterface, int i) {
                    WebViewHelper.this.lite_for(dialogInterface, i);
                }
            }).setNegativeButton("取消", (DialogInterface.OnClickListener) null).show();
        }
        return true;
    }
}