千寻位置 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());
}
}