速狼加速器 v1.3.05版本的 MD5 值为:16b5e8af5c3774d85c1aa8bd4f624d0b

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


package com.lzz.youtu.common;

import android.text.TextUtils;
import com.lzz.youtu.data.GsonUtil;
import com.lzz.youtu.data.LogUtils;
import com.lzz.youtu.pojo.Nodes;
import com.lzz.youtu.utils.Utils;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class ChooseConfig {
    static String CUR_SUPPORT_VERSION = "2.0";
    public String m_mid;
    public AccelerateMode m_mode;
    public AccelerateRang m_rang;
    public List<Nodes.NodeBean> m_destNodes = new LinkedList();
    public List<String> m_allowedApp = new LinkedList();
    public List<String> m_disallowedApp = new LinkedList();
    public int selDestNodeCnt = 3;
    public int selDirctConCnt = 1;
    public int selTraintNodeCnt = 4;
    public int retainDestNodeCnt = 2;
    public int retainConnectionsCnt = 3;
    public TestDomainConfig testDomainConfig = new TestDomainConfig();
    public int m_userId = 0;
    public boolean m_enableTrack = false;

    public void setVpnNodeConfigJson(String str, String str2) {
        ArrayList<String> arrayList;
        String value;
        if (TextUtils.isEmpty(str) || (arrayList = GsonUtil.getInstance().getjsonArrString(str, "config_list")) == null) {
            return;
        }
        String str3 = null;
        Iterator<String> it2 = arrayList.iterator();
        while (true) {
            if (!it2.hasNext()) {
                break;
            }
            String next = it2.next();
            String value2 = GsonUtil.getInstance().getValue(next, "version");
            if (TextUtils.isEmpty(value2)) {
                return;
            }
            if (value2.equals(CUR_SUPPORT_VERSION)) {
                str3 = GsonUtil.getInstance().getValue(next, "config");
                readTestDomainConfig(next);
                break;
            }
        }
        if (TextUtils.isEmpty(str3)) {
            return;
        }
        LogUtils.eLog(getClass().getName(), "setVpnNodeConfigJson: [nodeType]:" + str2 + "[config]:" + str);
        if (TextUtils.isEmpty(str3)) {
            value = GsonUtil.getInstance().getValue(str3, "0");
            if (TextUtils.isEmpty(value)) {
                return;
            }
        } else {
            value = GsonUtil.getInstance().getValue(str3, str2);
            if (TextUtils.isEmpty(value)) {
                value = GsonUtil.getInstance().getValue(str3, "0");
                if (TextUtils.isEmpty(value)) {
                    return;
                }
            }
        }
        this.selDestNodeCnt = Utils.string2Int(GsonUtil.getInstance().getValue(value, "sel_dest_node_cnt"), 3);
        this.selDirctConCnt = Utils.string2Int(GsonUtil.getInstance().getValue(value, "sel_direct_con_cnt"), 1);
        this.selTraintNodeCnt = Utils.string2Int(GsonUtil.getInstance().getValue(value, "sel_traint_node_cnt"), 4);
        this.retainDestNodeCnt = Utils.string2Int(GsonUtil.getInstance().getValue(value, "retain_dest_node_cnt"), 2);
        this.retainConnectionsCnt = Utils.string2Int(GsonUtil.getInstance().getValue(value, "retain_connections_cnt"), 3);
        LogUtils.eLog(getClass().getName(), "setVpnNodeConfigJson: [selDestNodeCnt]:" + this.selDestNodeCnt + "[selDirctConCnt]:" + this.selDirctConCnt + "[selTraintNodeCnt]:" + this.selTraintNodeCnt + "[retainDestNodeCnt]:" + this.retainDestNodeCnt + "[retainConnectionsCnt]:" + this.retainConnectionsCnt);
    }

    private void readTestDomainConfig(String str) {
        ArrayList<String> arrayList;
        if (TextUtils.isEmpty(GsonUtil.getInstance().getValue(str, "test_domain_config"))) {
            return;
        }
        String value = GsonUtil.getInstance().getValue(str, "domain");
        if (TextUtils.isEmpty(value) || (arrayList = GsonUtil.getInstance().getjsonArrString(str, "dns")) == null || arrayList.isEmpty()) {
            return;
        }
        this.testDomainConfig.setDomain(value);
        this.testDomainConfig.setDns(arrayList);
    }

    public class TestDomainConfig {
        public List<String> dns;
        public String domain = "www.zhenjierbashi.com";

        public TestDomainConfig() {
            LinkedList linkedList = new LinkedList();
            this.dns = linkedList;
            linkedList.add("8.8.8.8");
            this.dns.add("8.8.4.4");
        }

        void setDomain(String str) {
            if (TextUtils.isEmpty(str)) {
                return;
            }
            this.domain = str;
        }

        void setDns(List<String> list) {
            if (list == null || list.isEmpty()) {
                return;
            }
            this.dns.clear();
            this.dns.addAll(list);
        }
    }
}