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;
}
}