Wolves Themes v1.0版本的 MD5 值为:cddc92b47f6b7c4a195c9625507eb51c
以下内容为反编译后的 ix.java 源代码,内容仅作参考
package com.flurry.sdk;
import android.content.Context;
import android.os.Build;
import com.flurry.sdk.iy;
import com.flurry.sdk.le;
import com.flurry.sdk.lg;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.zip.CRC32;
public class ix {
public static final String a = "com.flurry.sdk.ix";
private static ix c;
public String b;
private kp<List<iy>> d;
private List<iy> e;
private boolean f;
private ix() {
}
public static synchronized ix a() {
ix ixVar;
synchronized (ix.class) {
if (c == null) {
ix ixVar2 = new ix();
c = ixVar2;
Context context = kh.a().a;
ixVar2.d = new kp<>(context.getFileStreamPath(".yflurrypulselogging." + Long.toString(mi.i(kh.a().d), 16)), ".yflurrypulselogging.", 1, new lv<List<iy>>() {
@Override
public final ls<List<iy>> a(int i) {
return new lr(new iy.a());
}
});
ixVar2.f = ((Boolean) mc.a().a("UseHttps")).booleanValue();
String str = a;
kx.a(4, str, "initSettings, UseHttps = " + ixVar2.f);
ixVar2.e = ixVar2.d.a();
if (ixVar2.e == null) {
ixVar2.e = new ArrayList();
}
}
ixVar = c;
}
return ixVar;
}
public final synchronized void a(iw iwVar) {
try {
this.e.add(new iy(iwVar.d()));
kx.a(4, a, "Saving persistent Pulse logging data.");
this.d.a(this.e);
} catch (IOException unused) {
kx.a(6, a, "Error when generating pulse log report in addReport part");
}
}
public final synchronized void b() {
try {
a(d());
} catch (IOException unused) {
kx.a(6, a, "Report not send due to exception in generate data");
}
}
private synchronized void a(byte[] bArr) {
if (!jv.a().b) {
kx.a(5, a, "Reports were not sent! No Internet connection!");
return;
}
if (bArr != 0 && bArr.length != 0) {
String str = this.b != null ? this.b : "https://data.flurry.com/pcr.do";
String str2 = a;
kx.a(4, str2, "PulseLoggingManager: start upload data " + Arrays.toString(bArr) + " to " + str);
le leVar = new le();
leVar.g = str;
leVar.u = 100000;
leVar.h = lg.a.kPost;
leVar.k = true;
leVar.a("Content-Type", "application/octet-stream");
leVar.c = new lo();
leVar.b = bArr;
leVar.a = new le.a<byte[], Void>() {
@Override
public final void a(le<byte[], Void> leVar2, Void r5) {
int i = leVar2.q;
if (i <= 0) {
String str3 = ix.a;
kx.e(str3, "Server Error: " + i);
} else if (i < 200 || i >= 300) {
String str4 = ix.a;
kx.a(3, str4, "Pulse logging report sent unsuccessfully, HTTP response:" + i);
} else {
String str5 = ix.a;
kx.a(3, str5, "Pulse logging report sent successfully HTTP response:" + i);
ix.this.e.clear();
ix.this.d.a(ix.this.e);
}
}
};
kd.a().a((Object) this, (ix) leVar);
return;
}
kx.a(3, a, "No report need be sent");
}
private byte[] d() throws IOException {
IOException e;
try {
try {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream);
try {
if (this.e != null && !this.e.isEmpty()) {
dataOutputStream.writeShort(1);
dataOutputStream.writeShort(1);
dataOutputStream.writeLong(System.currentTimeMillis());
dataOutputStream.writeUTF(kh.a().d);
dataOutputStream.writeUTF(jy.a().g());
dataOutputStream.writeShort(ki.b());
dataOutputStream.writeShort(3);
jy.a();
dataOutputStream.writeUTF(jy.c());
dataOutputStream.writeBoolean(jp.a().e());
ArrayList<id> arrayList = new ArrayList();
for (Map.Entry entry : Collections.unmodifiableMap(jp.a().a).entrySet()) {
id idVar = new id();
idVar.a = ((jx) entry.getKey()).d;
if (((jx) entry.getKey()).e) {
idVar.b = new String((byte[]) entry.getValue());
} else {
idVar.b = mi.b((byte[]) entry.getValue());
}
arrayList.add(idVar);
}
dataOutputStream.writeShort(arrayList.size());
for (id idVar2 : arrayList) {
dataOutputStream.writeShort(idVar2.a);
byte[] bytes = idVar2.b.getBytes();
dataOutputStream.writeShort(bytes.length);
dataOutputStream.write(bytes);
}
dataOutputStream.writeShort(6);
dataOutputStream.writeShort(iq.b - 1);
dataOutputStream.writeUTF(Build.MODEL);
dataOutputStream.writeShort(iq.c - 1);
dataOutputStream.writeUTF(Build.BOARD);
dataOutputStream.writeShort(iq.d - 1);
dataOutputStream.writeUTF(Build.ID);
dataOutputStream.writeShort(iq.e - 1);
dataOutputStream.writeUTF(Build.DEVICE);
dataOutputStream.writeShort(iq.f - 1);
dataOutputStream.writeUTF(Build.PRODUCT);
dataOutputStream.writeShort(iq.g - 1);
dataOutputStream.writeUTF(Build.VERSION.RELEASE);
dataOutputStream.writeShort(this.e.size());
for (iy iyVar : this.e) {
dataOutputStream.write(iyVar.a);
}
byte[] byteArray = byteArrayOutputStream.toByteArray();
CRC32 crc32 = new CRC32();
crc32.update(byteArray);
dataOutputStream.writeInt((int) crc32.getValue());
byte[] byteArray2 = byteArrayOutputStream.toByteArray();
mi.a(dataOutputStream);
return byteArray2;
}
byte[] byteArray3 = byteArrayOutputStream.toByteArray();
mi.a(dataOutputStream);
return byteArray3;
} catch (IOException e2) {
e = e2;
kx.a(6, a, "Error when generating report", e);
throw e;
}
} catch (Throwable th) {
th = th;
mi.a((Closeable) null);
throw th;
}
} catch (IOException e3) {
e = e3;
} catch (Throwable th2) {
th = th2;
mi.a((Closeable) null);
throw th;
}
}
}