千寻位置 v2.8.9版本的 MD5 值为:c028423c956e81d2a162977350c0ec2e

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


package com.qx.wz.qxwz.biz.protocal;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.view.View;
import android.webkit.JavascriptInterface;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.fragment.app.FragmentActivity;
import butterknife.BindView;
import butterknife.OnClick;
import com.qx.wz.jsbridge.internal.BridgeUtil;
import com.qx.wz.qxwz.R;
import com.qx.wz.qxwz.bean.protocol.ProtocolRpc;
import com.qx.wz.qxwz.biz.common.dialog.CommonDialog2Fragment;
import com.qx.wz.qxwz.biz.protocal.SimpleIndexContract;
import com.qx.wz.qxwz.util.ProtocalDialogUtil;
import com.qx.wz.utils.ProcessUtil;
import com.sensorsdata.analytics.android.sdk.jsbridge.JSHookAop;
import java.util.HashMap;
import java.util.Map;

public class SimpleIndexView extends SimpleIndexContract.View {

    @BindView(R.id.iv_back)
    public ImageView mIvBack;

    @BindView(R.id.iv_close)
    public ImageView mIvClose;

    @BindView(R.id.iv_right)
    public ImageView mIvRight;

    @BindView(R.id.bottom)
    public LinearLayout mLl;
    SimpleIndexPresenter mPresenter;

    @BindView(R.id.tv_title)
    public TextView mTvTitle;

    @BindView(R.id.webview)
    WebView webView;
    private String URL = "https://m.qxwz.com/";
    private final String TAG = "xxxxx";

    @Override
    public void showProtocal() {
    }

    public SimpleIndexView(Context context, View view, SimpleIndexPresenter simpleIndexPresenter) {
        this.mContext = context;
        setView(view);
        this.mPresenter = simpleIndexPresenter;
    }

    @Override
    public void initViews() {
        this.mIvBack.setImageResource(R.mipmap.icon_close_big);
        this.mIvBack.setVisibility(4);
        this.mIvClose.setVisibility(4);
        this.mIvRight.setVisibility(4);
        this.webView.getSettings().setJavaScriptEnabled(true);
        this.webView.getSettings().setAllowFileAccess(true);
        this.webView.getSettings().setDomStorageEnabled(true);
        setUA();
        this.webView.setWebViewClient(new MyClient());
        this.webView.setWebChromeClient(new MyWebChromeClient());
        this.webView.addJavascriptInterface(new WebViewJsBridge(), "protocal");
        WebView webView = this.webView;
        String str = this.URL;
        webView.loadUrl(str);
        JSHookAop.loadUrl(webView, str);
    }

    public class WebViewJsBridge {
        public WebViewJsBridge() {
        }

        @JavascriptInterface
        public void show() {
            SimpleIndexView.this.protocalClick();
        }
    }

    class MyClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest webResourceRequest) {
            return false;
        }

        MyClient() {
        }

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

        @Override
        public void onPageFinished(WebView webView, String str) {
            super.onPageFinished(webView, str);
        }

        @Override
        public void doUpdateVisitedHistory(WebView webView, String str, boolean z) {
            super.doUpdateVisitedHistory(webView, str, z);
            if (SimpleIndexView.this.URL.equals(str)) {
                SimpleIndexView.this.showBack(false);
            } else {
                SimpleIndexView.this.showBack(true);
            }
        }
    }

    class MyWebChromeClient extends WebChromeClient {
        MyWebChromeClient() {
        }

        @Override
        public void onProgressChanged(WebView webView, int i) {
            super.onProgressChanged(webView, i);
        }

        @Override
        public void onReceivedTitle(WebView webView, String str) {
            SimpleIndexView.this.mTvTitle.setText(str);
        }
    }

    private void setUA() {
        HashMap hashMap = new HashMap();
        hashMap.put("qxwz-from", "embed3rd");
        hashMap.put("qxwz-user-mode", "view");
        StringBuilder sb = new StringBuilder(this.webView.getSettings().getUserAgentString());
        for (Map.Entry entry : hashMap.entrySet()) {
            sb.append(" ");
            sb.append((String) entry.getKey());
            sb.append(BridgeUtil.SPLIT_MARK);
            sb.append((String) entry.getValue());
        }
        this.webView.getSettings().setUserAgentString(sb.toString());
    }

    @Override
    public void onBackPressed() {
        backClick();
    }

    @OnClick({R.id.iv_back})
    public void backClick() {
        if (this.mIvBack.getVisibility() == 0) {
            showBack(false);
            WebView webView = this.webView;
            String str = this.URL;
            webView.loadUrl(str);
            JSHookAop.loadUrl(webView, str);
            return;
        }
        exitApp();
    }

    @OnClick({R.id.my})
    public void myClick() {
        protocalClick();
    }

    public void showBack(boolean z) {
        if (z) {
            this.mIvBack.setVisibility(0);
        } else {
            this.mIvBack.setVisibility(4);
        }
        showBottom(!z);
    }

    private void showBottom(boolean z) {
        if (!z) {
            this.mLl.setVisibility(8);
        } else {
            this.mLl.setVisibility(0);
        }
    }

    private void exitApp() {
        ((Activity) this.mContext).finish();
        ProcessUtil.killProcess();
    }

    public void protocalClick() {
        final ProtocolRpc localProtocal = ProtocalDialogUtil.INSTANCE.getLocalProtocal(this.mContext);
        ProtocalDialogUtil.INSTANCE.protocalDialog(localProtocal, this.mContext, new CommonDialog2Fragment.Builder.OnButtonClickListener() {
            @Override
            public void onCloseClick() {
            }

            @Override
            public void onPositiveClick() {
                SimpleIndexView.this.mPresenter.agree(false, 0);
            }

            @Override
            public void onNegativeClick() {
                SimpleIndexView.this.mPresenter.agree(true, localProtocal.getVersion());
            }
        }).show(((FragmentActivity) this.mContext).getSupportFragmentManager(), CommonDialog2Fragment.class.getName());
    }
}