Initial import of ADIF API reverse-engineering toolkit
This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import com.google.android.gms.tasks.Continuation;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.android.gms.tasks.Tasks;
|
||||
import com.google.firebase.FirebaseApp;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
import com.google.firebase.crashlytics.internal.CrashlyticsNativeComponent;
|
||||
import com.google.firebase.crashlytics.internal.CrashlyticsNativeComponentDeferredProxy;
|
||||
import com.google.firebase.crashlytics.internal.DevelopmentPlatformProvider;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.RemoteConfigDeferredProxy;
|
||||
import com.google.firebase.crashlytics.internal.common.AppData;
|
||||
import com.google.firebase.crashlytics.internal.common.BuildIdInfo;
|
||||
import com.google.firebase.crashlytics.internal.common.CommonUtils;
|
||||
import com.google.firebase.crashlytics.internal.common.CrashlyticsAppQualitySessionsSubscriber;
|
||||
import com.google.firebase.crashlytics.internal.common.CrashlyticsCore;
|
||||
import com.google.firebase.crashlytics.internal.common.DataCollectionArbiter;
|
||||
import com.google.firebase.crashlytics.internal.common.ExecutorUtils;
|
||||
import com.google.firebase.crashlytics.internal.common.IdManager;
|
||||
import com.google.firebase.crashlytics.internal.network.HttpRequestFactory;
|
||||
import com.google.firebase.crashlytics.internal.persistence.FileStore;
|
||||
import com.google.firebase.crashlytics.internal.settings.SettingsController;
|
||||
import com.google.firebase.inject.Deferred;
|
||||
import com.google.firebase.installations.FirebaseInstallationsApi;
|
||||
import com.google.firebase.remoteconfig.interop.FirebaseRemoteConfigInterop;
|
||||
import com.google.firebase.sessions.api.FirebaseSessionsDependencies;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class FirebaseCrashlytics {
|
||||
static final int APP_EXCEPTION_CALLBACK_TIMEOUT_MS = 500;
|
||||
static final String FIREBASE_CRASHLYTICS_ANALYTICS_ORIGIN = "clx";
|
||||
static final String LEGACY_CRASH_ANALYTICS_ORIGIN = "crash";
|
||||
final CrashlyticsCore core;
|
||||
|
||||
private FirebaseCrashlytics(CrashlyticsCore crashlyticsCore) {
|
||||
this.core = crashlyticsCore;
|
||||
}
|
||||
|
||||
public static FirebaseCrashlytics getInstance() {
|
||||
FirebaseCrashlytics firebaseCrashlytics = (FirebaseCrashlytics) FirebaseApp.getInstance().get(FirebaseCrashlytics.class);
|
||||
if (firebaseCrashlytics != null) {
|
||||
return firebaseCrashlytics;
|
||||
}
|
||||
throw new NullPointerException("FirebaseCrashlytics component is not present.");
|
||||
}
|
||||
|
||||
public static FirebaseCrashlytics init(FirebaseApp firebaseApp, FirebaseInstallationsApi firebaseInstallationsApi, Deferred<CrashlyticsNativeComponent> deferred, Deferred<AnalyticsConnector> deferred2, Deferred<FirebaseRemoteConfigInterop> deferred3) {
|
||||
Context applicationContext = firebaseApp.getApplicationContext();
|
||||
String packageName = applicationContext.getPackageName();
|
||||
Logger.getLogger().i("Initializing Firebase Crashlytics " + CrashlyticsCore.getVersion() + " for " + packageName);
|
||||
FileStore fileStore = new FileStore(applicationContext);
|
||||
DataCollectionArbiter dataCollectionArbiter = new DataCollectionArbiter(firebaseApp);
|
||||
IdManager idManager = new IdManager(applicationContext, packageName, firebaseInstallationsApi, dataCollectionArbiter);
|
||||
CrashlyticsNativeComponentDeferredProxy crashlyticsNativeComponentDeferredProxy = new CrashlyticsNativeComponentDeferredProxy(deferred);
|
||||
AnalyticsDeferredProxy analyticsDeferredProxy = new AnalyticsDeferredProxy(deferred2);
|
||||
ExecutorService buildSingleThreadExecutorService = ExecutorUtils.buildSingleThreadExecutorService("Crashlytics Exception Handler");
|
||||
CrashlyticsAppQualitySessionsSubscriber crashlyticsAppQualitySessionsSubscriber = new CrashlyticsAppQualitySessionsSubscriber(dataCollectionArbiter, fileStore);
|
||||
FirebaseSessionsDependencies.register(crashlyticsAppQualitySessionsSubscriber);
|
||||
final CrashlyticsCore crashlyticsCore = new CrashlyticsCore(firebaseApp, idManager, crashlyticsNativeComponentDeferredProxy, dataCollectionArbiter, analyticsDeferredProxy.getDeferredBreadcrumbSource(), analyticsDeferredProxy.getAnalyticsEventLogger(), fileStore, buildSingleThreadExecutorService, crashlyticsAppQualitySessionsSubscriber, new RemoteConfigDeferredProxy(deferred3));
|
||||
String applicationId = firebaseApp.getOptions().getApplicationId();
|
||||
String mappingFileId = CommonUtils.getMappingFileId(applicationContext);
|
||||
List<BuildIdInfo> buildIdInfo = CommonUtils.getBuildIdInfo(applicationContext);
|
||||
Logger.getLogger().d("Mapping file ID is: " + mappingFileId);
|
||||
for (BuildIdInfo buildIdInfo2 : buildIdInfo) {
|
||||
Logger.getLogger().d("Build id for " + buildIdInfo2.getLibraryName() + " on " + buildIdInfo2.getArch() + ": " + buildIdInfo2.getBuildId());
|
||||
}
|
||||
try {
|
||||
AppData create = AppData.create(applicationContext, idManager, applicationId, mappingFileId, buildIdInfo, new DevelopmentPlatformProvider(applicationContext));
|
||||
Logger.getLogger().v("Installer package name is: " + create.installerPackageName);
|
||||
ExecutorService buildSingleThreadExecutorService2 = ExecutorUtils.buildSingleThreadExecutorService("com.google.firebase.crashlytics.startup");
|
||||
final SettingsController create2 = SettingsController.create(applicationContext, applicationId, idManager, new HttpRequestFactory(), create.versionCode, create.versionName, fileStore, dataCollectionArbiter);
|
||||
create2.loadSettingsData(buildSingleThreadExecutorService2).continueWith(buildSingleThreadExecutorService2, new Continuation<Void, Object>() { // from class: com.google.firebase.crashlytics.FirebaseCrashlytics.1
|
||||
@Override // com.google.android.gms.tasks.Continuation
|
||||
public Object then(Task<Void> task) throws Exception {
|
||||
if (task.isSuccessful()) {
|
||||
return null;
|
||||
}
|
||||
Logger.getLogger().e("Error fetching settings.", task.getException());
|
||||
return null;
|
||||
}
|
||||
});
|
||||
final boolean onPreExecute = crashlyticsCore.onPreExecute(create, create2);
|
||||
Tasks.call(buildSingleThreadExecutorService2, new Callable<Void>() { // from class: com.google.firebase.crashlytics.FirebaseCrashlytics.2
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Void call() throws Exception {
|
||||
if (!onPreExecute) {
|
||||
return null;
|
||||
}
|
||||
crashlyticsCore.doBackgroundInitializationAsync(create2);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
return new FirebaseCrashlytics(crashlyticsCore);
|
||||
} catch (PackageManager.NameNotFoundException e4) {
|
||||
Logger.getLogger().e("Error retrieving app package info.", e4);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Task<Boolean> checkForUnsentReports() {
|
||||
return this.core.checkForUnsentReports();
|
||||
}
|
||||
|
||||
public void deleteUnsentReports() {
|
||||
this.core.deleteUnsentReports();
|
||||
}
|
||||
|
||||
public boolean didCrashOnPreviousExecution() {
|
||||
return this.core.didCrashOnPreviousExecution();
|
||||
}
|
||||
|
||||
public void log(String str) {
|
||||
this.core.log(str);
|
||||
}
|
||||
|
||||
public void recordException(Throwable th) {
|
||||
if (th == null) {
|
||||
Logger.getLogger().w("A null value was passed to recordException. Ignoring.");
|
||||
} else {
|
||||
this.core.logException(th);
|
||||
}
|
||||
}
|
||||
|
||||
public void sendUnsentReports() {
|
||||
this.core.sendUnsentReports();
|
||||
}
|
||||
|
||||
public void setCrashlyticsCollectionEnabled(boolean z3) {
|
||||
this.core.setCrashlyticsCollectionEnabled(Boolean.valueOf(z3));
|
||||
}
|
||||
|
||||
public void setCustomKey(String str, boolean z3) {
|
||||
this.core.setCustomKey(str, Boolean.toString(z3));
|
||||
}
|
||||
|
||||
public void setCustomKeys(CustomKeysAndValues customKeysAndValues) {
|
||||
this.core.setCustomKeys(customKeysAndValues.keysAndValues);
|
||||
}
|
||||
|
||||
public void setUserId(String str) {
|
||||
this.core.setUserId(str);
|
||||
}
|
||||
|
||||
public void setCrashlyticsCollectionEnabled(Boolean bool) {
|
||||
this.core.setCrashlyticsCollectionEnabled(bool);
|
||||
}
|
||||
|
||||
public void setCustomKey(String str, double d4) {
|
||||
this.core.setCustomKey(str, Double.toString(d4));
|
||||
}
|
||||
|
||||
public void setCustomKey(String str, float f2) {
|
||||
this.core.setCustomKey(str, Float.toString(f2));
|
||||
}
|
||||
|
||||
public void setCustomKey(String str, int i) {
|
||||
this.core.setCustomKey(str, Integer.toString(i));
|
||||
}
|
||||
|
||||
public void setCustomKey(String str, long j4) {
|
||||
this.core.setCustomKey(str, Long.toString(j4));
|
||||
}
|
||||
|
||||
public void setCustomKey(String str, String str2) {
|
||||
this.core.setCustomKey(str, str2);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user