Snaptube v4.40.0.4401610版本的 MD5 值为:ca2b95dcff63007195db02a6c93091b9

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


package com.duapps.ad.stats;

import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.text.TextUtils;
import android.widget.Toast;
import com.duapps.ad.DuClickCallback;
import com.mobvista.msdk.base.utils.CommonSDKUtil;
import com.sensorsdata.analytics.android.sdk.java_websocket.WebSocket;
import java.util.Iterator;
import java.util.List;
import org.apache.http.client.params.HttpClientParams;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpProtocolParams;
public abstract class d implements Handler.Callback {
    private static DefaultHttpClient d;
    protected Handler a;
    protected volatile boolean b;
    protected String c = "";
    private Context e;
    private Toast f;
    private boolean g;
    private DuClickCallback h;

    public d(Context context) {
        this.e = context;
        if (Looper.getMainLooper() == Looper.myLooper()) {
            this.a = new Handler(this);
        }
    }

    @Override
    public boolean handleMessage(Message message) {
        return false;
    }

    public void a(DuClickCallback duClickCallback) {
        this.h = duClickCallback;
    }

    public void a() {
        DuClickCallback duClickCallback = this.h;
        if (duClickCallback != null) {
            duClickCallback.onPreClick();
        }
    }

    public void b() {
        DuClickCallback duClickCallback = this.h;
        if (duClickCallback != null) {
            duClickCallback.onFinish();
        }
    }

    protected void a(final String str) {
        this.a.post(new Runnable() {
            @Override
            public void run() {
                if (d.this.f == null) {
                    d.this.f = Toast.makeText(d.this.e, str, 0);
                }
                d.this.f.setText(str);
                d.this.f.show();
            }
        });
    }

    public void b(e eVar) {
        if (com.duapps.ad.base.g.a()) {
            com.duapps.ad.base.g.c("BaseClickHandler", "Goto installed App: " + eVar.a());
        }
        g.b(this.e, eVar);
        com.duapps.ad.internal.utils.d.b(this.e, eVar.a());
    }

    public void c(e eVar) {
        a(false);
        if (com.duapps.ad.base.g.a()) {
            com.duapps.ad.base.g.c("BaseClickHandler", "No network.");
        }
        c();
    }

    public void c() {
        a("Network Error.");
        com.duapps.ad.base.g.c("BaseClickHandler", "Please check you network and try again.");
    }

    public void f(e eVar, String str) {
        if (com.duapps.ad.base.g.a()) {
            com.duapps.ad.base.g.c("BaseClickHandler", "An apk link.");
        }
        g(eVar, str);
    }

