Heroes III HD v1.1.6版本的 MD5 值为:99ed52e2d6b85487933b8dc8c0440b36
以下内容为反编译后的 di.java 源代码,内容仅作参考
package com.flurry.sdk;
import android.content.Context;
import android.text.TextUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.WeakHashMap;
import obfuse.NPStringFog;
public class di {
private static final String a = di.class.getSimpleName();
private static di b;
private final Map<String, dg> c = new HashMap();
private final Map<Context, dg> d = new WeakHashMap();
private final Object e = new Object();
private dg f;
public static synchronized di a() {
di diVar;
synchronized (di.class) {
if (b == null) {
b = new di();
}
diVar = b;
}
return diVar;
}
private di() {
}
public synchronized int b() {
return this.d.size();
}
public dg c() {
dg dgVar;
synchronized (this.e) {
dgVar = this.f;
}
return dgVar;
}
public void a(dg dgVar) {
synchronized (this.e) {
this.f = dgVar;
}
}
public synchronized void a(Context context, String str) {
dg dgVar;
dl.a(context);
es.a().b();
dw.a().b();
dg dgVar2 = this.d.get(context);
if (dgVar2 != null) {
el.d(a, NPStringFog.decode("3D151E12070E094513020208000A184716060F0219040A41100C0606500E0E0015021D065450") + context + NPStringFog.decode("4E13021400155D") + dgVar2.g());
} else {
if (this.c.containsKey(str)) {
dgVar = this.c.get(str);
} else {
dgVar = new dg(str);
this.c.put(str, dgVar);
dgVar.a(context);
}
this.d.put(context, dgVar);
a(dgVar);
dgVar.b(context);
}
}
public synchronized void a(Context context) {
dg remove = this.d.remove(context);
if (remove == null) {
el.d(a, NPStringFog.decode("3D151E12070E0945110F1E030E1A410500520B1E09040A4D4716171D03040E0041090A064E160214000547031D1C500E0E0015021D065450") + context);
} else {
remove.c(context);
}
}
public synchronized void a(String str) {
if (!this.c.containsKey(str)) {
el.a(6, a, NPStringFog.decode("2B1E09040A411400011D19020F4E0814451C01044D080041130D174E0308121D08080B5203111D404E2C061C100B5004154E160616520F1C1F040F051E45160B031913011802015C"));
} else {
dg c = c();
if (c != null && TextUtils.equals(c.j(), str)) {
a((dg) null);
}
this.c.remove(str);
}
}
public synchronized void d() {
for (Map.Entry<Context, dg> entry : this.d.entrySet()) {
entry.getValue().c(entry.getKey());
}
this.d.clear();
for (dg dgVar : new ArrayList(this.c.values())) {
dgVar.c();
}
this.c.clear();
a((dg) null);
}
}