- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
114 lines
6.6 KiB
Java
114 lines
6.6 KiB
Java
package com.helpshift.migrator;
|
|
|
|
import android.content.Context;
|
|
import android.content.SharedPreferences;
|
|
import com.helpshift.concurrency.HSThreadingService;
|
|
import com.helpshift.log.HSLogger;
|
|
import com.helpshift.network.HSRequestData;
|
|
import com.helpshift.network.HTTPTransport;
|
|
import com.helpshift.network.NetworkConstants;
|
|
import com.helpshift.network.POSTNetwork;
|
|
import com.helpshift.platform.Device;
|
|
import com.helpshift.storage.HSPersistentStorage;
|
|
import com.helpshift.util.Utils;
|
|
import com.ironsource.ad;
|
|
import csdk.gluads.Consts;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.Locale;
|
|
import java.util.TimeZone;
|
|
import java.util.UUID;
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
import org.json.JSONArray;
|
|
import org.json.JSONObject;
|
|
|
|
/* loaded from: classes3.dex */
|
|
public class MigrationFailureLogProvider {
|
|
public static final AtomicBoolean inProgress = new AtomicBoolean(false);
|
|
public final Device device;
|
|
public final HSThreadingService hsThreadingService;
|
|
public final HTTPTransport httpTransport;
|
|
public final HSPersistentStorage persistentStorage;
|
|
public final SharedPreferences preferences;
|
|
|
|
public MigrationFailureLogProvider(Context context, HTTPTransport hTTPTransport, HSPersistentStorage hSPersistentStorage, Device device, HSThreadingService hSThreadingService) {
|
|
this.preferences = context.getSharedPreferences("__hs_migration_prefs", 0);
|
|
this.httpTransport = hTTPTransport;
|
|
this.persistentStorage = hSPersistentStorage;
|
|
this.device = device;
|
|
this.hsThreadingService = hSThreadingService;
|
|
}
|
|
|
|
public void sendMigrationFailureLogs() {
|
|
int i = this.preferences.getInt("migration_state", 0);
|
|
if (i == 1 || i == 0 || this.preferences.getBoolean("failure_logs_synced", false)) {
|
|
return;
|
|
}
|
|
this.hsThreadingService.getNetworkService().submit(new Runnable() { // from class: com.helpshift.migrator.MigrationFailureLogProvider.1
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
try {
|
|
try {
|
|
} catch (Exception e) {
|
|
HSLogger.e("MgrFailLog", "Migration failure logs synced failed", e);
|
|
}
|
|
if (!MigrationFailureLogProvider.inProgress.get()) {
|
|
MigrationFailureLogProvider.inProgress.set(true);
|
|
String string = MigrationFailureLogProvider.this.preferences.getString("failure_logs", "");
|
|
if (!Utils.isEmpty(string)) {
|
|
JSONObject jSONObject = new JSONObject(string);
|
|
JSONArray jSONArray = new JSONArray();
|
|
jSONArray.put(jSONObject);
|
|
String appName = MigrationFailureLogProvider.this.device.getAppName();
|
|
String appVersion = MigrationFailureLogProvider.this.device.getAppVersion();
|
|
ArrayList arrayList = new ArrayList();
|
|
arrayList.add(MigrationFailureLogProvider.this.jsonify("domain", MigrationFailureLogProvider.this.persistentStorage.getDomain() + Consts.STRING_PERIOD + MigrationFailureLogProvider.this.persistentStorage.getHost()));
|
|
MigrationFailureLogProvider migrationFailureLogProvider = MigrationFailureLogProvider.this;
|
|
arrayList.add(migrationFailureLogProvider.jsonify("dm", migrationFailureLogProvider.device.getDeviceModel()));
|
|
MigrationFailureLogProvider migrationFailureLogProvider2 = MigrationFailureLogProvider.this;
|
|
arrayList.add(migrationFailureLogProvider2.jsonify("did", migrationFailureLogProvider2.device.getDeviceId()));
|
|
MigrationFailureLogProvider migrationFailureLogProvider3 = MigrationFailureLogProvider.this;
|
|
arrayList.add(migrationFailureLogProvider3.jsonify(ad.y, migrationFailureLogProvider3.device.getOSVersion()));
|
|
if (!Utils.isEmpty(appName)) {
|
|
arrayList.add(MigrationFailureLogProvider.this.jsonify("an", appName));
|
|
}
|
|
if (!Utils.isEmpty(appVersion)) {
|
|
arrayList.add(MigrationFailureLogProvider.this.jsonify("av", appVersion));
|
|
}
|
|
JSONArray listToJSONArray = Utils.listToJSONArray(arrayList);
|
|
HashMap hashMap = new HashMap();
|
|
hashMap.put("id", UUID.randomUUID().toString());
|
|
hashMap.put(Consts.KEY_TAPJOY_USER_ID_VERSION, "1");
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss", Locale.ENGLISH);
|
|
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
|
|
hashMap.put("ctime", simpleDateFormat.format(new Date()));
|
|
hashMap.put("src", "sdkx.android.10.2.2");
|
|
hashMap.put("logs", jSONArray.toString());
|
|
hashMap.put(ad.s, listToJSONArray.toString());
|
|
hashMap.put("platform-id", MigrationFailureLogProvider.this.persistentStorage.getPlatformId());
|
|
int status = new POSTNetwork(MigrationFailureLogProvider.this.httpTransport, MigrationFailureLogProvider.this.buildLogsRoute()).makeRequest(new HSRequestData(NetworkConstants.buildHeaderMap(MigrationFailureLogProvider.this.device, MigrationFailureLogProvider.this.persistentStorage.getPlatformId()), hashMap)).getStatus();
|
|
if (status >= 200 && status < 300) {
|
|
MigrationFailureLogProvider.this.preferences.edit().putBoolean("failure_logs_synced", true).apply();
|
|
MigrationFailureLogProvider.this.preferences.edit().putString("failure_logs", "").commit();
|
|
}
|
|
MigrationFailureLogProvider.inProgress.set(false);
|
|
}
|
|
}
|
|
} finally {
|
|
MigrationFailureLogProvider.inProgress.set(false);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
public final String buildLogsRoute() {
|
|
return "https://api." + this.persistentStorage.getHost() + "/events/v1/" + this.persistentStorage.getDomain() + "/sdkx/crash-log";
|
|
}
|
|
|
|
public final JSONObject jsonify(String str, String str2) {
|
|
return new JSONObject().put(str, str2);
|
|
}
|
|
}
|