    public void g(e eVar, String str) {
        ResolveInfo resolveActivity;
        String str2;
        if (this.b) {
            com.duapps.ad.base.g.c("BaseClickHandler", "Has already report");
            return;
        }
        this.b = true;
        b.a(this.e, eVar, this.c);
        if (str == null) {
            if (com.duapps.ad.base.g.a()) {
                com.duapps.ad.base.g.c("BaseClickHandler", "startBrowser: url is null");
            }
            g.c(this.e, eVar);
            com.duapps.ad.base.g.c("BaseClickHandler", "Please check you network and try again.");
            return;
        }
        Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(str));
        intent.addFlags(268435456);
        PackageManager packageManager = this.e.getPackageManager();
        if (packageManager.resolveActivity(intent, 65536) == null) {
            if (com.duapps.ad.base.g.a()) {
                com.duapps.ad.base.g.c("BaseClickHandler", "Goto browser failed.");
            }
            a("No browser or Google Play installed");
            com.duapps.ad.base.g.c("BaseClickHandler", "No browser or Google Play installed");
            g.c(this.e, eVar);
            return;
        }
        com.duapps.ad.base.g.c("BaseClickHandler", "defaultInfo.activityInfo.packageName : " + resolveActivity.activityInfo.packageName);
        List<ResolveInfo> queryIntentActivities = packageManager.queryIntentActivities(intent, 65536);
        Iterator<String> it = com.duapps.ad.internal.utils.d.b(this.e).iterator();
        loop0: while (true) {
            if (!it.hasNext()) {
                str2 = null;
                break;
            }
            str2 = it.next();
            for (ResolveInfo resolveInfo : queryIntentActivities) {
                com.duapps.ad.base.g.c("BaseClickHandler", "for loop browser : " + str2 + ", actInfo.packageName : " + resolveInfo.activityInfo.packageName);
                if (str2.equals(resolveInfo.activityInfo.packageName)) {
                    break loop0;
                }
            }
        }
        if (str2 == null) {
            str2 = queryIntentActivities.get(0).activityInfo.packageName;
        }
        intent.setPackage(str2);
        if (com.duapps.ad.base.g.a()) {
            com.duapps.ad.base.g.c("BaseClickHandler", "Goto browser");
        }
        this.e.startActivity(intent);
        g.d(this.e, eVar);
        f();
    }

    private Uri a(e eVar, String str) {
        String a = eVar.a();
        Uri parse = Uri.parse(str);
        String queryParameter = parse.getQueryParameter("id");
        int indexOf = str.indexOf("id=");
        if (!TextUtils.isEmpty(queryParameter) || indexOf > 0) {
            if (!queryParameter.equals(a)) {
                parse = Uri.parse(str.replaceAll("(id=[^&]*)", "id=" + a));
                if (com.duapps.ad.base.g.a()) {
                    com.duapps.ad.base.g.c("BaseClickHandler", "Url contains & :" + (indexOf > 0) + ", direct url:" + parse.toString());
                    return parse;
                }
            }
        } else {
            StringBuilder sb = new StringBuilder(str);
            if (parse.getQueryParameterNames().size() <= 0) {
                sb.append("?").append("id=").append(a);
            } else {
                if (str.lastIndexOf("?") > 0) {
                    sb.append("id=").append(a);
                } else {
                    sb.append(str.lastIndexOf("&") > 0 ? "id=" : "&id=").append(a);
                }
            }
            parse = Uri.parse(sb.toString());
            if (com.duapps.ad.base.g.a()) {
                com.duapps.ad.base.g.c("BaseClickHandler", "Url contains & :" + (indexOf > 0) + ", direct url:" + sb.toString());
            }
        }
        return parse;
    }

    public void h(e eVar, String str) {
        if (this.b) {
            com.duapps.ad.base.g.c("BaseClickHandler", "Has already report");
            return;
        }
        this.b = true;
        b.a(this.e, eVar, this.c);
        Uri parse = Uri.parse(str);
        try {
            parse = a(eVar, str);
        } catch (Exception e) {
            StringBuilder sb = new StringBuilder();
            sb.append(e.getMessage());
            StackTraceElement[] stackTrace = e.getStackTrace();
            for (StackTraceElement stackTraceElement : stackTrace) {
                sb.append(",").append(stackTraceElement);
            }
            g.a(this.e, eVar, sb.toString());
        }
        b.a(this.e, eVar, str, parse.toString());
        Intent intent = new Intent("android.intent.action.VIEW", parse);
        intent.setFlags(268435456);
        intent.setPackage("com.android.vending");
        try {
            if (com.duapps.ad.base.g.a()) {
                com.duapps.ad.base.g.c("BaseClickHandler", "Goto Play");
            }
            this.e.startActivity(intent);
            g.e(this.e, eVar);
        } catch (Exception e2) {
            if (com.duapps.ad.base.g.a()) {
                com.duapps.ad.base.g.a("BaseClickHandler", "Goto Play failed:", e2);
            }
            this.b = false;
            g(eVar, str);
        }
    }

    public static boolean b(String str) {
        if (str == null || str.trim().length() == 0) {
            return false;
        }
        return str.startsWith("http://market.android.com") || str.startsWith("https://market.android.com") || str.startsWith("https://play.google.com") || str.startsWith("http://play.google.com") || str.startsWith(CommonSDKUtil.AppStoreUtils.PROTOCOL_MARKET);
    }

    public static synchronized DefaultHttpClient d() {
        DefaultHttpClient defaultHttpClient;
        synchronized (d.class) {
            if (d != null) {
                defaultHttpClient = d;
            } else {
                SchemeRegistry schemeRegistry = new SchemeRegistry();
                schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
                schemeRegistry.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), (int) WebSocket.DEFAULT_WSS_PORT));
                BasicHttpParams basicHttpParams = new BasicHttpParams();
                defaultHttpClient = new DefaultHttpClient(new ThreadSafeClientConnManager(basicHttpParams, schemeRegistry), basicHttpParams);
                HttpConnectionParams.setConnectionTimeout(defaultHttpClient.getParams(), 10000);
                HttpConnectionParams.setSoTimeout(defaultHttpClient.getParams(), 4000);
                defaultHttpClient.getParams().setIntParameter("http.protocol.max-redirects", 10);
                HttpClientParams.setCookiePolicy(defaultHttpClient.getParams(), "compatibility");
                HttpProtocolParams.setUserAgent(defaultHttpClient.getParams(), com.duapps.ad.base.h.b);
                defaultHttpClient.setHttpRequestRetryHandler(new DefaultHttpRequestRetryHandler(3, true));
                d = defaultHttpClient;
            }
        }
        return defaultHttpClient;
    }

    public synchronized boolean e() {
        return this.g;
    }

    public synchronized void a(boolean z) {
        this.g = z;
    }

    public synchronized void f() {
        this.g = false;
    }
}