jimu-decompiled/sources/com/tencent/wxop/stat/i.java
2025-05-13 19:24:51 +02:00

278 lines
11 KiB
Java

package com.tencent.wxop.stat;
import android.content.Context;
import com.tencent.wxop.stat.common.StatLogger;
import com.thoughtworks.xstream.XStream;
import com.ubt.jimu.base.util.FileUtil;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.zip.GZIPOutputStream;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
/* loaded from: classes.dex */
class i {
private static StatLogger d = com.tencent.wxop.stat.common.l.b();
private static i e = null;
private static Context f = null;
DefaultHttpClient a;
com.tencent.wxop.stat.common.e b;
StringBuilder c = new StringBuilder(FileUtil.ZIP_BUFFER_SIZE);
private long g;
private i(Context context) {
this.a = null;
this.b = null;
this.g = 0L;
try {
f = context.getApplicationContext();
this.g = System.currentTimeMillis() / 1000;
this.b = new com.tencent.wxop.stat.common.e();
if (StatConfig.isDebugEnable()) {
try {
Logger.getLogger("org.apache.http.wire").setLevel(Level.FINER);
Logger.getLogger("org.apache.http.headers").setLevel(Level.FINER);
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog");
System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "debug");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http", "debug");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.headers", "debug");
} catch (Throwable unused) {
}
}
BasicHttpParams basicHttpParams = new BasicHttpParams();
HttpConnectionParams.setStaleCheckingEnabled(basicHttpParams, false);
HttpConnectionParams.setConnectionTimeout(basicHttpParams, XStream.PRIORITY_VERY_HIGH);
HttpConnectionParams.setSoTimeout(basicHttpParams, XStream.PRIORITY_VERY_HIGH);
this.a = new DefaultHttpClient(basicHttpParams);
this.a.setKeepAliveStrategy(new j(this));
} catch (Throwable th) {
d.e(th);
}
}
static Context a() {
return f;
}
static void a(Context context) {
f = context.getApplicationContext();
}
private void a(JSONObject jSONObject) {
try {
String optString = jSONObject.optString("mid");
if (com.tencent.a.a.a.a.h.b(optString)) {
if (StatConfig.isDebugEnable()) {
d.i("update mid:" + optString);
}
com.tencent.a.a.a.a.g.a(f).a(optString);
}
if (!jSONObject.isNull("cfg")) {
StatConfig.a(f, jSONObject.getJSONObject("cfg"));
}
if (jSONObject.isNull("ncts")) {
return;
}
int i = jSONObject.getInt("ncts");
int currentTimeMillis = (int) (i - (System.currentTimeMillis() / 1000));
if (StatConfig.isDebugEnable()) {
d.i("server time:" + i + ", diff time:" + currentTimeMillis);
}
com.tencent.wxop.stat.common.l.x(f);
com.tencent.wxop.stat.common.l.a(f, currentTimeMillis);
} catch (Throwable th) {
d.w(th);
}
}
static i b(Context context) {
if (e == null) {
synchronized (i.class) {
if (e == null) {
e = new i(context);
}
}
}
return e;
}
void a(com.tencent.wxop.stat.event.e eVar, h hVar) {
b(Arrays.asList(eVar.g()), hVar);
}
void a(List<?> list, h hVar) {
Throwable th;
ByteArrayOutputStream byteArrayOutputStream;
HttpResponse execute;
HttpEntity entity;
int statusCode;
long contentLength;
if (list == null || list.isEmpty()) {
return;
}
int size = list.size();
list.get(0);
try {
this.c.delete(0, this.c.length());
this.c.append("[");
for (int i = 0; i < size; i++) {
this.c.append(list.get(i).toString());
if (i != size - 1) {
this.c.append(",");
}
}
this.c.append("]");
String sb = this.c.toString();
int length = sb.length();
String str = StatConfig.getStatReportUrl() + "/?index=" + this.g;
this.g++;
if (StatConfig.isDebugEnable()) {
d.i("[" + str + "]Send request(" + length + "bytes), content:" + sb);
}
HttpPost httpPost = new HttpPost(str);
httpPost.addHeader("Accept-Encoding", "gzip");
httpPost.setHeader("Connection", "Keep-Alive");
httpPost.removeHeaders("Cache-Control");
HttpHost a = a.a(f).a();
httpPost.addHeader("Content-Encoding", "rc4");
if (a == null) {
this.a.getParams().removeParameter("http.route.default-proxy");
} else {
if (StatConfig.isDebugEnable()) {
d.d("proxy:" + a.toHostString());
}
httpPost.addHeader("X-Content-Encoding", "rc4");
this.a.getParams().setParameter("http.route.default-proxy", a);
httpPost.addHeader("X-Online-Host", StatConfig.k);
httpPost.addHeader("Accept", "*/*");
httpPost.addHeader("Content-Type", "json");
}
byteArrayOutputStream = new ByteArrayOutputStream(length);
byte[] bytes = sb.getBytes("UTF-8");
int length2 = bytes.length;
if (length > StatConfig.o) {
httpPost.removeHeaders("Content-Encoding");
String str2 = "rc4,gzip";
httpPost.addHeader("Content-Encoding", str2);
if (a != null) {
httpPost.removeHeaders("X-Content-Encoding");
httpPost.addHeader("X-Content-Encoding", str2);
}
byteArrayOutputStream.write(new byte[4]);
GZIPOutputStream gZIPOutputStream = new GZIPOutputStream(byteArrayOutputStream);
gZIPOutputStream.write(bytes);
gZIPOutputStream.close();
bytes = byteArrayOutputStream.toByteArray();
ByteBuffer.wrap(bytes, 0, 4).putInt(length2);
if (StatConfig.isDebugEnable()) {
d.d("before Gzip:" + length2 + " bytes, after Gzip:" + bytes.length + " bytes");
}
}
httpPost.setEntity(new ByteArrayEntity(com.tencent.wxop.stat.common.f.a(bytes)));
execute = this.a.execute(httpPost);
entity = execute.getEntity();
statusCode = execute.getStatusLine().getStatusCode();
contentLength = entity.getContentLength();
if (StatConfig.isDebugEnable()) {
d.i("http recv response status code:" + statusCode + ", content length:" + contentLength);
}
} catch (Throwable th2) {
th = th2;
}
if (contentLength <= 0) {
d.e("Server response no data.");
if (hVar != null) {
hVar.b();
}
EntityUtils.toString(entity);
return;
}
if (contentLength > 0) {
InputStream content = entity.getContent();
DataInputStream dataInputStream = new DataInputStream(content);
byte[] bArr = new byte[(int) entity.getContentLength()];
dataInputStream.readFully(bArr);
content.close();
dataInputStream.close();
Header firstHeader = execute.getFirstHeader("Content-Encoding");
if (firstHeader != null) {
if (firstHeader.getValue().equalsIgnoreCase("gzip,rc4")) {
bArr = com.tencent.wxop.stat.common.f.b(com.tencent.wxop.stat.common.l.a(bArr));
} else if (firstHeader.getValue().equalsIgnoreCase("rc4,gzip")) {
bArr = com.tencent.wxop.stat.common.l.a(com.tencent.wxop.stat.common.f.b(bArr));
} else if (firstHeader.getValue().equalsIgnoreCase("gzip")) {
bArr = com.tencent.wxop.stat.common.l.a(bArr);
} else if (firstHeader.getValue().equalsIgnoreCase("rc4")) {
bArr = com.tencent.wxop.stat.common.f.b(bArr);
}
}
String str3 = new String(bArr, "UTF-8");
if (StatConfig.isDebugEnable()) {
d.i("http get response data:" + str3);
}
JSONObject jSONObject = new JSONObject(str3);
if (statusCode == 200) {
a(jSONObject);
if (hVar != null) {
if (jSONObject.optInt("ret") == 0) {
hVar.a();
} else {
d.error("response error data.");
hVar.b();
}
}
content.close();
} else {
d.error("Server response error code:" + statusCode + ", error:" + new String(bArr, "UTF-8"));
if (hVar != null) {
hVar.b();
}
content.close();
}
} else {
EntityUtils.toString(entity);
}
byteArrayOutputStream.close();
th = null;
if (th != null) {
d.error(th);
if (hVar != null) {
try {
hVar.b();
} catch (Throwable th3) {
d.e(th3);
}
}
if (th instanceof OutOfMemoryError) {
System.gc();
this.c = null;
this.c = new StringBuilder(2048);
}
a.a(f).d();
}
}
void b(List<?> list, h hVar) {
com.tencent.wxop.stat.common.e eVar = this.b;
if (eVar != null) {
eVar.a(new k(this, list, hVar));
}
}
}