OurPlay v5.5.9版本的 MD5 值为:d4e139798f4c2243a1145c8af5e21046

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


package com.excelliance.kxqp.gs.util.LDNetDiagnoUtil;

import android.content.Context;
import android.text.TextUtils;
import com.excelliance.kxqp.gs.util.LDNetDiagnoUtil.LDNetTraceRoute;
import com.excelliance.kxqp.gs.util.LDNetDiagnoUtil.d;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;

public class c extends a<String, String, String> implements LDNetTraceRoute.a, d.a {
    private static final BlockingQueue<Runnable> j = new LinkedBlockingQueue(2);
    private static final ThreadFactory k = new ThreadFactory() {

        private final AtomicInteger f11692a = new AtomicInteger(1);

        @Override
        public Thread newThread(Runnable runnable) {
            Thread thread = new Thread(runnable, "Trace #" + this.f11692a.getAndIncrement());
            thread.setPriority(1);
            return thread;
        }
    };
    private static ThreadPoolExecutor l = null;

    private String f11690a;
    private d d;
    private LDNetTraceRoute e;
    private b g;
    private Context i;
    private final StringBuilder c = new StringBuilder(256);
    private boolean h = true;
    private boolean f = false;

    private List<String> f11691b = new ArrayList();

    @Override
    public void h() {
    }

    public c(Context context, String str, b bVar) {
        this.i = context.getApplicationContext();
        this.f11690a = str;
        this.g = bVar;
        l = new ThreadPoolExecutor(4, 4, 10L, TimeUnit.SECONDS, j, k);
    }

    @Override
    public String a(String... strArr) {
        if (c()) {
            return null;
        }
        return f();
    }

    @Override
    public void a(String str) {
        if (c()) {
            return;
        }
        super.a((c) str);
        g();
    }

    @Override
    public void b(String... strArr) {
        if (c()) {
            return;
        }
        super.b((Object[]) strArr);
        if (this.g != null) {
            this.g.b(strArr[0]);
        }
    }

    @Override
    protected void b() {
        g();
    }

    public String f() {
        if (TextUtils.isEmpty(this.f11690a)) {
            return "";
        }
        this.f = true;
        d("\n开始ping...");
        this.d = new d(this, 10);
        this.d.a(this.f11690a);
        d("ping百度IP...");
        this.d.a("www.baidu.com");
        d("\n开始traceroute...");
        this.e = new LDNetTraceRoute();
        this.e.a(this);
        this.e.f11675b = this.h;
        this.e.a(this.f11690a);
        return this.c.toString();
    }

    public void g() {
        if (this.f) {
            if (this.d != null) {
                this.d = null;
            }
            if (this.e != null) {
                this.e = null;
            }
            a(true);
            if (l != null && !l.isShutdown()) {
                l.shutdown();
                l = null;
            }
            if (this.g != null) {
                this.g.a(this.c.toString());
            }
            this.f = false;
        }
    }

    public void b(boolean z) {
        this.h = z;
    }

    private void d(String str) {
        this.c.append(str + "\n");
        d(str + "\n");
    }

    @Override
    public void b(String str) {
        if (str == null) {
            return;
        }
        if (this.e != null && this.e.f11675b) {
            if (str.contains("ms") || str.contains("***")) {
                str = str + "\n";
            }
            this.c.append(str);
            d(str);
            return;
        }
        d(str);
    }

    @Override
    public void c(String str) {
        d(str);
    }

    @Override
    protected ThreadPoolExecutor d() {
        return l;
    }
}