龙城战记 v1.0.1版本的 MD5 值为:00000931b93a3ccf40631848e86a593d

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


package com.yxkj.sdk.activity;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.webkit.CookieManager;
import android.webkit.JavascriptInterface;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import com.alipay.sdk.app.H5PayCallback;
import com.alipay.sdk.app.PayTask;
import com.alipay.sdk.cons.b;
import com.alipay.sdk.util.H5PayResultModel;
import com.yxkj.sdk.callback.YGameInitCallBack;
import com.yxkj.sdk.request.Api;
import com.yxkj.sdk.utils.ResouceUtils;
import com.yxkj.sdk.utils.YUtils;
import java.util.HashMap;
import java.util.Map;

public class SYPayActivity extends Activity {
    private ImageView ivClose;
    private WebView mWebView;

    @Override
    @SuppressLint({"SetJavaScriptEnabled", "AddJavascriptInterface"})
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try {
            Bundle extras = getIntent().getExtras();
            if (extras == null) {
                finish();
                return;
            }
            try {
                String url = extras.getString("url");
                setContentView(ResouceUtils.getLayout(this, "ys_activity_pay"));
                this.mWebView = (WebView) findViewById(ResouceUtils.getId(this, "ys_web_view"));
                this.ivClose = (ImageView) findViewById(ResouceUtils.getId(this, "ys_close"));
                this.ivClose.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        SYPayActivity.this.finish();
                    }
                });
                WebSettings settings = this.mWebView.getSettings();
                settings.setJavaScriptEnabled(true);
                this.mWebView.addJavascriptInterface(new JSInterface(), "jsObj");
                settings.setJavaScriptCanOpenWindowsAutomatically(true);
                CookieManager.getInstance().setAcceptCookie(true);
                if (Build.VERSION.SDK_INT >= 21) {
                    CookieManager.getInstance().setAcceptThirdPartyCookies(this.mWebView, true);
                }
                settings.setDomStorageEnabled(true);
                settings.setDatabaseEnabled(true);
                this.mWebView.setVerticalScrollbarOverlay(true);
                this.mWebView.setWebViewClient(new MyWebViewClient());
                this.mWebView.loadUrl(url);
            } catch (Exception e) {
                finish();
            }
        } catch (Exception e2) {
            finish();
        }
    }

    @Override
    public void onBackPressed() {
        if (this.mWebView.canGoBack()) {
            this.mWebView.goBack();
        } else {
            finish();
        }
    }

    @Override
    public void finish() {
        super.finish();
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }

    private class MyWebViewClient extends WebViewClient {
        private MyWebViewClient() {
        }

        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            System.out.println("证书错误");
        }

        @Override
        public boolean shouldOverrideUrlLoading(final WebView view, String url) {
            if (url.startsWith("weixin://wap/pay?")) {
                Intent intent = new Intent();
                intent.setAction("android.intent.action.VIEW");
                intent.setData(Uri.parse(url));
                SYPayActivity.this.startActivity(intent);
            } else if (url.startsWith("http") || url.startsWith(b.a)) {
                PayTask task = new PayTask(SYPayActivity.this);
                boolean isIntercepted = task.payInterceptorWithUrl(url, true, new H5PayCallback() {
                    @Override
                    public void onPayResult(H5PayResultModel result) {
                        final String url2 = result.getReturnUrl();
                        if (!TextUtils.isEmpty(url2)) {
                            SYPayActivity.this.runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    view.loadUrl(url2);
                                }
                            });
                        }
                    }
                });
                if (url.startsWith("https://wx.tenpay.com")) {
                    Map<String, String> params = new HashMap<>();
                    params.put("Referer", "http://gamesy1.com");
                    view.loadUrl(url, params);
                } else if (!isIntercepted) {
                    view.loadUrl(url);
                }
            }
            return true;
        }

        @Override
        @Nullable
        @RequiresApi(api = 21)
        public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
            if (request.getUrl().toString().equals("http://api.gamesy1.com/payresult")) {
                YUtils.yUtils.sendSuccuss(7, "支付宝支付成功");
            }
            if (request.getUrl().toString().equals("http://api.gamesy1.com/payresult2")) {
                YUtils.yUtils.sendSuccuss(6, "微信支付成功");
            }
            return super.shouldInterceptRequest(view, request);
        }

        @Override
        @Nullable
        public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
            if (url.equals("http://api.gamesy1.com/payresult")) {
                YUtils.yUtils.sendSuccuss(7, "支付宝支付成功");
            }
            if (url.equals("http://api.gamesy1.com/payresult2")) {
                YUtils.yUtils.sendSuccuss(6, "微信支付成功");
            }
            return super.shouldInterceptRequest(view, url);
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }

    public void payWx(String oprateNo) {
        Api.wxPay(this, oprateNo, new YGameInitCallBack() {
            @Override
            public void onSuccess() {
            }
        });
    }

    public class JSInterface {
        public JSInterface() {
        }

        @JavascriptInterface
        @SuppressLint({"JavascriptInterface"})
        public void wxPay(String operateNo) {
            Log.i("ta", operateNo);
            Api.wxPay(SYPayActivity.this, operateNo, new YGameInitCallBack() {
                @Override
                public void onSuccess() {
                }

                @Override
                public void error(String msg) {
                    super.error(msg);
                }
            });
            SYPayActivity.this.finish();
        }
    }
}