50度灰 v5.8.2版本的 MD5 值为:9fe3d350fdc75fa1a3ec45509fa0107e
以下内容为反编译后的 b.java 源代码,内容仅作参考
package c.e.a.b.b;
import android.os.Build;
import android.text.TextUtils;
import com.tencent.beacon.base.net.HttpMethod;
import com.tencent.beacon.base.net.f;
import com.tencent.beacon.base.net.g;
import java.util.LinkedHashMap;
import java.util.Map;
public class b {
private static volatile b f615a;
private static final Map<String, String> f616b = new LinkedHashMap();
private boolean f617c = false;
private boolean f618d = false;
public class a implements com.tencent.beacon.base.net.a.b<com.tencent.beacon.base.net.b> {
a() {
}
@Override
public void a(g gVar) {
}
@Override
public void a(com.tencent.beacon.base.net.b bVar) {
c.e.a.b.e.c.c("AttaReport", "net ret: " + bVar.toString(), new Object[0]);
}
}
public class RunnableC0015b implements Runnable {
final String f620a;
final String f621b;
final Throwable f622c;
final com.tencent.beacon.base.net.a.b s;
RunnableC0015b(String str, String str2, Throwable th, com.tencent.beacon.base.net.a.b bVar) {
this.f620a = str;
this.f621b = str2;
this.f622c = th;
this.s = bVar;
}
@Override
public void run() {
synchronized (b.this) {
LinkedHashMap linkedHashMap = new LinkedHashMap(b.f616b);
linkedHashMap.put("error_code", this.f620a);
linkedHashMap.put("error_msg", this.f621b);
linkedHashMap.put("error_stack_full", c.e.a.b.e.b.e(this.f622c));
linkedHashMap.put("_dc", String.valueOf(Math.random()));
f.o().a(com.tencent.beacon.base.net.a.d.b().f("https://h.trace.qq.com/kv").b("atta").c(linkedHashMap).a(HttpMethod.POST).d()).a(this.s);
c.e.a.b.e.c.n("[atta] upload a new error, errorCode: %s, message: %s, stack: %s", this.f620a, this.f621b, c.e.a.b.e.b.e(this.f622c));
}
}
}
private b() {
}
public static synchronized b f() {
b bVar;
synchronized (b.class) {
if (f615a == null) {
synchronized (b.class) {
if (f615a == null) {
f615a = new b();
}
}
}
bVar = f615a;
}
return bVar;
}
private synchronized void h() {
if (this.f617c) {
return;
}
Map<String, String> map = f616b;
map.put("attaid", "00400014144");
map.put("token", "6478159937");
map.put("error_code", "");
map.put("platform", "Android");
map.put("uin", c.e.a.b.c.c.q().j());
map.put("model", Build.BOARD + " " + Build.MODEL);
map.put("os", c.e.a.b.c.c.q().z());
map.put("error_msg", "");
map.put("error_stack_full", "");
map.put("app_version", c.e.a.b.c.a.a());
map.put("sdk_version", c.e.a.b.c.b.k().p());
map.put("product_id", c.e.a.b.c.b.k().m());
map.put("_dc", "");
this.f617c = true;
}
public synchronized void b(String str, String str2) {
c(str, str2, null);
}
public synchronized void c(String str, String str2, Throwable th) {
d(str, str2, th, new a());
}
public synchronized void d(String str, String str2, Throwable th, com.tencent.beacon.base.net.a.b<com.tencent.beacon.base.net.b> bVar) {
if (g()) {
if (!this.f617c) {
h();
}
if (TextUtils.isEmpty(str)) {
c.e.a.b.e.c.h("[atta] errorCode isn't valid value!", new Object[0]);
} else {
c.e.a.b.b.a.b().f(new RunnableC0015b(str, str2, th, bVar));
}
}
}
public void e(boolean z) {
this.f618d = z;
}
public boolean g() {
if (this.f618d) {
return true;
}
if (c.e.a.b.e.c.g()) {
return false;
}
String j = c.e.a.b.c.c.q().j();
return !TextUtils.isEmpty(j) && ((double) Math.abs(j.hashCode() % 10000)) < 100.0d;
}
}