龙城战记 v1.0.1版本的 MD5 值为:00000931b93a3ccf40631848e86a593d
以下内容为反编译后的 c.java 源代码,内容仅作参考
package com.qq.gdt.action.j;
import com.qq.gdt.action.d;
import com.qq.gdt.action.g.f;
import com.qq.gdt.action.k.e;
import com.qq.gdt.action.k.j;
import com.qq.gdt.action.k.k;
import com.qq.gdt.action.k.r;
import com.unisound.client.SpeechConstants;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class c {
public interface a {
void a(List<com.qq.gdt.action.c.a> list, int i, String str, int i2);
void a(List<com.qq.gdt.action.c.a> list, boolean z);
}
public static void a(List<com.qq.gdt.action.c.a> list, long j, String str, int i, String str2, int i2) {
try {
for (com.qq.gdt.action.c.a aVar : list) {
JSONObject jSONObject = new JSONObject();
jSONObject.putOpt("duration", Long.valueOf(System.currentTimeMillis() - j));
jSONObject.putOpt("httpStatus", Integer.valueOf(i2));
jSONObject.putOpt("actionType", aVar.b());
jSONObject.putOpt("actionTime", Long.valueOf(aVar.c()));
jSONObject.putOpt("uniqActionId", aVar.a());
jSONObject.putOpt("errorCode", Integer.valueOf(i));
jSONObject.putOpt("errorMsg", str2);
jSONObject.putOpt("requestCgi", str);
com.qq.gdt.action.h.a.a().a(i == 0 ? SpeechConstants.ASR_DOMAIN : SpeechConstants.ASR_SERVER_ADDR, jSONObject);
}
} catch (JSONException e) {
k.a("doDp3Report err", e);
}
}
public static void a(final List<com.qq.gdt.action.c.a> list, final a aVar) {
if (e.a(list)) {
k.b("No actions need to track.");
return;
}
final long currentTimeMillis = System.currentTimeMillis();
try {
JSONObject a2 = d.a();
JSONArray a3 = d.a(list);
JSONObject jSONObject = new JSONObject();
jSONObject.putOpt("info", a2);
jSONObject.putOpt("actions", a3);
k.a("TrackService#track\n加密前:\n" + j.a(jSONObject.toString()), new Object[0]);
String a4 = d.a(jSONObject);
k.a("加密后:\n" + a4, new Object[0]);
String a5 = d.a(a4);
JSONObject jSONObject2 = new JSONObject();
jSONObject2.putOpt("v", "0.1");
jSONObject2.putOpt("id", com.qq.gdt.action.e.a().d());
jSONObject2.putOpt("data", a4);
jSONObject2.putOpt("sign", a5);
k.a("正式请求:\n" + j.a(jSONObject2.toString()), new Object[0]);
final String optString = a2.optString("hash_imei", "");
final String str = a(optString) ? "https://a.gdt.qq.com/sdk" : "http://a.gdt.qq.com/sdk";
com.qq.gdt.action.g.b.d().a(str).a(jSONObject2.toString().getBytes()).b().a(new com.qq.gdt.action.g.a.c() {
@Override
public void a(int i, f fVar) {
c.a(list, currentTimeMillis, str, fVar.a(), fVar.b(), i);
if (i == 200 && fVar.a() == 0) {
if (aVar != null) {
aVar.a(list, !r.a(optString));
}
} else if (aVar != null) {
aVar.a(list, fVar.a(), fVar.b(), i);
}
}
@Override
public void b(Throwable th) {
int i;
k.a("onFail:" + th.getMessage(), new Object[0]);
if (th.getMessage() != null) {
int i2 = th.getMessage().contains("java.net.SocketTimeoutException") ? -2 : -1;
if (th.getMessage().contains("java.net.UnknownHostException")) {
i2 = -9;
}
if (th.getMessage().contains("java.net.ConnectException")) {
i2 = -4;
}
if (th.getMessage().contains("java.net.ProtocolException")) {
i2 = -5;
}
if (th.getMessage().contains("java.net.UnknownServiceException")) {
i2 = -6;
}
if (th.getMessage().equals("body null")) {
i2 = -7;
}
i = th.getMessage().contains("unexpected end of stream on com.android.okhttp") ? -8 : i2;
} else {
i = -1;
}
c.a(list, currentTimeMillis, str, i, th.getMessage(), -1);
if (aVar != null) {
aVar.a(list, i, th.getMessage(), -1);
}
}
});
} catch (Throwable th) {
k.c("处理行为数据请求时发生错误:" + th.getMessage());
if (aVar != null) {
aVar.a(list, -1, th.getMessage(), -1);
}
}
}
private static boolean a(String str) {
if (r.a(str)) {
return false;
}
return new ArrayList(Arrays.asList("a")).contains(Character.valueOf(str.charAt(str.length() - 1)));
}
}