Initial import of ADIF API reverse-engineering toolkit
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.android.gms.measurement.AppMeasurement;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
import com.google.firebase.annotations.DeferredApi;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger;
|
||||
import com.google.firebase.crashlytics.internal.analytics.BlockingAnalyticsEventLogger;
|
||||
import com.google.firebase.crashlytics.internal.analytics.BreadcrumbAnalyticsEventReceiver;
|
||||
import com.google.firebase.crashlytics.internal.analytics.CrashlyticsOriginAnalyticsEventLogger;
|
||||
import com.google.firebase.crashlytics.internal.analytics.UnavailableAnalyticsEventLogger;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbHandler;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbSource;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.DisabledBreadcrumbSource;
|
||||
import com.google.firebase.inject.Deferred;
|
||||
import com.google.firebase.inject.Provider;
|
||||
import com.google.firebase.messaging.ServiceStarter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnalyticsDeferredProxy {
|
||||
private final Deferred<AnalyticsConnector> analyticsConnectorDeferred;
|
||||
private volatile AnalyticsEventLogger analyticsEventLogger;
|
||||
private final List<BreadcrumbHandler> breadcrumbHandlerList;
|
||||
private volatile BreadcrumbSource breadcrumbSource;
|
||||
|
||||
public AnalyticsDeferredProxy(Deferred<AnalyticsConnector> deferred) {
|
||||
this(deferred, new DisabledBreadcrumbSource(), new UnavailableAnalyticsEventLogger());
|
||||
}
|
||||
|
||||
private void init() {
|
||||
this.analyticsConnectorDeferred.whenAvailable(new a(this));
|
||||
}
|
||||
|
||||
public /* synthetic */ void lambda$getAnalyticsEventLogger$1(String str, Bundle bundle) {
|
||||
this.analyticsEventLogger.logEvent(str, bundle);
|
||||
}
|
||||
|
||||
public /* synthetic */ void lambda$getDeferredBreadcrumbSource$0(BreadcrumbHandler breadcrumbHandler) {
|
||||
synchronized (this) {
|
||||
try {
|
||||
if (this.breadcrumbSource instanceof DisabledBreadcrumbSource) {
|
||||
this.breadcrumbHandlerList.add(breadcrumbHandler);
|
||||
}
|
||||
this.breadcrumbSource.registerBreadcrumbHandler(breadcrumbHandler);
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public /* synthetic */ void lambda$init$2(Provider provider) {
|
||||
Logger.getLogger().d("AnalyticsConnector now available.");
|
||||
AnalyticsConnector analyticsConnector = (AnalyticsConnector) provider.get();
|
||||
CrashlyticsOriginAnalyticsEventLogger crashlyticsOriginAnalyticsEventLogger = new CrashlyticsOriginAnalyticsEventLogger(analyticsConnector);
|
||||
CrashlyticsAnalyticsListener crashlyticsAnalyticsListener = new CrashlyticsAnalyticsListener();
|
||||
if (subscribeToAnalyticsEvents(analyticsConnector, crashlyticsAnalyticsListener) == null) {
|
||||
Logger.getLogger().w("Could not register Firebase Analytics listener; a listener is already registered.");
|
||||
return;
|
||||
}
|
||||
Logger.getLogger().d("Registered Firebase Analytics listener.");
|
||||
BreadcrumbAnalyticsEventReceiver breadcrumbAnalyticsEventReceiver = new BreadcrumbAnalyticsEventReceiver();
|
||||
BlockingAnalyticsEventLogger blockingAnalyticsEventLogger = new BlockingAnalyticsEventLogger(crashlyticsOriginAnalyticsEventLogger, ServiceStarter.ERROR_UNKNOWN, TimeUnit.MILLISECONDS);
|
||||
synchronized (this) {
|
||||
try {
|
||||
Iterator<BreadcrumbHandler> it = this.breadcrumbHandlerList.iterator();
|
||||
while (it.hasNext()) {
|
||||
breadcrumbAnalyticsEventReceiver.registerBreadcrumbHandler(it.next());
|
||||
}
|
||||
crashlyticsAnalyticsListener.setBreadcrumbEventReceiver(breadcrumbAnalyticsEventReceiver);
|
||||
crashlyticsAnalyticsListener.setCrashlyticsOriginEventReceiver(blockingAnalyticsEventLogger);
|
||||
this.breadcrumbSource = breadcrumbAnalyticsEventReceiver;
|
||||
this.analyticsEventLogger = blockingAnalyticsEventLogger;
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@DeferredApi
|
||||
private static AnalyticsConnector.AnalyticsConnectorHandle subscribeToAnalyticsEvents(AnalyticsConnector analyticsConnector, CrashlyticsAnalyticsListener crashlyticsAnalyticsListener) {
|
||||
AnalyticsConnector.AnalyticsConnectorHandle registerAnalyticsConnectorListener = analyticsConnector.registerAnalyticsConnectorListener("clx", crashlyticsAnalyticsListener);
|
||||
if (registerAnalyticsConnectorListener != null) {
|
||||
return registerAnalyticsConnectorListener;
|
||||
}
|
||||
Logger.getLogger().d("Could not register AnalyticsConnectorListener with Crashlytics origin.");
|
||||
AnalyticsConnector.AnalyticsConnectorHandle registerAnalyticsConnectorListener2 = analyticsConnector.registerAnalyticsConnectorListener(AppMeasurement.CRASH_ORIGIN, crashlyticsAnalyticsListener);
|
||||
if (registerAnalyticsConnectorListener2 != null) {
|
||||
Logger.getLogger().w("A new version of the Google Analytics for Firebase SDK is now available. For improved performance and compatibility with Crashlytics, please update to the latest version.");
|
||||
}
|
||||
return registerAnalyticsConnectorListener2;
|
||||
}
|
||||
|
||||
public AnalyticsEventLogger getAnalyticsEventLogger() {
|
||||
return new a(this);
|
||||
}
|
||||
|
||||
public BreadcrumbSource getDeferredBreadcrumbSource() {
|
||||
return new a(this);
|
||||
}
|
||||
|
||||
public AnalyticsDeferredProxy(Deferred<AnalyticsConnector> deferred, BreadcrumbSource breadcrumbSource, AnalyticsEventLogger analyticsEventLogger) {
|
||||
this.analyticsConnectorDeferred = deferred;
|
||||
this.breadcrumbSource = breadcrumbSource;
|
||||
this.breadcrumbHandlerList = new ArrayList();
|
||||
this.analyticsEventLogger = analyticsEventLogger;
|
||||
init();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class BuildConfig {
|
||||
public static final String BUILD_TYPE = "release";
|
||||
public static final boolean DEBUG = false;
|
||||
public static final String LIBRARY_PACKAGE_NAME = "com.google.firebase.crashlytics";
|
||||
public static final String VERSION_NAME = "18.6.0";
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.analytics.AnalyticsEventReceiver;
|
||||
import java.util.Locale;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
class CrashlyticsAnalyticsListener implements AnalyticsConnector.AnalyticsConnectorListener {
|
||||
static final String CRASHLYTICS_ORIGIN = "clx";
|
||||
static final String EVENT_NAME_KEY = "name";
|
||||
static final String EVENT_ORIGIN_KEY = "_o";
|
||||
static final String EVENT_PARAMS_KEY = "params";
|
||||
private AnalyticsEventReceiver breadcrumbEventReceiver;
|
||||
private AnalyticsEventReceiver crashlyticsOriginEventReceiver;
|
||||
|
||||
private static void notifyEventReceiver(AnalyticsEventReceiver analyticsEventReceiver, String str, Bundle bundle) {
|
||||
if (analyticsEventReceiver == null) {
|
||||
return;
|
||||
}
|
||||
analyticsEventReceiver.onEvent(str, bundle);
|
||||
}
|
||||
|
||||
private void notifyEventReceivers(String str, Bundle bundle) {
|
||||
notifyEventReceiver(CRASHLYTICS_ORIGIN.equals(bundle.getString(EVENT_ORIGIN_KEY)) ? this.crashlyticsOriginEventReceiver : this.breadcrumbEventReceiver, str, bundle);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.analytics.connector.AnalyticsConnector.AnalyticsConnectorListener
|
||||
public void onMessageTriggered(int i, Bundle bundle) {
|
||||
String string;
|
||||
Logger logger = Logger.getLogger();
|
||||
Locale locale = Locale.US;
|
||||
logger.v("Analytics listener received message. ID: " + i + ", Extras: " + bundle);
|
||||
if (bundle == null || (string = bundle.getString("name")) == null) {
|
||||
return;
|
||||
}
|
||||
Bundle bundle2 = bundle.getBundle(EVENT_PARAMS_KEY);
|
||||
if (bundle2 == null) {
|
||||
bundle2 = new Bundle();
|
||||
}
|
||||
notifyEventReceivers(string, bundle2);
|
||||
}
|
||||
|
||||
public void setBreadcrumbEventReceiver(AnalyticsEventReceiver analyticsEventReceiver) {
|
||||
this.breadcrumbEventReceiver = analyticsEventReceiver;
|
||||
}
|
||||
|
||||
public void setCrashlyticsOriginEventReceiver(AnalyticsEventReceiver analyticsEventReceiver) {
|
||||
this.crashlyticsOriginEventReceiver = analyticsEventReceiver;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
import com.google.firebase.FirebaseApp;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
import com.google.firebase.components.Component;
|
||||
import com.google.firebase.components.ComponentContainer;
|
||||
import com.google.firebase.components.ComponentRegistrar;
|
||||
import com.google.firebase.components.Dependency;
|
||||
import com.google.firebase.crashlytics.internal.CrashlyticsNativeComponent;
|
||||
import com.google.firebase.heartbeatinfo.b;
|
||||
import com.google.firebase.installations.FirebaseInstallationsApi;
|
||||
import com.google.firebase.platforminfo.LibraryVersionComponent;
|
||||
import com.google.firebase.remoteconfig.interop.FirebaseRemoteConfigInterop;
|
||||
import com.google.firebase.sessions.api.FirebaseSessionsDependencies;
|
||||
import com.google.firebase.sessions.api.SessionSubscriber;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsRegistrar implements ComponentRegistrar {
|
||||
private static final String LIBRARY_NAME = "fire-cls";
|
||||
|
||||
static {
|
||||
FirebaseSessionsDependencies.INSTANCE.addDependency(SessionSubscriber.Name.CRASHLYTICS);
|
||||
}
|
||||
|
||||
public FirebaseCrashlytics buildCrashlytics(ComponentContainer componentContainer) {
|
||||
return FirebaseCrashlytics.init((FirebaseApp) componentContainer.get(FirebaseApp.class), (FirebaseInstallationsApi) componentContainer.get(FirebaseInstallationsApi.class), componentContainer.getDeferred(CrashlyticsNativeComponent.class), componentContainer.getDeferred(AnalyticsConnector.class), componentContainer.getDeferred(FirebaseRemoteConfigInterop.class));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.components.ComponentRegistrar
|
||||
public List<Component<?>> getComponents() {
|
||||
return Arrays.asList(Component.builder(FirebaseCrashlytics.class).name(LIBRARY_NAME).add(Dependency.required((Class<?>) FirebaseApp.class)).add(Dependency.required((Class<?>) FirebaseInstallationsApi.class)).add(Dependency.deferred((Class<?>) CrashlyticsNativeComponent.class)).add(Dependency.deferred((Class<?>) AnalyticsConnector.class)).add(Dependency.deferred((Class<?>) FirebaseRemoteConfigInterop.class)).factory(new b(this, 2)).eagerInDefaultApp().build(), LibraryVersionComponent.create(LIBRARY_NAME, BuildConfig.VERSION_NAME));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CustomKeysAndValues {
|
||||
final Map<String, String> keysAndValues;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static class Builder {
|
||||
private Map<String, String> keysAndValues = new HashMap();
|
||||
|
||||
public CustomKeysAndValues build() {
|
||||
return new CustomKeysAndValues(this);
|
||||
}
|
||||
|
||||
public Builder putBoolean(String str, boolean z3) {
|
||||
this.keysAndValues.put(str, Boolean.toString(z3));
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder putDouble(String str, double d4) {
|
||||
this.keysAndValues.put(str, Double.toString(d4));
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder putFloat(String str, float f2) {
|
||||
this.keysAndValues.put(str, Float.toString(f2));
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder putInt(String str, int i) {
|
||||
this.keysAndValues.put(str, Integer.toString(i));
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder putLong(String str, long j4) {
|
||||
this.keysAndValues.put(str, Long.toString(j4));
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder putString(String str, String str2) {
|
||||
this.keysAndValues.put(str, str2);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public CustomKeysAndValues(Builder builder) {
|
||||
this.keysAndValues = builder.keysAndValues;
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
import com.google.firebase.Firebase;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000\"\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\u001a#\u0010\u0005\u001a\u00020\u0006*\u00020\u00012\u0017\u0010\u0007\u001a\u0013\u0012\u0004\u0012\u00020\t\u0012\u0004\u0012\u00020\u00060\b¢\u0006\u0002\b\n\"\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00028F¢\u0006\u0006\u001a\u0004\b\u0003\u0010\u0004¨\u0006\u000b"}, d2 = {"crashlytics", "Lcom/google/firebase/crashlytics/FirebaseCrashlytics;", "Lcom/google/firebase/Firebase;", "getCrashlytics", "(Lcom/google/firebase/Firebase;)Lcom/google/firebase/crashlytics/FirebaseCrashlytics;", "setCustomKeys", "", "init", "Lkotlin/Function1;", "Lcom/google/firebase/crashlytics/KeyValueBuilder;", "Lkotlin/ExtensionFunctionType;", "com.google.firebase-firebase-crashlytics"}, k = 2, mv = {1, 7, 1}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class FirebaseCrashlyticsKt {
|
||||
public static final FirebaseCrashlytics getCrashlytics(Firebase firebase) {
|
||||
Intrinsics.checkNotNullParameter(firebase, "<this>");
|
||||
FirebaseCrashlytics firebaseCrashlytics = FirebaseCrashlytics.getInstance();
|
||||
Intrinsics.checkNotNullExpressionValue(firebaseCrashlytics, "getInstance()");
|
||||
return firebaseCrashlytics;
|
||||
}
|
||||
|
||||
public static final void setCustomKeys(FirebaseCrashlytics firebaseCrashlytics, Function1<? super KeyValueBuilder, Unit> init) {
|
||||
Intrinsics.checkNotNullParameter(firebaseCrashlytics, "<this>");
|
||||
Intrinsics.checkNotNullParameter(init, "init");
|
||||
init.invoke(new KeyValueBuilder(firebaseCrashlytics));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
import androidx.annotation.Keep;
|
||||
import com.google.firebase.components.Component;
|
||||
import com.google.firebase.components.ComponentRegistrar;
|
||||
import java.util.List;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.collections.CollectionsKt;
|
||||
|
||||
@Keep
|
||||
@Metadata(d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0001\u0018\u0000 \u00062\u00020\u0001:\u0001\u0006B\u0005¢\u0006\u0002\u0010\u0002J\u0012\u0010\u0003\u001a\f\u0012\b\u0012\u0006\u0012\u0002\b\u00030\u00050\u0004H\u0016¨\u0006\u0007"}, d2 = {"Lcom/google/firebase/crashlytics/FirebaseCrashlyticsKtxRegistrar;", "Lcom/google/firebase/components/ComponentRegistrar;", "()V", "getComponents", "", "Lcom/google/firebase/components/Component;", "Companion", "com.google.firebase-firebase-crashlytics"}, k = 1, mv = {1, 7, 1}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class FirebaseCrashlyticsKtxRegistrar implements ComponentRegistrar {
|
||||
@Override // com.google.firebase.components.ComponentRegistrar
|
||||
public List<Component<?>> getComponents() {
|
||||
return CollectionsKt.emptyList();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u00002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u000b\n\u0002\u0010\u0006\n\u0002\u0010\u0007\n\u0002\u0010\b\n\u0002\u0010\t\n\u0000\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0016\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\tJ\u0016\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\nJ\u0016\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\u000bJ\u0016\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\fJ\u0016\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\rJ\u0016\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\u0007R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u000e"}, d2 = {"Lcom/google/firebase/crashlytics/KeyValueBuilder;", "", "crashlytics", "Lcom/google/firebase/crashlytics/FirebaseCrashlytics;", "(Lcom/google/firebase/crashlytics/FirebaseCrashlytics;)V", "key", "", "", "value", "", "", "", "", "", "com.google.firebase-firebase-crashlytics"}, k = 1, mv = {1, 7, 1}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class KeyValueBuilder {
|
||||
private final FirebaseCrashlytics crashlytics;
|
||||
|
||||
public KeyValueBuilder(FirebaseCrashlytics crashlytics) {
|
||||
Intrinsics.checkNotNullParameter(crashlytics, "crashlytics");
|
||||
this.crashlytics = crashlytics;
|
||||
}
|
||||
|
||||
public final void key(String key, boolean value) {
|
||||
Intrinsics.checkNotNullParameter(key, "key");
|
||||
this.crashlytics.setCustomKey(key, value);
|
||||
}
|
||||
|
||||
public final void key(String key, double value) {
|
||||
Intrinsics.checkNotNullParameter(key, "key");
|
||||
this.crashlytics.setCustomKey(key, value);
|
||||
}
|
||||
|
||||
public final void key(String key, float value) {
|
||||
Intrinsics.checkNotNullParameter(key, "key");
|
||||
this.crashlytics.setCustomKey(key, value);
|
||||
}
|
||||
|
||||
public final void key(String key, int value) {
|
||||
Intrinsics.checkNotNullParameter(key, "key");
|
||||
this.crashlytics.setCustomKey(key, value);
|
||||
}
|
||||
|
||||
public final void key(String key, long value) {
|
||||
Intrinsics.checkNotNullParameter(key, "key");
|
||||
this.crashlytics.setCustomKey(key, value);
|
||||
}
|
||||
|
||||
public final void key(String key, String value) {
|
||||
Intrinsics.checkNotNullParameter(key, "key");
|
||||
Intrinsics.checkNotNullParameter(value, "value");
|
||||
this.crashlytics.setCustomKey(key, value);
|
||||
}
|
||||
}
|
||||
290
apk_decompiled/sources/com/google/firebase/crashlytics/R.java
Normal file
290
apk_decompiled/sources/com/google/firebase/crashlytics/R.java
Normal file
@@ -0,0 +1,290 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class R {
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class attr {
|
||||
public static final int alpha = 0x7f030031;
|
||||
public static final int coordinatorLayoutStyle = 0x7f03016c;
|
||||
public static final int font = 0x7f03022d;
|
||||
public static final int fontProviderAuthority = 0x7f03022f;
|
||||
public static final int fontProviderCerts = 0x7f030230;
|
||||
public static final int fontProviderFetchStrategy = 0x7f030231;
|
||||
public static final int fontProviderFetchTimeout = 0x7f030232;
|
||||
public static final int fontProviderPackage = 0x7f030233;
|
||||
public static final int fontProviderQuery = 0x7f030234;
|
||||
public static final int fontStyle = 0x7f030236;
|
||||
public static final int fontVariationSettings = 0x7f030237;
|
||||
public static final int fontWeight = 0x7f030238;
|
||||
public static final int keylines = 0x7f0302b5;
|
||||
public static final int layout_anchor = 0x7f0302c6;
|
||||
public static final int layout_anchorGravity = 0x7f0302c7;
|
||||
public static final int layout_behavior = 0x7f0302c9;
|
||||
public static final int layout_dodgeInsetEdges = 0x7f0302fa;
|
||||
public static final int layout_insetEdge = 0x7f030305;
|
||||
public static final int layout_keyline = 0x7f030306;
|
||||
public static final int statusBarBackground = 0x7f030488;
|
||||
public static final int ttcIndex = 0x7f030559;
|
||||
|
||||
private attr() {
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class color {
|
||||
public static final int notification_action_color_filter = 0x7f050315;
|
||||
public static final int notification_icon_bg_color = 0x7f050316;
|
||||
public static final int ripple_material_light = 0x7f050322;
|
||||
public static final int secondary_text_default_material_light = 0x7f050324;
|
||||
|
||||
private color() {
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class dimen {
|
||||
public static final int compat_button_inset_horizontal_material = 0x7f06006d;
|
||||
public static final int compat_button_inset_vertical_material = 0x7f06006e;
|
||||
public static final int compat_button_padding_horizontal_material = 0x7f06006f;
|
||||
public static final int compat_button_padding_vertical_material = 0x7f060070;
|
||||
public static final int compat_control_corner_material = 0x7f060071;
|
||||
public static final int compat_notification_large_icon_max_height = 0x7f060072;
|
||||
public static final int compat_notification_large_icon_max_width = 0x7f060073;
|
||||
public static final int notification_action_icon_size = 0x7f060385;
|
||||
public static final int notification_action_text_size = 0x7f060386;
|
||||
public static final int notification_big_circle_margin = 0x7f060387;
|
||||
public static final int notification_content_margin_start = 0x7f060388;
|
||||
public static final int notification_large_icon_height = 0x7f06038d;
|
||||
public static final int notification_large_icon_width = 0x7f06038e;
|
||||
public static final int notification_main_column_padding_top = 0x7f06038f;
|
||||
public static final int notification_media_narrow_margin = 0x7f060391;
|
||||
public static final int notification_right_icon_size = 0x7f060393;
|
||||
public static final int notification_right_side_padding_top = 0x7f060394;
|
||||
public static final int notification_small_icon_background_padding = 0x7f060395;
|
||||
public static final int notification_small_icon_size_as_large = 0x7f060396;
|
||||
public static final int notification_subtext_size = 0x7f060397;
|
||||
public static final int notification_top_pad = 0x7f06039b;
|
||||
public static final int notification_top_pad_large_text = 0x7f06039c;
|
||||
|
||||
private dimen() {
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class drawable {
|
||||
public static final int notification_action_background = 0x7f070181;
|
||||
public static final int notification_bg = 0x7f070182;
|
||||
public static final int notification_bg_low = 0x7f070183;
|
||||
public static final int notification_bg_low_normal = 0x7f070184;
|
||||
public static final int notification_bg_low_pressed = 0x7f070185;
|
||||
public static final int notification_bg_normal = 0x7f070186;
|
||||
public static final int notification_bg_normal_pressed = 0x7f070187;
|
||||
public static final int notification_icon_background = 0x7f070188;
|
||||
public static final int notification_template_icon_bg = 0x7f07018a;
|
||||
public static final int notification_template_icon_low_bg = 0x7f07018b;
|
||||
public static final int notification_tile_bg = 0x7f07018c;
|
||||
public static final int notify_panel_notification_icon_bg = 0x7f07018d;
|
||||
|
||||
private drawable() {
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class id {
|
||||
public static final int accessibility_action_clickable_span = 0x7f090013;
|
||||
public static final int accessibility_custom_action_0 = 0x7f090014;
|
||||
public static final int accessibility_custom_action_1 = 0x7f090015;
|
||||
public static final int accessibility_custom_action_10 = 0x7f090016;
|
||||
public static final int accessibility_custom_action_11 = 0x7f090017;
|
||||
public static final int accessibility_custom_action_12 = 0x7f090018;
|
||||
public static final int accessibility_custom_action_13 = 0x7f090019;
|
||||
public static final int accessibility_custom_action_14 = 0x7f09001a;
|
||||
public static final int accessibility_custom_action_15 = 0x7f09001b;
|
||||
public static final int accessibility_custom_action_16 = 0x7f09001c;
|
||||
public static final int accessibility_custom_action_17 = 0x7f09001d;
|
||||
public static final int accessibility_custom_action_18 = 0x7f09001e;
|
||||
public static final int accessibility_custom_action_19 = 0x7f09001f;
|
||||
public static final int accessibility_custom_action_2 = 0x7f090020;
|
||||
public static final int accessibility_custom_action_20 = 0x7f090021;
|
||||
public static final int accessibility_custom_action_21 = 0x7f090022;
|
||||
public static final int accessibility_custom_action_22 = 0x7f090023;
|
||||
public static final int accessibility_custom_action_23 = 0x7f090024;
|
||||
public static final int accessibility_custom_action_24 = 0x7f090025;
|
||||
public static final int accessibility_custom_action_25 = 0x7f090026;
|
||||
public static final int accessibility_custom_action_26 = 0x7f090027;
|
||||
public static final int accessibility_custom_action_27 = 0x7f090028;
|
||||
public static final int accessibility_custom_action_28 = 0x7f090029;
|
||||
public static final int accessibility_custom_action_29 = 0x7f09002a;
|
||||
public static final int accessibility_custom_action_3 = 0x7f09002b;
|
||||
public static final int accessibility_custom_action_30 = 0x7f09002c;
|
||||
public static final int accessibility_custom_action_31 = 0x7f09002d;
|
||||
public static final int accessibility_custom_action_4 = 0x7f09002e;
|
||||
public static final int accessibility_custom_action_5 = 0x7f09002f;
|
||||
public static final int accessibility_custom_action_6 = 0x7f090030;
|
||||
public static final int accessibility_custom_action_7 = 0x7f090031;
|
||||
public static final int accessibility_custom_action_8 = 0x7f090032;
|
||||
public static final int accessibility_custom_action_9 = 0x7f090033;
|
||||
public static final int action_container = 0x7f090045;
|
||||
public static final int action_divider = 0x7f090048;
|
||||
public static final int action_image = 0x7f09004a;
|
||||
public static final int action_text = 0x7f090051;
|
||||
public static final int actions = 0x7f090052;
|
||||
public static final int async = 0x7f090071;
|
||||
public static final int blocking = 0x7f090082;
|
||||
public static final int bottom = 0x7f090083;
|
||||
public static final int chronometer = 0x7f0900a9;
|
||||
public static final int dialog_button = 0x7f09010b;
|
||||
public static final int end = 0x7f090133;
|
||||
public static final int forever = 0x7f090152;
|
||||
public static final int icon = 0x7f090195;
|
||||
public static final int icon_group = 0x7f090196;
|
||||
public static final int info = 0x7f0901a9;
|
||||
public static final int italic = 0x7f0901be;
|
||||
public static final int left = 0x7f0901e2;
|
||||
public static final int line1 = 0x7f0901e9;
|
||||
public static final int line3 = 0x7f0901ea;
|
||||
public static final int none = 0x7f090264;
|
||||
public static final int normal = 0x7f090265;
|
||||
public static final int notification_background = 0x7f090269;
|
||||
public static final int notification_main_column = 0x7f09026a;
|
||||
public static final int notification_main_column_container = 0x7f09026b;
|
||||
public static final int right = 0x7f0902cd;
|
||||
public static final int right_icon = 0x7f0902cf;
|
||||
public static final int right_side = 0x7f0902d0;
|
||||
public static final int start = 0x7f090322;
|
||||
public static final int tag_accessibility_actions = 0x7f09035c;
|
||||
public static final int tag_accessibility_clickable_spans = 0x7f09035d;
|
||||
public static final int tag_accessibility_heading = 0x7f09035e;
|
||||
public static final int tag_accessibility_pane_title = 0x7f09035f;
|
||||
public static final int tag_screen_reader_focusable = 0x7f090363;
|
||||
public static final int tag_transition_group = 0x7f090365;
|
||||
public static final int tag_unhandled_key_event_manager = 0x7f090366;
|
||||
public static final int tag_unhandled_key_listeners = 0x7f090367;
|
||||
public static final int text = 0x7f09036d;
|
||||
public static final int text2 = 0x7f09036e;
|
||||
public static final int time = 0x7f09038e;
|
||||
public static final int title = 0x7f090393;
|
||||
public static final int top = 0x7f0903ac;
|
||||
|
||||
private id() {
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class integer {
|
||||
public static final int google_play_services_version = 0x7f0a0009;
|
||||
public static final int status_bar_notification_info_maxnum = 0x7f0a0045;
|
||||
|
||||
private integer() {
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class layout {
|
||||
public static final int custom_dialog = 0x7f0c0026;
|
||||
public static final int notification_action = 0x7f0c00a8;
|
||||
public static final int notification_action_tombstone = 0x7f0c00a9;
|
||||
public static final int notification_template_custom_big = 0x7f0c00aa;
|
||||
public static final int notification_template_icon_group = 0x7f0c00ab;
|
||||
public static final int notification_template_part_chronometer = 0x7f0c00ac;
|
||||
public static final int notification_template_part_time = 0x7f0c00ad;
|
||||
|
||||
private layout() {
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class raw {
|
||||
public static final int firebase_common_keep = 0x7f120000;
|
||||
|
||||
private raw() {
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class string {
|
||||
public static final int common_google_play_services_unknown_issue = 0x7f1300bc;
|
||||
public static final int status_bar_notification_info_overflow = 0x7f13023b;
|
||||
|
||||
private string() {
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class style {
|
||||
public static final int TextAppearance_Compat_Notification = 0x7f1401fb;
|
||||
public static final int TextAppearance_Compat_Notification_Info = 0x7f1401fc;
|
||||
public static final int TextAppearance_Compat_Notification_Line2 = 0x7f1401fd;
|
||||
public static final int TextAppearance_Compat_Notification_Time = 0x7f1401fe;
|
||||
public static final int TextAppearance_Compat_Notification_Title = 0x7f1401ff;
|
||||
public static final int Widget_Compat_NotificationActionContainer = 0x7f1403a1;
|
||||
public static final int Widget_Compat_NotificationActionText = 0x7f1403a2;
|
||||
public static final int Widget_Support_CoordinatorLayout = 0x7f1404d7;
|
||||
|
||||
private style() {
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class styleable {
|
||||
public static final int ColorStateListItem_alpha = 0x00000003;
|
||||
public static final int ColorStateListItem_android_alpha = 0x00000001;
|
||||
public static final int ColorStateListItem_android_color = 0x00000000;
|
||||
public static final int ColorStateListItem_android_lStar = 0x00000002;
|
||||
public static final int ColorStateListItem_lStar = 0x00000004;
|
||||
public static final int CoordinatorLayout_Layout_android_layout_gravity = 0x00000000;
|
||||
public static final int CoordinatorLayout_Layout_layout_anchor = 0x00000001;
|
||||
public static final int CoordinatorLayout_Layout_layout_anchorGravity = 0x00000002;
|
||||
public static final int CoordinatorLayout_Layout_layout_behavior = 0x00000003;
|
||||
public static final int CoordinatorLayout_Layout_layout_dodgeInsetEdges = 0x00000004;
|
||||
public static final int CoordinatorLayout_Layout_layout_insetEdge = 0x00000005;
|
||||
public static final int CoordinatorLayout_Layout_layout_keyline = 0x00000006;
|
||||
public static final int CoordinatorLayout_keylines = 0x00000000;
|
||||
public static final int CoordinatorLayout_statusBarBackground = 0x00000001;
|
||||
public static final int FontFamilyFont_android_font = 0x00000000;
|
||||
public static final int FontFamilyFont_android_fontStyle = 0x00000002;
|
||||
public static final int FontFamilyFont_android_fontVariationSettings = 0x00000004;
|
||||
public static final int FontFamilyFont_android_fontWeight = 0x00000001;
|
||||
public static final int FontFamilyFont_android_ttcIndex = 0x00000003;
|
||||
public static final int FontFamilyFont_font = 0x00000005;
|
||||
public static final int FontFamilyFont_fontStyle = 0x00000006;
|
||||
public static final int FontFamilyFont_fontVariationSettings = 0x00000007;
|
||||
public static final int FontFamilyFont_fontWeight = 0x00000008;
|
||||
public static final int FontFamilyFont_ttcIndex = 0x00000009;
|
||||
public static final int FontFamily_fontProviderAuthority = 0x00000000;
|
||||
public static final int FontFamily_fontProviderCerts = 0x00000001;
|
||||
public static final int FontFamily_fontProviderFetchStrategy = 0x00000002;
|
||||
public static final int FontFamily_fontProviderFetchTimeout = 0x00000003;
|
||||
public static final int FontFamily_fontProviderPackage = 0x00000004;
|
||||
public static final int FontFamily_fontProviderQuery = 0x00000005;
|
||||
public static final int FontFamily_fontProviderSystemFontFamily = 0x00000006;
|
||||
public static final int GradientColorItem_android_color = 0x00000000;
|
||||
public static final int GradientColorItem_android_offset = 0x00000001;
|
||||
public static final int GradientColor_android_centerColor = 0x00000007;
|
||||
public static final int GradientColor_android_centerX = 0x00000003;
|
||||
public static final int GradientColor_android_centerY = 0x00000004;
|
||||
public static final int GradientColor_android_endColor = 0x00000001;
|
||||
public static final int GradientColor_android_endX = 0x0000000a;
|
||||
public static final int GradientColor_android_endY = 0x0000000b;
|
||||
public static final int GradientColor_android_gradientRadius = 0x00000005;
|
||||
public static final int GradientColor_android_startColor = 0x00000000;
|
||||
public static final int GradientColor_android_startX = 0x00000008;
|
||||
public static final int GradientColor_android_startY = 0x00000009;
|
||||
public static final int GradientColor_android_tileMode = 0x00000006;
|
||||
public static final int GradientColor_android_type = 0x00000002;
|
||||
public static final int[] ColorStateListItem = {android.R.attr.color, android.R.attr.alpha, 16844359, com.adif.elcanomovil.R.attr.alpha, com.adif.elcanomovil.R.attr.lStar};
|
||||
public static final int[] CoordinatorLayout = {com.adif.elcanomovil.R.attr.keylines, com.adif.elcanomovil.R.attr.statusBarBackground};
|
||||
public static final int[] CoordinatorLayout_Layout = {android.R.attr.layout_gravity, com.adif.elcanomovil.R.attr.layout_anchor, com.adif.elcanomovil.R.attr.layout_anchorGravity, com.adif.elcanomovil.R.attr.layout_behavior, com.adif.elcanomovil.R.attr.layout_dodgeInsetEdges, com.adif.elcanomovil.R.attr.layout_insetEdge, com.adif.elcanomovil.R.attr.layout_keyline};
|
||||
public static final int[] FontFamily = {com.adif.elcanomovil.R.attr.fontProviderAuthority, com.adif.elcanomovil.R.attr.fontProviderCerts, com.adif.elcanomovil.R.attr.fontProviderFetchStrategy, com.adif.elcanomovil.R.attr.fontProviderFetchTimeout, com.adif.elcanomovil.R.attr.fontProviderPackage, com.adif.elcanomovil.R.attr.fontProviderQuery, com.adif.elcanomovil.R.attr.fontProviderSystemFontFamily};
|
||||
public static final int[] FontFamilyFont = {android.R.attr.font, android.R.attr.fontWeight, android.R.attr.fontStyle, android.R.attr.ttcIndex, android.R.attr.fontVariationSettings, com.adif.elcanomovil.R.attr.font, com.adif.elcanomovil.R.attr.fontStyle, com.adif.elcanomovil.R.attr.fontVariationSettings, com.adif.elcanomovil.R.attr.fontWeight, com.adif.elcanomovil.R.attr.ttcIndex};
|
||||
public static final int[] GradientColor = {android.R.attr.startColor, android.R.attr.endColor, android.R.attr.type, android.R.attr.centerX, android.R.attr.centerY, android.R.attr.gradientRadius, android.R.attr.tileMode, android.R.attr.centerColor, android.R.attr.startX, android.R.attr.startY, android.R.attr.endX, android.R.attr.endY};
|
||||
public static final int[] GradientColorItem = {android.R.attr.color, android.R.attr.offset};
|
||||
|
||||
private styleable() {
|
||||
}
|
||||
}
|
||||
|
||||
private R() {
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.google.firebase.crashlytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbHandler;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbSource;
|
||||
import com.google.firebase.inject.Deferred;
|
||||
import com.google.firebase.inject.Provider;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* synthetic */ class a implements BreadcrumbSource, AnalyticsEventLogger, Deferred.DeferredHandler {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ AnalyticsDeferredProxy f5966a;
|
||||
|
||||
public /* synthetic */ a(AnalyticsDeferredProxy analyticsDeferredProxy) {
|
||||
this.f5966a = analyticsDeferredProxy;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.inject.Deferred.DeferredHandler
|
||||
public void handle(Provider provider) {
|
||||
AnalyticsDeferredProxy.a(this.f5966a, provider);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger
|
||||
public void logEvent(String str, Bundle bundle) {
|
||||
AnalyticsDeferredProxy.b(this.f5966a, str, bundle);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbSource
|
||||
public void registerBreadcrumbHandler(BreadcrumbHandler breadcrumbHandler) {
|
||||
AnalyticsDeferredProxy.c(this.f5966a, breadcrumbHandler);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.google.firebase.crashlytics.internal;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.model.StaticSessionData;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CrashlyticsNativeComponent {
|
||||
NativeSessionFileProvider getSessionFileProvider(String str);
|
||||
|
||||
boolean hasCrashDataForCurrentSession();
|
||||
|
||||
boolean hasCrashDataForSession(String str);
|
||||
|
||||
void prepareNativeSession(String str, String str2, long j4, StaticSessionData staticSessionData);
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
package com.google.firebase.crashlytics.internal;
|
||||
|
||||
import I2.k;
|
||||
import c2.h;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import com.google.firebase.crashlytics.internal.model.StaticSessionData;
|
||||
import com.google.firebase.inject.Deferred;
|
||||
import com.google.firebase.inject.Provider;
|
||||
import java.io.File;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CrashlyticsNativeComponentDeferredProxy implements CrashlyticsNativeComponent {
|
||||
private static final NativeSessionFileProvider MISSING_NATIVE_SESSION_FILE_PROVIDER = new MissingNativeSessionFileProvider();
|
||||
private final AtomicReference<CrashlyticsNativeComponent> availableNativeComponent = new AtomicReference<>(null);
|
||||
private final Deferred<CrashlyticsNativeComponent> deferredNativeComponent;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class MissingNativeSessionFileProvider implements NativeSessionFileProvider {
|
||||
private MissingNativeSessionFileProvider() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.NativeSessionFileProvider
|
||||
public File getAppFile() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.NativeSessionFileProvider
|
||||
public CrashlyticsReport.ApplicationExitInfo getApplicationExitInto() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.NativeSessionFileProvider
|
||||
public File getBinaryImagesFile() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.NativeSessionFileProvider
|
||||
public File getDeviceFile() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.NativeSessionFileProvider
|
||||
public File getMetadataFile() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.NativeSessionFileProvider
|
||||
public File getMinidumpFile() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.NativeSessionFileProvider
|
||||
public File getOsFile() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.NativeSessionFileProvider
|
||||
public File getSessionFile() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public /* synthetic */ MissingNativeSessionFileProvider(AnonymousClass1 anonymousClass1) {
|
||||
this();
|
||||
}
|
||||
}
|
||||
|
||||
public CrashlyticsNativeComponentDeferredProxy(Deferred<CrashlyticsNativeComponent> deferred) {
|
||||
this.deferredNativeComponent = deferred;
|
||||
deferred.whenAvailable(new k(this, 15));
|
||||
}
|
||||
|
||||
public static /* synthetic */ void b(CrashlyticsNativeComponentDeferredProxy crashlyticsNativeComponentDeferredProxy, Provider provider) {
|
||||
crashlyticsNativeComponentDeferredProxy.lambda$new$0(provider);
|
||||
}
|
||||
|
||||
public /* synthetic */ void lambda$new$0(Provider provider) {
|
||||
Logger.getLogger().d("Crashlytics native component now available.");
|
||||
this.availableNativeComponent.set((CrashlyticsNativeComponent) provider.get());
|
||||
}
|
||||
|
||||
public static /* synthetic */ void lambda$prepareNativeSession$1(String str, String str2, long j4, StaticSessionData staticSessionData, Provider provider) {
|
||||
((CrashlyticsNativeComponent) provider.get()).prepareNativeSession(str, str2, j4, staticSessionData);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.CrashlyticsNativeComponent
|
||||
public NativeSessionFileProvider getSessionFileProvider(String str) {
|
||||
CrashlyticsNativeComponent crashlyticsNativeComponent = this.availableNativeComponent.get();
|
||||
return crashlyticsNativeComponent == null ? MISSING_NATIVE_SESSION_FILE_PROVIDER : crashlyticsNativeComponent.getSessionFileProvider(str);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.CrashlyticsNativeComponent
|
||||
public boolean hasCrashDataForCurrentSession() {
|
||||
CrashlyticsNativeComponent crashlyticsNativeComponent = this.availableNativeComponent.get();
|
||||
return crashlyticsNativeComponent != null && crashlyticsNativeComponent.hasCrashDataForCurrentSession();
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.CrashlyticsNativeComponent
|
||||
public boolean hasCrashDataForSession(String str) {
|
||||
CrashlyticsNativeComponent crashlyticsNativeComponent = this.availableNativeComponent.get();
|
||||
return crashlyticsNativeComponent != null && crashlyticsNativeComponent.hasCrashDataForSession(str);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.CrashlyticsNativeComponent
|
||||
public void prepareNativeSession(String str, String str2, long j4, StaticSessionData staticSessionData) {
|
||||
Logger.getLogger().v("Deferring native open session: " + str);
|
||||
this.deferredNativeComponent.whenAvailable(new h(str, str2, j4, staticSessionData));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.google.firebase.crashlytics.internal;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.metadata.UserMetadata;
|
||||
import com.google.firebase.remoteconfig.interop.rollouts.RolloutAssignment;
|
||||
import com.google.firebase.remoteconfig.interop.rollouts.RolloutsState;
|
||||
import com.google.firebase.remoteconfig.interop.rollouts.RolloutsStateSubscriber;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Set;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.collections.CollectionsKt__IterablesKt;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\u0018\u00002\u00020\u0001B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0010\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\bH\u0016R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\t"}, d2 = {"Lcom/google/firebase/crashlytics/internal/CrashlyticsRemoteConfigListener;", "Lcom/google/firebase/remoteconfig/interop/rollouts/RolloutsStateSubscriber;", "userMetadata", "Lcom/google/firebase/crashlytics/internal/metadata/UserMetadata;", "(Lcom/google/firebase/crashlytics/internal/metadata/UserMetadata;)V", "onRolloutsStateChanged", "", "rolloutsState", "Lcom/google/firebase/remoteconfig/interop/rollouts/RolloutsState;", "com.google.firebase-firebase-crashlytics"}, k = 1, mv = {1, 7, 1}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class CrashlyticsRemoteConfigListener implements RolloutsStateSubscriber {
|
||||
private final UserMetadata userMetadata;
|
||||
|
||||
public CrashlyticsRemoteConfigListener(UserMetadata userMetadata) {
|
||||
Intrinsics.checkNotNullParameter(userMetadata, "userMetadata");
|
||||
this.userMetadata = userMetadata;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.remoteconfig.interop.rollouts.RolloutsStateSubscriber
|
||||
public void onRolloutsStateChanged(RolloutsState rolloutsState) {
|
||||
int collectionSizeOrDefault;
|
||||
Intrinsics.checkNotNullParameter(rolloutsState, "rolloutsState");
|
||||
UserMetadata userMetadata = this.userMetadata;
|
||||
Set<RolloutAssignment> rolloutAssignments = rolloutsState.getRolloutAssignments();
|
||||
Intrinsics.checkNotNullExpressionValue(rolloutAssignments, "rolloutsState.rolloutAssignments");
|
||||
collectionSizeOrDefault = CollectionsKt__IterablesKt.collectionSizeOrDefault(rolloutAssignments, 10);
|
||||
ArrayList arrayList = new ArrayList(collectionSizeOrDefault);
|
||||
for (RolloutAssignment rolloutAssignment : rolloutAssignments) {
|
||||
arrayList.add(com.google.firebase.crashlytics.internal.metadata.RolloutAssignment.create(rolloutAssignment.getRolloutId(), rolloutAssignment.getParameterKey(), rolloutAssignment.getParameterValue(), rolloutAssignment.getVariantId(), rolloutAssignment.getTemplateVersion()));
|
||||
}
|
||||
userMetadata.updateRolloutsState(arrayList);
|
||||
Logger.getLogger().d("Updated Crashlytics Rollout State");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
package com.google.firebase.crashlytics.internal;
|
||||
|
||||
import android.content.Context;
|
||||
import com.google.firebase.crashlytics.internal.common.CommonUtils;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class DevelopmentPlatformProvider {
|
||||
private static final String FLUTTER_ASSET_FILE = "flutter_assets/NOTICES.Z";
|
||||
private static final String FLUTTER_PLATFORM = "Flutter";
|
||||
private static final String UNITY_PLATFORM = "Unity";
|
||||
private static final String UNITY_VERSION_FIELD = "com.google.firebase.crashlytics.unity_version";
|
||||
private final Context context;
|
||||
private DevelopmentPlatform developmentPlatform = null;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class DevelopmentPlatform {
|
||||
private final String developmentPlatform;
|
||||
private final String developmentPlatformVersion;
|
||||
|
||||
private DevelopmentPlatform() {
|
||||
int resourcesIdentifier = CommonUtils.getResourcesIdentifier(DevelopmentPlatformProvider.this.context, DevelopmentPlatformProvider.UNITY_VERSION_FIELD, "string");
|
||||
if (resourcesIdentifier != 0) {
|
||||
this.developmentPlatform = DevelopmentPlatformProvider.UNITY_PLATFORM;
|
||||
String string = DevelopmentPlatformProvider.this.context.getResources().getString(resourcesIdentifier);
|
||||
this.developmentPlatformVersion = string;
|
||||
Logger.getLogger().v("Unity Editor version is: " + string);
|
||||
return;
|
||||
}
|
||||
if (DevelopmentPlatformProvider.this.assetFileExists(DevelopmentPlatformProvider.FLUTTER_ASSET_FILE)) {
|
||||
this.developmentPlatform = DevelopmentPlatformProvider.FLUTTER_PLATFORM;
|
||||
this.developmentPlatformVersion = null;
|
||||
Logger.getLogger().v("Development platform is: Flutter");
|
||||
} else {
|
||||
this.developmentPlatform = null;
|
||||
this.developmentPlatformVersion = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public DevelopmentPlatformProvider(Context context) {
|
||||
this.context = context;
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public boolean assetFileExists(String str) {
|
||||
if (this.context.getAssets() == null) {
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
InputStream open = this.context.getAssets().open(str);
|
||||
if (open != null) {
|
||||
open.close();
|
||||
}
|
||||
return true;
|
||||
} catch (IOException unused) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private DevelopmentPlatform initDevelopmentPlatform() {
|
||||
if (this.developmentPlatform == null) {
|
||||
this.developmentPlatform = new DevelopmentPlatform();
|
||||
}
|
||||
return this.developmentPlatform;
|
||||
}
|
||||
|
||||
public static boolean isUnity(Context context) {
|
||||
return CommonUtils.getResourcesIdentifier(context, UNITY_VERSION_FIELD, "string") != 0;
|
||||
}
|
||||
|
||||
public String getDevelopmentPlatform() {
|
||||
return initDevelopmentPlatform().developmentPlatform;
|
||||
}
|
||||
|
||||
public String getDevelopmentPlatformVersion() {
|
||||
return initDevelopmentPlatform().developmentPlatformVersion;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.google.firebase.crashlytics.internal;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class Logger {
|
||||
private int logLevel = 4;
|
||||
private final String tag;
|
||||
public static final String TAG = "FirebaseCrashlytics";
|
||||
static final Logger DEFAULT_LOGGER = new Logger(TAG);
|
||||
|
||||
public Logger(String str) {
|
||||
this.tag = str;
|
||||
}
|
||||
|
||||
private boolean canLog(int i) {
|
||||
return this.logLevel <= i || Log.isLoggable(this.tag, i);
|
||||
}
|
||||
|
||||
public static Logger getLogger() {
|
||||
return DEFAULT_LOGGER;
|
||||
}
|
||||
|
||||
public void d(String str, Throwable th) {
|
||||
if (canLog(3)) {
|
||||
Log.d(this.tag, str, th);
|
||||
}
|
||||
}
|
||||
|
||||
public void e(String str, Throwable th) {
|
||||
if (canLog(6)) {
|
||||
Log.e(this.tag, str, th);
|
||||
}
|
||||
}
|
||||
|
||||
public void i(String str, Throwable th) {
|
||||
if (canLog(4)) {
|
||||
Log.i(this.tag, str, th);
|
||||
}
|
||||
}
|
||||
|
||||
public void log(int i, String str) {
|
||||
log(i, str, false);
|
||||
}
|
||||
|
||||
public void v(String str, Throwable th) {
|
||||
if (canLog(2)) {
|
||||
Log.v(this.tag, str, th);
|
||||
}
|
||||
}
|
||||
|
||||
public void w(String str, Throwable th) {
|
||||
if (canLog(5)) {
|
||||
Log.w(this.tag, str, th);
|
||||
}
|
||||
}
|
||||
|
||||
public void log(int i, String str, boolean z3) {
|
||||
if (z3 || canLog(i)) {
|
||||
Log.println(i, this.tag, str);
|
||||
}
|
||||
}
|
||||
|
||||
public void d(String str) {
|
||||
d(str, null);
|
||||
}
|
||||
|
||||
public void e(String str) {
|
||||
e(str, null);
|
||||
}
|
||||
|
||||
public void i(String str) {
|
||||
i(str, null);
|
||||
}
|
||||
|
||||
public void v(String str) {
|
||||
v(str, null);
|
||||
}
|
||||
|
||||
public void w(String str) {
|
||||
w(str, null);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.google.firebase.crashlytics.internal;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.io.File;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface NativeSessionFileProvider {
|
||||
File getAppFile();
|
||||
|
||||
CrashlyticsReport.ApplicationExitInfo getApplicationExitInto();
|
||||
|
||||
File getBinaryImagesFile();
|
||||
|
||||
File getDeviceFile();
|
||||
|
||||
File getMetadataFile();
|
||||
|
||||
File getMinidumpFile();
|
||||
|
||||
File getOsFile();
|
||||
|
||||
File getSessionFile();
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
package com.google.firebase.crashlytics.internal;
|
||||
|
||||
import android.app.ActivityManager;
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Process;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.collections.CollectionsKt;
|
||||
import kotlin.collections.CollectionsKt__IterablesKt;
|
||||
import kotlin.jvm.JvmOverloads;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u00004\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010 \n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\bÀ\u0002\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J.\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\b\b\u0002\u0010\u0007\u001a\u00020\b2\b\b\u0002\u0010\t\u001a\u00020\b2\b\b\u0002\u0010\n\u001a\u00020\u000bH\u0007J\u0014\u0010\f\u001a\b\u0012\u0004\u0012\u00020\u00040\r2\u0006\u0010\u000e\u001a\u00020\u000fJ\u000e\u0010\u0010\u001a\u00020\u00042\u0006\u0010\u000e\u001a\u00020\u000fJ\b\u0010\u0011\u001a\u00020\u0006H\u0002¨\u0006\u0012"}, d2 = {"Lcom/google/firebase/crashlytics/internal/ProcessDetailsProvider;", "", "()V", "buildProcessDetails", "Lcom/google/firebase/crashlytics/internal/model/CrashlyticsReport$Session$Event$Application$ProcessDetails;", "processName", "", "pid", "", "importance", "isDefaultProcess", "", "getAppProcessDetails", "", "context", "Landroid/content/Context;", "getCurrentProcessDetails", "getProcessName", "com.google.firebase-firebase-crashlytics"}, k = 1, mv = {1, 7, 1}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class ProcessDetailsProvider {
|
||||
public static final ProcessDetailsProvider INSTANCE = new ProcessDetailsProvider();
|
||||
|
||||
private ProcessDetailsProvider() {
|
||||
}
|
||||
|
||||
public static /* synthetic */ CrashlyticsReport.Session.Event.Application.ProcessDetails buildProcessDetails$default(ProcessDetailsProvider processDetailsProvider, String str, int i, int i4, boolean z3, int i5, Object obj) {
|
||||
if ((i5 & 2) != 0) {
|
||||
i = 0;
|
||||
}
|
||||
if ((i5 & 4) != 0) {
|
||||
i4 = 0;
|
||||
}
|
||||
if ((i5 & 8) != 0) {
|
||||
z3 = false;
|
||||
}
|
||||
return processDetailsProvider.buildProcessDetails(str, i, i4, z3);
|
||||
}
|
||||
|
||||
private final String getProcessName() {
|
||||
String myProcessName;
|
||||
if (Build.VERSION.SDK_INT < 33) {
|
||||
String processName = Application.getProcessName();
|
||||
return processName == null ? "" : processName;
|
||||
}
|
||||
myProcessName = Process.myProcessName();
|
||||
Intrinsics.checkNotNullExpressionValue(myProcessName, "{\n Process.myProcessName()\n }");
|
||||
return myProcessName;
|
||||
}
|
||||
|
||||
@JvmOverloads
|
||||
public final CrashlyticsReport.Session.Event.Application.ProcessDetails buildProcessDetails(String processName) {
|
||||
Intrinsics.checkNotNullParameter(processName, "processName");
|
||||
return buildProcessDetails$default(this, processName, 0, 0, false, 14, null);
|
||||
}
|
||||
|
||||
public final List<CrashlyticsReport.Session.Event.Application.ProcessDetails> getAppProcessDetails(Context context) {
|
||||
int collectionSizeOrDefault;
|
||||
Intrinsics.checkNotNullParameter(context, "context");
|
||||
int i = context.getApplicationInfo().uid;
|
||||
String str = context.getApplicationInfo().processName;
|
||||
Object systemService = context.getSystemService("activity");
|
||||
ActivityManager activityManager = systemService instanceof ActivityManager ? (ActivityManager) systemService : null;
|
||||
List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = activityManager != null ? activityManager.getRunningAppProcesses() : null;
|
||||
if (runningAppProcesses == null) {
|
||||
runningAppProcesses = CollectionsKt.emptyList();
|
||||
}
|
||||
List filterNotNull = CollectionsKt.filterNotNull(runningAppProcesses);
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (Object obj : filterNotNull) {
|
||||
if (((ActivityManager.RunningAppProcessInfo) obj).uid == i) {
|
||||
arrayList.add(obj);
|
||||
}
|
||||
}
|
||||
collectionSizeOrDefault = CollectionsKt__IterablesKt.collectionSizeOrDefault(arrayList, 10);
|
||||
ArrayList arrayList2 = new ArrayList(collectionSizeOrDefault);
|
||||
Iterator it = arrayList.iterator();
|
||||
while (it.hasNext()) {
|
||||
ActivityManager.RunningAppProcessInfo runningAppProcessInfo = (ActivityManager.RunningAppProcessInfo) it.next();
|
||||
arrayList2.add(CrashlyticsReport.Session.Event.Application.ProcessDetails.builder().setProcessName(runningAppProcessInfo.processName).setPid(runningAppProcessInfo.pid).setImportance(runningAppProcessInfo.importance).setDefaultProcess(Intrinsics.areEqual(runningAppProcessInfo.processName, str)).build());
|
||||
}
|
||||
return arrayList2;
|
||||
}
|
||||
|
||||
public final CrashlyticsReport.Session.Event.Application.ProcessDetails getCurrentProcessDetails(Context context) {
|
||||
Object obj;
|
||||
Intrinsics.checkNotNullParameter(context, "context");
|
||||
int myPid = Process.myPid();
|
||||
Iterator<T> it = getAppProcessDetails(context).iterator();
|
||||
while (true) {
|
||||
if (!it.hasNext()) {
|
||||
obj = null;
|
||||
break;
|
||||
}
|
||||
obj = it.next();
|
||||
if (((CrashlyticsReport.Session.Event.Application.ProcessDetails) obj).getPid() == myPid) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
CrashlyticsReport.Session.Event.Application.ProcessDetails processDetails = (CrashlyticsReport.Session.Event.Application.ProcessDetails) obj;
|
||||
return processDetails == null ? buildProcessDetails$default(this, getProcessName(), myPid, 0, false, 12, null) : processDetails;
|
||||
}
|
||||
|
||||
@JvmOverloads
|
||||
public final CrashlyticsReport.Session.Event.Application.ProcessDetails buildProcessDetails(String processName, int i) {
|
||||
Intrinsics.checkNotNullParameter(processName, "processName");
|
||||
return buildProcessDetails$default(this, processName, i, 0, false, 12, null);
|
||||
}
|
||||
|
||||
@JvmOverloads
|
||||
public final CrashlyticsReport.Session.Event.Application.ProcessDetails buildProcessDetails(String processName, int i, int i4) {
|
||||
Intrinsics.checkNotNullParameter(processName, "processName");
|
||||
return buildProcessDetails$default(this, processName, i, i4, false, 8, null);
|
||||
}
|
||||
|
||||
@JvmOverloads
|
||||
public final CrashlyticsReport.Session.Event.Application.ProcessDetails buildProcessDetails(String processName, int pid, int importance, boolean isDefaultProcess) {
|
||||
Intrinsics.checkNotNullParameter(processName, "processName");
|
||||
CrashlyticsReport.Session.Event.Application.ProcessDetails build = CrashlyticsReport.Session.Event.Application.ProcessDetails.builder().setProcessName(processName).setPid(pid).setImportance(importance).setDefaultProcess(isDefaultProcess).build();
|
||||
Intrinsics.checkNotNullExpressionValue(build, "builder()\n .setProc…ltProcess)\n .build()");
|
||||
return build;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.google.firebase.crashlytics.internal;
|
||||
|
||||
import I2.k;
|
||||
import com.google.firebase.crashlytics.internal.metadata.UserMetadata;
|
||||
import com.google.firebase.inject.Deferred;
|
||||
import com.google.firebase.inject.Provider;
|
||||
import com.google.firebase.remoteconfig.RemoteConfigComponent;
|
||||
import com.google.firebase.remoteconfig.interop.FirebaseRemoteConfigInterop;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class RemoteConfigDeferredProxy {
|
||||
private final Deferred<FirebaseRemoteConfigInterop> remoteConfigInteropDeferred;
|
||||
|
||||
public RemoteConfigDeferredProxy(Deferred<FirebaseRemoteConfigInterop> deferred) {
|
||||
this.remoteConfigInteropDeferred = deferred;
|
||||
}
|
||||
|
||||
public static /* synthetic */ void a(CrashlyticsRemoteConfigListener crashlyticsRemoteConfigListener, Provider provider) {
|
||||
lambda$setupListener$0(crashlyticsRemoteConfigListener, provider);
|
||||
}
|
||||
|
||||
public static /* synthetic */ void lambda$setupListener$0(CrashlyticsRemoteConfigListener crashlyticsRemoteConfigListener, Provider provider) {
|
||||
((FirebaseRemoteConfigInterop) provider.get()).registerRolloutsStateSubscriber(RemoteConfigComponent.DEFAULT_NAMESPACE, crashlyticsRemoteConfigListener);
|
||||
Logger.getLogger().d("Registering RemoteConfig Rollouts subscriber");
|
||||
}
|
||||
|
||||
public void setupListener(UserMetadata userMetadata) {
|
||||
if (userMetadata == null) {
|
||||
Logger.getLogger().w("Didn't successfully register with UserMetadata for rollouts listener");
|
||||
} else {
|
||||
this.remoteConfigInteropDeferred.whenAvailable(new k(new CrashlyticsRemoteConfigListener(userMetadata), 16));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface AnalyticsEventLogger {
|
||||
void logEvent(String str, Bundle bundle);
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface AnalyticsEventReceiver {
|
||||
void onEvent(String str, Bundle bundle);
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class BlockingAnalyticsEventLogger implements AnalyticsEventReceiver, AnalyticsEventLogger {
|
||||
static final String APP_EXCEPTION_EVENT_NAME = "_ae";
|
||||
private final CrashlyticsOriginAnalyticsEventLogger baseAnalyticsEventLogger;
|
||||
private CountDownLatch eventLatch;
|
||||
private final TimeUnit timeUnit;
|
||||
private final int timeout;
|
||||
private final Object latchLock = new Object();
|
||||
private boolean callbackReceived = false;
|
||||
|
||||
public BlockingAnalyticsEventLogger(CrashlyticsOriginAnalyticsEventLogger crashlyticsOriginAnalyticsEventLogger, int i, TimeUnit timeUnit) {
|
||||
this.baseAnalyticsEventLogger = crashlyticsOriginAnalyticsEventLogger;
|
||||
this.timeout = i;
|
||||
this.timeUnit = timeUnit;
|
||||
}
|
||||
|
||||
public boolean isCallbackReceived() {
|
||||
return this.callbackReceived;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger
|
||||
public void logEvent(String str, Bundle bundle) {
|
||||
synchronized (this.latchLock) {
|
||||
try {
|
||||
Logger.getLogger().v("Logging event " + str + " to Firebase Analytics with params " + bundle);
|
||||
this.eventLatch = new CountDownLatch(1);
|
||||
this.callbackReceived = false;
|
||||
this.baseAnalyticsEventLogger.logEvent(str, bundle);
|
||||
Logger.getLogger().v("Awaiting app exception callback from Analytics...");
|
||||
try {
|
||||
if (this.eventLatch.await(this.timeout, this.timeUnit)) {
|
||||
this.callbackReceived = true;
|
||||
Logger.getLogger().v("App exception callback received from Analytics listener.");
|
||||
} else {
|
||||
Logger.getLogger().w("Timeout exceeded while awaiting app exception callback from Analytics listener.");
|
||||
}
|
||||
} catch (InterruptedException unused) {
|
||||
Logger.getLogger().e("Interrupted while awaiting app exception callback from Analytics listener.");
|
||||
}
|
||||
this.eventLatch = null;
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventReceiver
|
||||
public void onEvent(String str, Bundle bundle) {
|
||||
CountDownLatch countDownLatch = this.eventLatch;
|
||||
if (countDownLatch != null && APP_EXCEPTION_EVENT_NAME.equals(str)) {
|
||||
countDownLatch.countDown();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbHandler;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbSource;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class BreadcrumbAnalyticsEventReceiver implements AnalyticsEventReceiver, BreadcrumbSource {
|
||||
private static final String BREADCRUMB_NAME_KEY = "name";
|
||||
private static final String BREADCRUMB_PARAMS_KEY = "parameters";
|
||||
private static final String BREADCRUMB_PREFIX = "$A$:";
|
||||
private BreadcrumbHandler breadcrumbHandler;
|
||||
|
||||
private static String serializeEvent(String str, Bundle bundle) throws JSONException {
|
||||
JSONObject jSONObject = new JSONObject();
|
||||
JSONObject jSONObject2 = new JSONObject();
|
||||
for (String str2 : bundle.keySet()) {
|
||||
jSONObject2.put(str2, bundle.get(str2));
|
||||
}
|
||||
jSONObject.put("name", str);
|
||||
jSONObject.put("parameters", jSONObject2);
|
||||
return jSONObject.toString();
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventReceiver
|
||||
public void onEvent(String str, Bundle bundle) {
|
||||
BreadcrumbHandler breadcrumbHandler = this.breadcrumbHandler;
|
||||
if (breadcrumbHandler != null) {
|
||||
try {
|
||||
breadcrumbHandler.handleBreadcrumb(BREADCRUMB_PREFIX + serializeEvent(str, bundle));
|
||||
} catch (JSONException unused) {
|
||||
Logger.getLogger().w("Unable to serialize Firebase Analytics event to breadcrumb.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbSource
|
||||
public void registerBreadcrumbHandler(BreadcrumbHandler breadcrumbHandler) {
|
||||
this.breadcrumbHandler = breadcrumbHandler;
|
||||
Logger.getLogger().d("Registered Firebase Analytics event receiver for breadcrumbs");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.firebase.analytics.connector.AnalyticsConnector;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsOriginAnalyticsEventLogger implements AnalyticsEventLogger {
|
||||
static final String FIREBASE_ANALYTICS_ORIGIN_CRASHLYTICS = "clx";
|
||||
private final AnalyticsConnector analyticsConnector;
|
||||
|
||||
public CrashlyticsOriginAnalyticsEventLogger(AnalyticsConnector analyticsConnector) {
|
||||
this.analyticsConnector = analyticsConnector;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger
|
||||
public void logEvent(String str, Bundle bundle) {
|
||||
this.analyticsConnector.logEvent(FIREBASE_ANALYTICS_ORIGIN_CRASHLYTICS, str, bundle);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.google.firebase.crashlytics.internal.analytics;
|
||||
|
||||
import android.os.Bundle;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class UnavailableAnalyticsEventLogger implements AnalyticsEventLogger {
|
||||
@Override // com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger
|
||||
public void logEvent(String str, Bundle bundle) {
|
||||
Logger.getLogger().d("Skipping logging Crashlytics event to Firebase, no Firebase Analytics");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.google.firebase.crashlytics.internal.breadcrumbs;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface BreadcrumbHandler {
|
||||
void handleBreadcrumb(String str);
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.google.firebase.crashlytics.internal.breadcrumbs;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface BreadcrumbSource {
|
||||
void registerBreadcrumbHandler(BreadcrumbHandler breadcrumbHandler);
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.google.firebase.crashlytics.internal.breadcrumbs;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class DisabledBreadcrumbSource implements BreadcrumbSource {
|
||||
@Override // com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbSource
|
||||
public void registerBreadcrumbHandler(BreadcrumbHandler breadcrumbHandler) {
|
||||
Logger.getLogger().d("Could not register handler for breadcrumbs events.");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import com.google.firebase.crashlytics.internal.DevelopmentPlatformProvider;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class AppData {
|
||||
public final String buildId;
|
||||
public final List<BuildIdInfo> buildIdInfoList;
|
||||
public final DevelopmentPlatformProvider developmentPlatformProvider;
|
||||
public final String googleAppId;
|
||||
public final String installerPackageName;
|
||||
public final String packageName;
|
||||
public final String versionCode;
|
||||
public final String versionName;
|
||||
|
||||
public AppData(String str, String str2, List<BuildIdInfo> list, String str3, String str4, String str5, String str6, DevelopmentPlatformProvider developmentPlatformProvider) {
|
||||
this.googleAppId = str;
|
||||
this.buildId = str2;
|
||||
this.buildIdInfoList = list;
|
||||
this.installerPackageName = str3;
|
||||
this.packageName = str4;
|
||||
this.versionCode = str5;
|
||||
this.versionName = str6;
|
||||
this.developmentPlatformProvider = developmentPlatformProvider;
|
||||
}
|
||||
|
||||
public static AppData create(Context context, IdManager idManager, String str, String str2, List<BuildIdInfo> list, DevelopmentPlatformProvider developmentPlatformProvider) throws PackageManager.NameNotFoundException {
|
||||
String packageName = context.getPackageName();
|
||||
String installerPackageName = idManager.getInstallerPackageName();
|
||||
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(packageName, 0);
|
||||
String appBuildVersion = getAppBuildVersion(packageInfo);
|
||||
String str3 = packageInfo.versionName;
|
||||
if (str3 == null) {
|
||||
str3 = IdManager.DEFAULT_VERSION_NAME;
|
||||
}
|
||||
return new AppData(str, str2, list, installerPackageName, packageName, appBuildVersion, str3, developmentPlatformProvider);
|
||||
}
|
||||
|
||||
private static String getAppBuildVersion(PackageInfo packageInfo) {
|
||||
return Long.toString(packageInfo.getLongVersionCode());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.io.File;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AutoValue_CrashlyticsReportWithSessionId extends CrashlyticsReportWithSessionId {
|
||||
private final CrashlyticsReport report;
|
||||
private final File reportFile;
|
||||
private final String sessionId;
|
||||
|
||||
public AutoValue_CrashlyticsReportWithSessionId(CrashlyticsReport crashlyticsReport, String str, File file) {
|
||||
if (crashlyticsReport == null) {
|
||||
throw new NullPointerException("Null report");
|
||||
}
|
||||
this.report = crashlyticsReport;
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null sessionId");
|
||||
}
|
||||
this.sessionId = str;
|
||||
if (file == null) {
|
||||
throw new NullPointerException("Null reportFile");
|
||||
}
|
||||
this.reportFile = file;
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReportWithSessionId) {
|
||||
CrashlyticsReportWithSessionId crashlyticsReportWithSessionId = (CrashlyticsReportWithSessionId) obj;
|
||||
if (this.report.equals(crashlyticsReportWithSessionId.getReport()) && this.sessionId.equals(crashlyticsReportWithSessionId.getSessionId()) && this.reportFile.equals(crashlyticsReportWithSessionId.getReportFile())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.CrashlyticsReportWithSessionId
|
||||
public CrashlyticsReport getReport() {
|
||||
return this.report;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.CrashlyticsReportWithSessionId
|
||||
public File getReportFile() {
|
||||
return this.reportFile;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.CrashlyticsReportWithSessionId
|
||||
public String getSessionId() {
|
||||
return this.sessionId;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.reportFile.hashCode() ^ ((((this.report.hashCode() ^ 1000003) * 1000003) ^ this.sessionId.hashCode()) * 1000003);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "CrashlyticsReportWithSessionId{report=" + this.report + ", sessionId=" + this.sessionId + ", reportFile=" + this.reportFile + "}";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.common.InstallIdProvider;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_InstallIdProvider_InstallIds extends InstallIdProvider.InstallIds {
|
||||
private final String crashlyticsInstallId;
|
||||
private final String firebaseInstallationId;
|
||||
|
||||
public AutoValue_InstallIdProvider_InstallIds(String str, String str2) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null crashlyticsInstallId");
|
||||
}
|
||||
this.crashlyticsInstallId = str;
|
||||
this.firebaseInstallationId = str2;
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
String str;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof InstallIdProvider.InstallIds) {
|
||||
InstallIdProvider.InstallIds installIds = (InstallIdProvider.InstallIds) obj;
|
||||
if (this.crashlyticsInstallId.equals(installIds.getCrashlyticsInstallId()) && ((str = this.firebaseInstallationId) != null ? str.equals(installIds.getFirebaseInstallationId()) : installIds.getFirebaseInstallationId() == null)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.InstallIdProvider.InstallIds
|
||||
public String getCrashlyticsInstallId() {
|
||||
return this.crashlyticsInstallId;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.InstallIdProvider.InstallIds
|
||||
public String getFirebaseInstallationId() {
|
||||
return this.firebaseInstallationId;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (this.crashlyticsInstallId.hashCode() ^ 1000003) * 1000003;
|
||||
String str = this.firebaseInstallationId;
|
||||
return (str == null ? 0 : str.hashCode()) ^ hashCode;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("InstallIds{crashlyticsInstallId=");
|
||||
sb.append(this.crashlyticsInstallId);
|
||||
sb.append(", firebaseInstallationId=");
|
||||
return w.r(sb, this.firebaseInstallationId, "}");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import android.os.Process;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class BackgroundPriorityRunnable implements Runnable {
|
||||
public abstract void onRun();
|
||||
|
||||
@Override // java.lang.Runnable
|
||||
public final void run() {
|
||||
Process.setThreadPriority(10);
|
||||
onRun();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
class BatteryState {
|
||||
static final int VELOCITY_CHARGING = 2;
|
||||
static final int VELOCITY_FULL = 3;
|
||||
static final int VELOCITY_UNPLUGGED = 1;
|
||||
private final Float level;
|
||||
private final boolean powerConnected;
|
||||
|
||||
private BatteryState(Float f2, boolean z3) {
|
||||
this.powerConnected = z3;
|
||||
this.level = f2;
|
||||
}
|
||||
|
||||
public static BatteryState get(Context context) {
|
||||
boolean z3 = false;
|
||||
Float f2 = null;
|
||||
try {
|
||||
Intent registerReceiver = context.registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED"));
|
||||
if (registerReceiver != null) {
|
||||
z3 = isPowerConnected(registerReceiver);
|
||||
f2 = getLevel(registerReceiver);
|
||||
}
|
||||
} catch (IllegalStateException e4) {
|
||||
Logger.getLogger().e("An error occurred getting battery state.", e4);
|
||||
}
|
||||
return new BatteryState(f2, z3);
|
||||
}
|
||||
|
||||
private static Float getLevel(Intent intent) {
|
||||
int intExtra = intent.getIntExtra(FirebaseAnalytics.Param.LEVEL, -1);
|
||||
int intExtra2 = intent.getIntExtra("scale", -1);
|
||||
if (intExtra == -1 || intExtra2 == -1) {
|
||||
return null;
|
||||
}
|
||||
return Float.valueOf(intExtra / intExtra2);
|
||||
}
|
||||
|
||||
public Float getBatteryLevel() {
|
||||
return this.level;
|
||||
}
|
||||
|
||||
public int getBatteryVelocity() {
|
||||
Float f2;
|
||||
if (!this.powerConnected || (f2 = this.level) == null) {
|
||||
return 1;
|
||||
}
|
||||
return ((double) f2.floatValue()) < 0.99d ? 2 : 3;
|
||||
}
|
||||
|
||||
public boolean isPowerConnected() {
|
||||
return this.powerConnected;
|
||||
}
|
||||
|
||||
private static boolean isPowerConnected(Intent intent) {
|
||||
int intExtra = intent.getIntExtra("status", -1);
|
||||
if (intExtra == -1) {
|
||||
return false;
|
||||
}
|
||||
return intExtra == 2 || intExtra == 5;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class BuildIdInfo {
|
||||
private final String arch;
|
||||
private final String buildId;
|
||||
private final String libraryName;
|
||||
|
||||
public BuildIdInfo(String str, String str2, String str3) {
|
||||
this.libraryName = str;
|
||||
this.arch = str2;
|
||||
this.buildId = str3;
|
||||
}
|
||||
|
||||
public String getArch() {
|
||||
return this.arch;
|
||||
}
|
||||
|
||||
public String getBuildId() {
|
||||
return this.buildId;
|
||||
}
|
||||
|
||||
public String getLibraryName() {
|
||||
return this.libraryName;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.zip.GZIPOutputStream;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public class BytesBackedNativeSessionFile implements NativeSessionFile {
|
||||
private final byte[] bytes;
|
||||
private final String dataTransportFilename;
|
||||
private final String reportsEndpointFilename;
|
||||
|
||||
public BytesBackedNativeSessionFile(String str, String str2, byte[] bArr) {
|
||||
this.dataTransportFilename = str;
|
||||
this.reportsEndpointFilename = str2;
|
||||
this.bytes = bArr;
|
||||
}
|
||||
|
||||
private byte[] asGzippedBytes() {
|
||||
if (isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
||||
try {
|
||||
GZIPOutputStream gZIPOutputStream = new GZIPOutputStream(byteArrayOutputStream);
|
||||
try {
|
||||
gZIPOutputStream.write(this.bytes);
|
||||
gZIPOutputStream.finish();
|
||||
byte[] byteArray = byteArrayOutputStream.toByteArray();
|
||||
gZIPOutputStream.close();
|
||||
byteArrayOutputStream.close();
|
||||
return byteArray;
|
||||
} finally {
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
try {
|
||||
byteArrayOutputStream.close();
|
||||
} catch (Throwable th2) {
|
||||
th.addSuppressed(th2);
|
||||
}
|
||||
throw th;
|
||||
}
|
||||
} catch (IOException unused) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isEmpty() {
|
||||
byte[] bArr = this.bytes;
|
||||
return bArr == null || bArr.length == 0;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.NativeSessionFile
|
||||
public CrashlyticsReport.FilesPayload.File asFilePayload() {
|
||||
byte[] asGzippedBytes = asGzippedBytes();
|
||||
if (asGzippedBytes == null) {
|
||||
return null;
|
||||
}
|
||||
return CrashlyticsReport.FilesPayload.File.builder().setContents(asGzippedBytes).setFilename(this.dataTransportFilename).build();
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.NativeSessionFile
|
||||
public String getReportsEndpointFilename() {
|
||||
return this.reportsEndpointFilename;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.NativeSessionFile
|
||||
public InputStream getStream() {
|
||||
if (isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return new ByteArrayInputStream(this.bytes);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import android.os.Process;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public class CLSUUID {
|
||||
private static String _clsId;
|
||||
private static final AtomicLong _sequenceNumber = new AtomicLong(0);
|
||||
|
||||
public CLSUUID(IdManager idManager) {
|
||||
byte[] bArr = new byte[10];
|
||||
populateTime(bArr);
|
||||
populateSequenceNumber(bArr);
|
||||
populatePID(bArr);
|
||||
String sha1 = CommonUtils.sha1(idManager.getInstallIds().getCrashlyticsInstallId());
|
||||
String hexify = CommonUtils.hexify(bArr);
|
||||
Locale locale = Locale.US;
|
||||
_clsId = String.format(locale, "%s%s%s%s", hexify.substring(0, 12), hexify.substring(12, 16), hexify.subSequence(16, 20), sha1.substring(0, 12)).toUpperCase(locale);
|
||||
}
|
||||
|
||||
private static byte[] convertLongToFourByteBuffer(long j4) {
|
||||
ByteBuffer allocate = ByteBuffer.allocate(4);
|
||||
allocate.putInt((int) j4);
|
||||
allocate.order(ByteOrder.BIG_ENDIAN);
|
||||
allocate.position(0);
|
||||
return allocate.array();
|
||||
}
|
||||
|
||||
private static byte[] convertLongToTwoByteBuffer(long j4) {
|
||||
ByteBuffer allocate = ByteBuffer.allocate(2);
|
||||
allocate.putShort((short) j4);
|
||||
allocate.order(ByteOrder.BIG_ENDIAN);
|
||||
allocate.position(0);
|
||||
return allocate.array();
|
||||
}
|
||||
|
||||
private void populatePID(byte[] bArr) {
|
||||
byte[] convertLongToTwoByteBuffer = convertLongToTwoByteBuffer(Integer.valueOf(Process.myPid()).shortValue());
|
||||
bArr[8] = convertLongToTwoByteBuffer[0];
|
||||
bArr[9] = convertLongToTwoByteBuffer[1];
|
||||
}
|
||||
|
||||
private void populateSequenceNumber(byte[] bArr) {
|
||||
byte[] convertLongToTwoByteBuffer = convertLongToTwoByteBuffer(_sequenceNumber.incrementAndGet());
|
||||
bArr[6] = convertLongToTwoByteBuffer[0];
|
||||
bArr[7] = convertLongToTwoByteBuffer[1];
|
||||
}
|
||||
|
||||
private void populateTime(byte[] bArr) {
|
||||
long time = new Date().getTime();
|
||||
byte[] convertLongToFourByteBuffer = convertLongToFourByteBuffer(time / 1000);
|
||||
bArr[0] = convertLongToFourByteBuffer[0];
|
||||
bArr[1] = convertLongToFourByteBuffer[1];
|
||||
bArr[2] = convertLongToFourByteBuffer[2];
|
||||
bArr[3] = convertLongToFourByteBuffer[3];
|
||||
byte[] convertLongToTwoByteBuffer = convertLongToTwoByteBuffer(time % 1000);
|
||||
bArr[4] = convertLongToTwoByteBuffer[0];
|
||||
bArr[5] = convertLongToTwoByteBuffer[1];
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return _clsId;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,340 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Resources;
|
||||
import android.hardware.SensorManager;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.os.Build;
|
||||
import android.os.Debug;
|
||||
import android.os.StatFs;
|
||||
import android.text.TextUtils;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import java.io.Closeable;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Scanner;
|
||||
import kotlin.UByte;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CommonUtils {
|
||||
static final String BUILD_IDS_ARCH_RESOURCE_NAME = "com.google.firebase.crashlytics.build_ids_arch";
|
||||
static final String BUILD_IDS_BUILD_ID_RESOURCE_NAME = "com.google.firebase.crashlytics.build_ids_build_id";
|
||||
static final String BUILD_IDS_LIB_NAMES_RESOURCE_NAME = "com.google.firebase.crashlytics.build_ids_lib";
|
||||
public static final int DEVICE_STATE_BETAOS = 8;
|
||||
public static final int DEVICE_STATE_COMPROMISEDLIBRARIES = 32;
|
||||
public static final int DEVICE_STATE_DEBUGGERATTACHED = 4;
|
||||
public static final int DEVICE_STATE_ISSIMULATOR = 1;
|
||||
public static final int DEVICE_STATE_JAILBROKEN = 2;
|
||||
public static final int DEVICE_STATE_VENDORINTERNAL = 16;
|
||||
private static final String GOLDFISH = "goldfish";
|
||||
private static final char[] HEX_VALUES = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
|
||||
static final String LEGACY_MAPPING_FILE_ID_RESOURCE_NAME = "com.crashlytics.android.build_id";
|
||||
public static final String LEGACY_SHARED_PREFS_NAME = "com.crashlytics.prefs";
|
||||
static final String MAPPING_FILE_ID_RESOURCE_NAME = "com.google.firebase.crashlytics.mapping_file_id";
|
||||
private static final String RANCHU = "ranchu";
|
||||
private static final String SDK = "sdk";
|
||||
private static final String SHA1_INSTANCE = "SHA-1";
|
||||
public static final String SHARED_PREFS_NAME = "com.google.firebase.crashlytics";
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public enum Architecture {
|
||||
X86_32,
|
||||
X86_64,
|
||||
ARM_UNKNOWN,
|
||||
PPC,
|
||||
PPC64,
|
||||
ARMV6,
|
||||
ARMV7,
|
||||
UNKNOWN,
|
||||
ARMV7S,
|
||||
ARM64;
|
||||
|
||||
private static final Map<String, Architecture> matcher;
|
||||
|
||||
static {
|
||||
Architecture architecture = X86_32;
|
||||
Architecture architecture2 = ARMV6;
|
||||
Architecture architecture3 = ARMV7;
|
||||
Architecture architecture4 = ARM64;
|
||||
HashMap hashMap = new HashMap(4);
|
||||
matcher = hashMap;
|
||||
hashMap.put("armeabi-v7a", architecture3);
|
||||
hashMap.put("armeabi", architecture2);
|
||||
hashMap.put("arm64-v8a", architecture4);
|
||||
hashMap.put("x86", architecture);
|
||||
}
|
||||
|
||||
public static Architecture getValue() {
|
||||
String str = Build.CPU_ABI;
|
||||
if (TextUtils.isEmpty(str)) {
|
||||
Logger.getLogger().v("Architecture#getValue()::Build.CPU_ABI returned null or empty");
|
||||
return UNKNOWN;
|
||||
}
|
||||
Architecture architecture = matcher.get(str.toLowerCase(Locale.US));
|
||||
return architecture == null ? UNKNOWN : architecture;
|
||||
}
|
||||
}
|
||||
|
||||
public static long calculateFreeRamInBytes(Context context) {
|
||||
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
|
||||
((ActivityManager) context.getSystemService("activity")).getMemoryInfo(memoryInfo);
|
||||
return memoryInfo.availMem;
|
||||
}
|
||||
|
||||
public static synchronized long calculateTotalRamInBytes(Context context) {
|
||||
long j4;
|
||||
synchronized (CommonUtils.class) {
|
||||
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
|
||||
((ActivityManager) context.getSystemService("activity")).getMemoryInfo(memoryInfo);
|
||||
j4 = memoryInfo.totalMem;
|
||||
}
|
||||
return j4;
|
||||
}
|
||||
|
||||
public static long calculateUsedDiskSpaceInBytes(String str) {
|
||||
long blockSize = new StatFs(str).getBlockSize();
|
||||
return (r0.getBlockCount() * blockSize) - (blockSize * r0.getAvailableBlocks());
|
||||
}
|
||||
|
||||
@SuppressLint({"MissingPermission"})
|
||||
public static boolean canTryConnection(Context context) {
|
||||
if (!checkPermission(context, "android.permission.ACCESS_NETWORK_STATE")) {
|
||||
return true;
|
||||
}
|
||||
NetworkInfo activeNetworkInfo = ((ConnectivityManager) context.getSystemService("connectivity")).getActiveNetworkInfo();
|
||||
return activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting();
|
||||
}
|
||||
|
||||
public static boolean checkPermission(Context context, String str) {
|
||||
return context.checkCallingOrSelfPermission(str) == 0;
|
||||
}
|
||||
|
||||
public static void closeOrLog(Closeable closeable, String str) {
|
||||
if (closeable != null) {
|
||||
try {
|
||||
closeable.close();
|
||||
} catch (IOException e4) {
|
||||
Logger.getLogger().e(str, e4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void closeQuietly(Closeable closeable) {
|
||||
if (closeable != null) {
|
||||
try {
|
||||
closeable.close();
|
||||
} catch (RuntimeException e4) {
|
||||
throw e4;
|
||||
} catch (Exception unused) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static String createInstanceIdFrom(String... strArr) {
|
||||
if (strArr != null && strArr.length != 0) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (String str : strArr) {
|
||||
if (str != null) {
|
||||
arrayList.add(str.replace("-", "").toLowerCase(Locale.US));
|
||||
}
|
||||
}
|
||||
Collections.sort(arrayList);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
Iterator it = arrayList.iterator();
|
||||
while (it.hasNext()) {
|
||||
sb.append((String) it.next());
|
||||
}
|
||||
String sb2 = sb.toString();
|
||||
if (sb2.length() > 0) {
|
||||
return sha1(sb2);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static boolean getBooleanResourceValue(Context context, String str, boolean z3) {
|
||||
Resources resources;
|
||||
if (context != null && (resources = context.getResources()) != null) {
|
||||
int resourcesIdentifier = getResourcesIdentifier(context, str, "bool");
|
||||
if (resourcesIdentifier > 0) {
|
||||
return resources.getBoolean(resourcesIdentifier);
|
||||
}
|
||||
int resourcesIdentifier2 = getResourcesIdentifier(context, str, "string");
|
||||
if (resourcesIdentifier2 > 0) {
|
||||
return Boolean.parseBoolean(context.getString(resourcesIdentifier2));
|
||||
}
|
||||
}
|
||||
return z3;
|
||||
}
|
||||
|
||||
public static List<BuildIdInfo> getBuildIdInfo(Context context) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
int resourcesIdentifier = getResourcesIdentifier(context, BUILD_IDS_LIB_NAMES_RESOURCE_NAME, "array");
|
||||
int resourcesIdentifier2 = getResourcesIdentifier(context, BUILD_IDS_ARCH_RESOURCE_NAME, "array");
|
||||
int resourcesIdentifier3 = getResourcesIdentifier(context, BUILD_IDS_BUILD_ID_RESOURCE_NAME, "array");
|
||||
if (resourcesIdentifier == 0 || resourcesIdentifier2 == 0 || resourcesIdentifier3 == 0) {
|
||||
Logger.getLogger().d(String.format("Could not find resources: %d %d %d", Integer.valueOf(resourcesIdentifier), Integer.valueOf(resourcesIdentifier2), Integer.valueOf(resourcesIdentifier3)));
|
||||
return arrayList;
|
||||
}
|
||||
String[] stringArray = context.getResources().getStringArray(resourcesIdentifier);
|
||||
String[] stringArray2 = context.getResources().getStringArray(resourcesIdentifier2);
|
||||
String[] stringArray3 = context.getResources().getStringArray(resourcesIdentifier3);
|
||||
if (stringArray.length != stringArray3.length || stringArray2.length != stringArray3.length) {
|
||||
Logger.getLogger().d(String.format("Lengths did not match: %d %d %d", Integer.valueOf(stringArray.length), Integer.valueOf(stringArray2.length), Integer.valueOf(stringArray3.length)));
|
||||
return arrayList;
|
||||
}
|
||||
for (int i = 0; i < stringArray3.length; i++) {
|
||||
arrayList.add(new BuildIdInfo(stringArray[i], stringArray2[i], stringArray3[i]));
|
||||
}
|
||||
return arrayList;
|
||||
}
|
||||
|
||||
public static int getCpuArchitectureInt() {
|
||||
return Architecture.getValue().ordinal();
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
/* JADX WARN: Type inference failed for: r0v1, types: [int] */
|
||||
/* JADX WARN: Type inference failed for: r0v5 */
|
||||
/* JADX WARN: Type inference failed for: r0v6 */
|
||||
public static int getDeviceState() {
|
||||
boolean isEmulator = isEmulator();
|
||||
?? r02 = isEmulator;
|
||||
if (isRooted()) {
|
||||
r02 = (isEmulator ? 1 : 0) | 2;
|
||||
}
|
||||
return isDebuggerAttached() ? r02 | 4 : r02;
|
||||
}
|
||||
|
||||
public static SharedPreferences getLegacySharedPrefs(Context context) {
|
||||
return context.getSharedPreferences(LEGACY_SHARED_PREFS_NAME, 0);
|
||||
}
|
||||
|
||||
public static String getMappingFileId(Context context) {
|
||||
int resourcesIdentifier = getResourcesIdentifier(context, MAPPING_FILE_ID_RESOURCE_NAME, "string");
|
||||
if (resourcesIdentifier == 0) {
|
||||
resourcesIdentifier = getResourcesIdentifier(context, LEGACY_MAPPING_FILE_ID_RESOURCE_NAME, "string");
|
||||
}
|
||||
if (resourcesIdentifier != 0) {
|
||||
return context.getResources().getString(resourcesIdentifier);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static boolean getProximitySensorEnabled(Context context) {
|
||||
return (isEmulator() || ((SensorManager) context.getSystemService("sensor")).getDefaultSensor(8) == null) ? false : true;
|
||||
}
|
||||
|
||||
public static String getResourcePackageName(Context context) {
|
||||
int i = context.getApplicationContext().getApplicationInfo().icon;
|
||||
if (i <= 0) {
|
||||
return context.getPackageName();
|
||||
}
|
||||
try {
|
||||
String resourcePackageName = context.getResources().getResourcePackageName(i);
|
||||
return "android".equals(resourcePackageName) ? context.getPackageName() : resourcePackageName;
|
||||
} catch (Resources.NotFoundException unused) {
|
||||
return context.getPackageName();
|
||||
}
|
||||
}
|
||||
|
||||
public static int getResourcesIdentifier(Context context, String str, String str2) {
|
||||
return context.getResources().getIdentifier(str, str2, getResourcePackageName(context));
|
||||
}
|
||||
|
||||
public static SharedPreferences getSharedPrefs(Context context) {
|
||||
return context.getSharedPreferences("com.google.firebase.crashlytics", 0);
|
||||
}
|
||||
|
||||
private static String hash(String str, String str2) {
|
||||
return hash(str.getBytes(), str2);
|
||||
}
|
||||
|
||||
public static String hexify(byte[] bArr) {
|
||||
char[] cArr = new char[bArr.length * 2];
|
||||
for (int i = 0; i < bArr.length; i++) {
|
||||
byte b4 = bArr[i];
|
||||
int i4 = b4 & UByte.MAX_VALUE;
|
||||
int i5 = i * 2;
|
||||
char[] cArr2 = HEX_VALUES;
|
||||
cArr[i5] = cArr2[i4 >>> 4];
|
||||
cArr[i5 + 1] = cArr2[b4 & 15];
|
||||
}
|
||||
return new String(cArr);
|
||||
}
|
||||
|
||||
public static boolean isAppDebuggable(Context context) {
|
||||
return (context.getApplicationInfo().flags & 2) != 0;
|
||||
}
|
||||
|
||||
public static boolean isDebuggerAttached() {
|
||||
return Debug.isDebuggerConnected() || Debug.waitingForDebugger();
|
||||
}
|
||||
|
||||
public static boolean isEmulator() {
|
||||
if (Build.PRODUCT.contains(SDK)) {
|
||||
return true;
|
||||
}
|
||||
String str = Build.HARDWARE;
|
||||
return str.contains(GOLDFISH) || str.contains(RANCHU);
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public static boolean isLoggingEnabled(Context context) {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean isRooted() {
|
||||
boolean isEmulator = isEmulator();
|
||||
String str = Build.TAGS;
|
||||
if ((isEmulator || str == null || !str.contains("test-keys")) && !new File("/system/app/Superuser.apk").exists()) {
|
||||
return !isEmulator && new File("/system/xbin/su").exists();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static boolean nullSafeEquals(String str, String str2) {
|
||||
return str == null ? str2 == null : str.equals(str2);
|
||||
}
|
||||
|
||||
public static String padWithZerosToMaxIntWidth(int i) {
|
||||
if (i >= 0) {
|
||||
return String.format(Locale.US, "%1$10s", Integer.valueOf(i)).replace(' ', '0');
|
||||
}
|
||||
throw new IllegalArgumentException("value must be zero or greater");
|
||||
}
|
||||
|
||||
public static String sha1(String str) {
|
||||
return hash(str, SHA1_INSTANCE);
|
||||
}
|
||||
|
||||
public static String streamToString(InputStream inputStream) {
|
||||
Scanner useDelimiter = new Scanner(inputStream).useDelimiter("\\A");
|
||||
return useDelimiter.hasNext() ? useDelimiter.next() : "";
|
||||
}
|
||||
|
||||
private static String hash(byte[] bArr, String str) {
|
||||
try {
|
||||
MessageDigest messageDigest = MessageDigest.getInstance(str);
|
||||
messageDigest.update(bArr);
|
||||
return hexify(messageDigest.digest());
|
||||
} catch (NoSuchAlgorithmException e4) {
|
||||
Logger.getLogger().e("Could not create hashing algorithm: " + str + ", returning empty string.", e4);
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.persistence.FileStore;
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsAppQualitySessionsStore {
|
||||
private static final String AQS_SESSION_ID_FILENAME_PREFIX = "aqs.";
|
||||
private static final FilenameFilter AQS_SESSION_ID_FILE_FILTER = new a(0);
|
||||
private static final Comparator<File> FILE_RECENCY_COMPARATOR = new b(0);
|
||||
private final FileStore fileStore;
|
||||
private String sessionId = null;
|
||||
private String appQualitySessionId = null;
|
||||
|
||||
public CrashlyticsAppQualitySessionsStore(FileStore fileStore) {
|
||||
this.fileStore = fileStore;
|
||||
}
|
||||
|
||||
public static /* synthetic */ boolean lambda$static$0(File file, String str) {
|
||||
return str.startsWith(AQS_SESSION_ID_FILENAME_PREFIX);
|
||||
}
|
||||
|
||||
public static /* synthetic */ int lambda$static$1(File file, File file2) {
|
||||
return Long.compare(file2.lastModified(), file.lastModified());
|
||||
}
|
||||
|
||||
private static void persist(FileStore fileStore, String str, String str2) {
|
||||
if (str == null || str2 == null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
fileStore.getSessionFile(str, AQS_SESSION_ID_FILENAME_PREFIX.concat(str2)).createNewFile();
|
||||
} catch (IOException e4) {
|
||||
Logger.getLogger().w("Failed to persist App Quality Sessions session id.", e4);
|
||||
}
|
||||
}
|
||||
|
||||
public static String readAqsSessionIdFile(FileStore fileStore, String str) {
|
||||
List<File> sessionFiles = fileStore.getSessionFiles(str, AQS_SESSION_ID_FILE_FILTER);
|
||||
if (!sessionFiles.isEmpty()) {
|
||||
return ((File) Collections.min(sessionFiles, FILE_RECENCY_COMPARATOR)).getName().substring(4);
|
||||
}
|
||||
Logger.getLogger().w("Unable to read App Quality Sessions session id.");
|
||||
return null;
|
||||
}
|
||||
|
||||
public synchronized String getAppQualitySessionId(String str) {
|
||||
if (Objects.equals(this.sessionId, str)) {
|
||||
return this.appQualitySessionId;
|
||||
}
|
||||
return readAqsSessionIdFile(this.fileStore, str);
|
||||
}
|
||||
|
||||
public synchronized void rotateAppQualitySessionId(String str) {
|
||||
if (!Objects.equals(this.appQualitySessionId, str)) {
|
||||
persist(this.fileStore, this.sessionId, str);
|
||||
this.appQualitySessionId = str;
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized void rotateSessionId(String str) {
|
||||
if (!Objects.equals(this.sessionId, str)) {
|
||||
persist(this.fileStore, str, this.appQualitySessionId);
|
||||
this.sessionId = str;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.persistence.FileStore;
|
||||
import com.google.firebase.sessions.api.SessionSubscriber;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsAppQualitySessionsSubscriber implements SessionSubscriber {
|
||||
private final CrashlyticsAppQualitySessionsStore appQualitySessionsStore;
|
||||
private final DataCollectionArbiter dataCollectionArbiter;
|
||||
|
||||
public CrashlyticsAppQualitySessionsSubscriber(DataCollectionArbiter dataCollectionArbiter, FileStore fileStore) {
|
||||
this.dataCollectionArbiter = dataCollectionArbiter;
|
||||
this.appQualitySessionsStore = new CrashlyticsAppQualitySessionsStore(fileStore);
|
||||
}
|
||||
|
||||
public String getAppQualitySessionId(String str) {
|
||||
return this.appQualitySessionsStore.getAppQualitySessionId(str);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.sessions.api.SessionSubscriber
|
||||
public SessionSubscriber.Name getSessionSubscriberName() {
|
||||
return SessionSubscriber.Name.CRASHLYTICS;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.sessions.api.SessionSubscriber
|
||||
public boolean isDataCollectionEnabled() {
|
||||
return this.dataCollectionArbiter.isAutomaticDataCollectionEnabled();
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.sessions.api.SessionSubscriber
|
||||
public void onSessionChanged(SessionSubscriber.SessionDetails sessionDetails) {
|
||||
Logger.getLogger().d("App Quality Sessions session changed: " + sessionDetails);
|
||||
this.appQualitySessionsStore.rotateAppQualitySessionId(sessionDetails.getSessionId());
|
||||
}
|
||||
|
||||
public void setSessionId(String str) {
|
||||
this.appQualitySessionsStore.rotateSessionId(str);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.android.gms.tasks.Continuation;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.android.gms.tasks.Tasks;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsBackgroundWorker {
|
||||
private final Executor executor;
|
||||
private Task<Void> tail = Tasks.forResult(null);
|
||||
private final Object tailLock = new Object();
|
||||
private final ThreadLocal<Boolean> isExecutorThread = new ThreadLocal<>();
|
||||
|
||||
public CrashlyticsBackgroundWorker(Executor executor) {
|
||||
this.executor = executor;
|
||||
executor.execute(new Runnable() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker.1
|
||||
@Override // java.lang.Runnable
|
||||
public void run() {
|
||||
CrashlyticsBackgroundWorker.this.isExecutorThread.set(Boolean.TRUE);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private <T> Task<Void> ignoreResult(Task<T> task) {
|
||||
return task.continueWith(this.executor, new Continuation<T, Void>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker.4
|
||||
@Override // com.google.android.gms.tasks.Continuation
|
||||
public Void then(Task<T> task2) throws Exception {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private boolean isRunningOnThread() {
|
||||
return Boolean.TRUE.equals(this.isExecutorThread.get());
|
||||
}
|
||||
|
||||
private <T> Continuation<Void, T> newContinuation(final Callable<T> callable) {
|
||||
return new Continuation<Void, T>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker.3
|
||||
@Override // com.google.android.gms.tasks.Continuation
|
||||
public T then(Task<Void> task) throws Exception {
|
||||
return (T) callable.call();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public void checkRunningOnThread() {
|
||||
if (!isRunningOnThread()) {
|
||||
throw new IllegalStateException("Not running on background worker thread as intended.");
|
||||
}
|
||||
}
|
||||
|
||||
public Executor getExecutor() {
|
||||
return this.executor;
|
||||
}
|
||||
|
||||
public Task<Void> submit(final Runnable runnable) {
|
||||
return submit(new Callable<Void>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker.2
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Void call() throws Exception {
|
||||
runnable.run();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public <T> Task<T> submitTask(Callable<Task<T>> callable) {
|
||||
Task<T> continueWithTask;
|
||||
synchronized (this.tailLock) {
|
||||
continueWithTask = this.tail.continueWithTask(this.executor, newContinuation(callable));
|
||||
this.tail = ignoreResult(continueWithTask);
|
||||
}
|
||||
return continueWithTask;
|
||||
}
|
||||
|
||||
public <T> Task<T> submit(Callable<T> callable) {
|
||||
Task<T> continueWith;
|
||||
synchronized (this.tailLock) {
|
||||
continueWith = this.tail.continueWith(this.executor, newContinuation(callable));
|
||||
this.tail = ignoreResult(continueWith);
|
||||
}
|
||||
return continueWith;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,996 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import C.w;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.ApplicationExitInfo;
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.os.StatFs;
|
||||
import android.util.Base64;
|
||||
import com.google.android.gms.tasks.SuccessContinuation;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.android.gms.tasks.TaskCompletionSource;
|
||||
import com.google.android.gms.tasks.Tasks;
|
||||
import com.google.firebase.crashlytics.internal.CrashlyticsNativeComponent;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.NativeSessionFileProvider;
|
||||
import com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger;
|
||||
import com.google.firebase.crashlytics.internal.common.CrashlyticsUncaughtExceptionHandler;
|
||||
import com.google.firebase.crashlytics.internal.metadata.LogFileManager;
|
||||
import com.google.firebase.crashlytics.internal.metadata.UserMetadata;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import com.google.firebase.crashlytics.internal.model.StaticSessionData;
|
||||
import com.google.firebase.crashlytics.internal.persistence.FileStore;
|
||||
import com.google.firebase.crashlytics.internal.settings.Settings;
|
||||
import com.google.firebase.crashlytics.internal.settings.SettingsProvider;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.Thread;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.SortedSet;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsController {
|
||||
static final FilenameFilter APP_EXCEPTION_MARKER_FILTER = new a(1);
|
||||
static final String APP_EXCEPTION_MARKER_PREFIX = ".ae";
|
||||
static final String FIREBASE_APPLICATION_EXCEPTION = "_ae";
|
||||
static final String FIREBASE_CRASH_TYPE = "fatal";
|
||||
static final int FIREBASE_CRASH_TYPE_FATAL = 1;
|
||||
static final String FIREBASE_TIMESTAMP = "timestamp";
|
||||
private static final String GENERATOR_FORMAT = "Crashlytics Android SDK/%s";
|
||||
private static final String META_INF_FOLDER = "META-INF/";
|
||||
static final String NATIVE_SESSION_DIR = "native-sessions";
|
||||
private static final String VERSION_CONTROL_INFO_FILE = "version-control-info.textproto";
|
||||
private static final String VERSION_CONTROL_INFO_KEY = "com.crashlytics.version-control-info";
|
||||
private final AnalyticsEventLogger analyticsEventLogger;
|
||||
private final AppData appData;
|
||||
private final CrashlyticsBackgroundWorker backgroundWorker;
|
||||
private final Context context;
|
||||
private CrashlyticsUncaughtExceptionHandler crashHandler;
|
||||
private final CrashlyticsFileMarker crashMarker;
|
||||
private final DataCollectionArbiter dataCollectionArbiter;
|
||||
private final FileStore fileStore;
|
||||
private final IdManager idManager;
|
||||
private final LogFileManager logFileManager;
|
||||
private final CrashlyticsNativeComponent nativeComponent;
|
||||
private final SessionReportingCoordinator reportingCoordinator;
|
||||
private final CrashlyticsAppQualitySessionsSubscriber sessionsSubscriber;
|
||||
private final UserMetadata userMetadata;
|
||||
private SettingsProvider settingsProvider = null;
|
||||
final TaskCompletionSource<Boolean> unsentReportsAvailable = new TaskCompletionSource<>();
|
||||
final TaskCompletionSource<Boolean> reportActionProvided = new TaskCompletionSource<>();
|
||||
final TaskCompletionSource<Void> unsentReportsHandled = new TaskCompletionSource<>();
|
||||
final AtomicBoolean checkForUnsentReportsCalled = new AtomicBoolean(false);
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$1 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass1 implements CrashlyticsUncaughtExceptionHandler.CrashListener {
|
||||
public AnonymousClass1() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.CrashlyticsUncaughtExceptionHandler.CrashListener
|
||||
public void onUncaughtException(SettingsProvider settingsProvider, Thread thread, Throwable th) {
|
||||
CrashlyticsController.this.handleUncaughtException(settingsProvider, thread, th);
|
||||
}
|
||||
}
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$2 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass2 implements Callable<Task<Void>> {
|
||||
final /* synthetic */ Throwable val$ex;
|
||||
final /* synthetic */ boolean val$isOnDemand;
|
||||
final /* synthetic */ SettingsProvider val$settingsProvider;
|
||||
final /* synthetic */ Thread val$thread;
|
||||
final /* synthetic */ long val$timestampMillis;
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$2$1 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass1 implements SuccessContinuation<Settings, Void> {
|
||||
final /* synthetic */ String val$currentSessionId;
|
||||
final /* synthetic */ Executor val$executor;
|
||||
|
||||
public AnonymousClass1(Executor executor, String str) {
|
||||
r2 = executor;
|
||||
r3 = str;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Void> then(Settings settings) throws Exception {
|
||||
if (settings == null) {
|
||||
Logger.getLogger().w("Received null app settings, cannot send reports at crash time.");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
return Tasks.whenAll((Task<?>[]) new Task[]{CrashlyticsController.this.logAnalyticsAppExceptionEvents(), CrashlyticsController.this.reportingCoordinator.sendReports(r2, r7 ? r3 : null)});
|
||||
}
|
||||
}
|
||||
|
||||
public AnonymousClass2(long j4, Throwable th, Thread thread, SettingsProvider settingsProvider, boolean z3) {
|
||||
r2 = j4;
|
||||
r4 = th;
|
||||
r5 = thread;
|
||||
r6 = settingsProvider;
|
||||
r7 = z3;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Task<Void> call() throws Exception {
|
||||
long timestampSeconds = CrashlyticsController.getTimestampSeconds(r2);
|
||||
String currentSessionId = CrashlyticsController.this.getCurrentSessionId();
|
||||
if (currentSessionId == null) {
|
||||
Logger.getLogger().e("Tried to write a fatal exception while no session was open.");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
CrashlyticsController.this.crashMarker.create();
|
||||
CrashlyticsController.this.reportingCoordinator.persistFatalEvent(r4, r5, currentSessionId, timestampSeconds);
|
||||
CrashlyticsController.this.doWriteAppExceptionMarker(r2);
|
||||
CrashlyticsController.this.doCloseSessions(r6);
|
||||
CrashlyticsController.this.doOpenSession(new CLSUUID(CrashlyticsController.this.idManager).toString(), Boolean.valueOf(r7));
|
||||
if (!CrashlyticsController.this.dataCollectionArbiter.isAutomaticDataCollectionEnabled()) {
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
Executor executor = CrashlyticsController.this.backgroundWorker.getExecutor();
|
||||
return r6.getSettingsAsync().onSuccessTask(executor, new SuccessContinuation<Settings, Void>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.2.1
|
||||
final /* synthetic */ String val$currentSessionId;
|
||||
final /* synthetic */ Executor val$executor;
|
||||
|
||||
public AnonymousClass1(Executor executor2, String currentSessionId2) {
|
||||
r2 = executor2;
|
||||
r3 = currentSessionId2;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Void> then(Settings settings) throws Exception {
|
||||
if (settings == null) {
|
||||
Logger.getLogger().w("Received null app settings, cannot send reports at crash time.");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
return Tasks.whenAll((Task<?>[]) new Task[]{CrashlyticsController.this.logAnalyticsAppExceptionEvents(), CrashlyticsController.this.reportingCoordinator.sendReports(r2, r7 ? r3 : null)});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$3 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass3 implements SuccessContinuation<Void, Boolean> {
|
||||
public AnonymousClass3() {
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Boolean> then(Void r12) throws Exception {
|
||||
return Tasks.forResult(Boolean.TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$4 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass4 implements SuccessContinuation<Boolean, Void> {
|
||||
final /* synthetic */ Task val$settingsDataTask;
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$4$1 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass1 implements Callable<Task<Void>> {
|
||||
final /* synthetic */ Boolean val$send;
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$4$1$1 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class C00161 implements SuccessContinuation<Settings, Void> {
|
||||
final /* synthetic */ Executor val$executor;
|
||||
|
||||
public C00161(Executor executor) {
|
||||
r2 = executor;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Void> then(Settings settings) throws Exception {
|
||||
if (settings == null) {
|
||||
Logger.getLogger().w("Received null app settings at app startup. Cannot send cached reports");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
CrashlyticsController.this.logAnalyticsAppExceptionEvents();
|
||||
CrashlyticsController.this.reportingCoordinator.sendReports(r2);
|
||||
CrashlyticsController.this.unsentReportsHandled.trySetResult(null);
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
}
|
||||
|
||||
public AnonymousClass1(Boolean bool) {
|
||||
r2 = bool;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Task<Void> call() throws Exception {
|
||||
if (!r2.booleanValue()) {
|
||||
Logger.getLogger().v("Deleting cached crash reports...");
|
||||
CrashlyticsController.deleteFiles(CrashlyticsController.this.listAppExceptionMarkerFiles());
|
||||
CrashlyticsController.this.reportingCoordinator.removeAllReports();
|
||||
CrashlyticsController.this.unsentReportsHandled.trySetResult(null);
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
Logger.getLogger().d("Sending cached crash reports...");
|
||||
CrashlyticsController.this.dataCollectionArbiter.grantDataCollectionPermission(r2.booleanValue());
|
||||
Executor executor = CrashlyticsController.this.backgroundWorker.getExecutor();
|
||||
return AnonymousClass4.this.val$settingsDataTask.onSuccessTask(executor, new SuccessContinuation<Settings, Void>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.4.1.1
|
||||
final /* synthetic */ Executor val$executor;
|
||||
|
||||
public C00161(Executor executor2) {
|
||||
r2 = executor2;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Void> then(Settings settings) throws Exception {
|
||||
if (settings == null) {
|
||||
Logger.getLogger().w("Received null app settings at app startup. Cannot send cached reports");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
CrashlyticsController.this.logAnalyticsAppExceptionEvents();
|
||||
CrashlyticsController.this.reportingCoordinator.sendReports(r2);
|
||||
CrashlyticsController.this.unsentReportsHandled.trySetResult(null);
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public AnonymousClass4(Task task) {
|
||||
this.val$settingsDataTask = task;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Void> then(Boolean bool) throws Exception {
|
||||
return CrashlyticsController.this.backgroundWorker.submitTask(new Callable<Task<Void>>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.4.1
|
||||
final /* synthetic */ Boolean val$send;
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$4$1$1 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class C00161 implements SuccessContinuation<Settings, Void> {
|
||||
final /* synthetic */ Executor val$executor;
|
||||
|
||||
public C00161(Executor executor2) {
|
||||
r2 = executor2;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Void> then(Settings settings) throws Exception {
|
||||
if (settings == null) {
|
||||
Logger.getLogger().w("Received null app settings at app startup. Cannot send cached reports");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
CrashlyticsController.this.logAnalyticsAppExceptionEvents();
|
||||
CrashlyticsController.this.reportingCoordinator.sendReports(r2);
|
||||
CrashlyticsController.this.unsentReportsHandled.trySetResult(null);
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
}
|
||||
|
||||
public AnonymousClass1(Boolean bool2) {
|
||||
r2 = bool2;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Task<Void> call() throws Exception {
|
||||
if (!r2.booleanValue()) {
|
||||
Logger.getLogger().v("Deleting cached crash reports...");
|
||||
CrashlyticsController.deleteFiles(CrashlyticsController.this.listAppExceptionMarkerFiles());
|
||||
CrashlyticsController.this.reportingCoordinator.removeAllReports();
|
||||
CrashlyticsController.this.unsentReportsHandled.trySetResult(null);
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
Logger.getLogger().d("Sending cached crash reports...");
|
||||
CrashlyticsController.this.dataCollectionArbiter.grantDataCollectionPermission(r2.booleanValue());
|
||||
Executor executor2 = CrashlyticsController.this.backgroundWorker.getExecutor();
|
||||
return AnonymousClass4.this.val$settingsDataTask.onSuccessTask(executor2, new SuccessContinuation<Settings, Void>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.4.1.1
|
||||
final /* synthetic */ Executor val$executor;
|
||||
|
||||
public C00161(Executor executor22) {
|
||||
r2 = executor22;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Void> then(Settings settings) throws Exception {
|
||||
if (settings == null) {
|
||||
Logger.getLogger().w("Received null app settings at app startup. Cannot send cached reports");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
CrashlyticsController.this.logAnalyticsAppExceptionEvents();
|
||||
CrashlyticsController.this.reportingCoordinator.sendReports(r2);
|
||||
CrashlyticsController.this.unsentReportsHandled.trySetResult(null);
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$5 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass5 implements Callable<Void> {
|
||||
final /* synthetic */ String val$msg;
|
||||
final /* synthetic */ long val$timestamp;
|
||||
|
||||
public AnonymousClass5(long j4, String str) {
|
||||
r2 = j4;
|
||||
r4 = str;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Void call() throws Exception {
|
||||
if (CrashlyticsController.this.isHandlingException()) {
|
||||
return null;
|
||||
}
|
||||
CrashlyticsController.this.logFileManager.writeToLog(r2, r4);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$6 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass6 implements Runnable {
|
||||
final /* synthetic */ Throwable val$ex;
|
||||
final /* synthetic */ Thread val$thread;
|
||||
final /* synthetic */ long val$timestampMillis;
|
||||
|
||||
public AnonymousClass6(long j4, Throwable th, Thread thread) {
|
||||
r2 = j4;
|
||||
r4 = th;
|
||||
r5 = thread;
|
||||
}
|
||||
|
||||
@Override // java.lang.Runnable
|
||||
public void run() {
|
||||
if (CrashlyticsController.this.isHandlingException()) {
|
||||
return;
|
||||
}
|
||||
long timestampSeconds = CrashlyticsController.getTimestampSeconds(r2);
|
||||
String currentSessionId = CrashlyticsController.this.getCurrentSessionId();
|
||||
if (currentSessionId == null) {
|
||||
Logger.getLogger().w("Tried to write a non-fatal exception while no session was open.");
|
||||
} else {
|
||||
CrashlyticsController.this.reportingCoordinator.persistNonFatalEvent(r4, r5, currentSessionId, timestampSeconds);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$7 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass7 implements Callable<Void> {
|
||||
final /* synthetic */ String val$sessionIdentifier;
|
||||
|
||||
public AnonymousClass7(String str) {
|
||||
r2 = str;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Void call() throws Exception {
|
||||
CrashlyticsController.this.doOpenSession(r2, Boolean.FALSE);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$8 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass8 implements Callable<Void> {
|
||||
final /* synthetic */ long val$timestamp;
|
||||
|
||||
public AnonymousClass8(long j4) {
|
||||
r2 = j4;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Void call() throws Exception {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt(CrashlyticsController.FIREBASE_CRASH_TYPE, 1);
|
||||
bundle.putLong(CrashlyticsController.FIREBASE_TIMESTAMP, r2);
|
||||
CrashlyticsController.this.analyticsEventLogger.logEvent(CrashlyticsController.FIREBASE_APPLICATION_EXCEPTION, bundle);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public CrashlyticsController(Context context, CrashlyticsBackgroundWorker crashlyticsBackgroundWorker, IdManager idManager, DataCollectionArbiter dataCollectionArbiter, FileStore fileStore, CrashlyticsFileMarker crashlyticsFileMarker, AppData appData, UserMetadata userMetadata, LogFileManager logFileManager, SessionReportingCoordinator sessionReportingCoordinator, CrashlyticsNativeComponent crashlyticsNativeComponent, AnalyticsEventLogger analyticsEventLogger, CrashlyticsAppQualitySessionsSubscriber crashlyticsAppQualitySessionsSubscriber) {
|
||||
this.context = context;
|
||||
this.backgroundWorker = crashlyticsBackgroundWorker;
|
||||
this.idManager = idManager;
|
||||
this.dataCollectionArbiter = dataCollectionArbiter;
|
||||
this.fileStore = fileStore;
|
||||
this.crashMarker = crashlyticsFileMarker;
|
||||
this.appData = appData;
|
||||
this.userMetadata = userMetadata;
|
||||
this.logFileManager = logFileManager;
|
||||
this.nativeComponent = crashlyticsNativeComponent;
|
||||
this.analyticsEventLogger = analyticsEventLogger;
|
||||
this.sessionsSubscriber = crashlyticsAppQualitySessionsSubscriber;
|
||||
this.reportingCoordinator = sessionReportingCoordinator;
|
||||
}
|
||||
|
||||
private static StaticSessionData.AppData createAppData(IdManager idManager, AppData appData) {
|
||||
return StaticSessionData.AppData.create(idManager.getAppIdentifier(), appData.versionCode, appData.versionName, idManager.getInstallIds().getCrashlyticsInstallId(), DeliveryMechanism.determineFrom(appData.installerPackageName).getId(), appData.developmentPlatformProvider);
|
||||
}
|
||||
|
||||
private static StaticSessionData.DeviceData createDeviceData(Context context) {
|
||||
StatFs statFs = new StatFs(Environment.getDataDirectory().getPath());
|
||||
return StaticSessionData.DeviceData.create(CommonUtils.getCpuArchitectureInt(), Build.MODEL, Runtime.getRuntime().availableProcessors(), CommonUtils.calculateTotalRamInBytes(context), statFs.getBlockCount() * statFs.getBlockSize(), CommonUtils.isEmulator(), CommonUtils.getDeviceState(), Build.MANUFACTURER, Build.PRODUCT);
|
||||
}
|
||||
|
||||
private static StaticSessionData.OsData createOsData() {
|
||||
return StaticSessionData.OsData.create(Build.VERSION.RELEASE, Build.VERSION.CODENAME, CommonUtils.isRooted());
|
||||
}
|
||||
|
||||
public static void deleteFiles(List<File> list) {
|
||||
Iterator<File> it = list.iterator();
|
||||
while (it.hasNext()) {
|
||||
it.next().delete();
|
||||
}
|
||||
}
|
||||
|
||||
public void doOpenSession(String str, Boolean bool) {
|
||||
long currentTimestampSeconds = getCurrentTimestampSeconds();
|
||||
Logger.getLogger().d("Opening a new session with ID " + str);
|
||||
Locale locale = Locale.US;
|
||||
this.nativeComponent.prepareNativeSession(str, w.z("Crashlytics Android SDK/", CrashlyticsCore.getVersion()), currentTimestampSeconds, StaticSessionData.create(createAppData(this.idManager, this.appData), createOsData(), createDeviceData(this.context)));
|
||||
if (bool.booleanValue() && str != null) {
|
||||
this.userMetadata.setNewSession(str);
|
||||
}
|
||||
this.logFileManager.setCurrentSession(str);
|
||||
this.sessionsSubscriber.setSessionId(str);
|
||||
this.reportingCoordinator.onBeginSession(str, currentTimestampSeconds);
|
||||
}
|
||||
|
||||
public void doWriteAppExceptionMarker(long j4) {
|
||||
try {
|
||||
if (this.fileStore.getCommonFile(APP_EXCEPTION_MARKER_PREFIX + j4).createNewFile()) {
|
||||
} else {
|
||||
throw new IOException("Create new file failed.");
|
||||
}
|
||||
} catch (IOException e4) {
|
||||
Logger.getLogger().w("Could not create app exception marker file.", e4);
|
||||
}
|
||||
}
|
||||
|
||||
private void finalizePreviousNativeSession(String str) {
|
||||
Logger.getLogger().v("Finalizing native report for session " + str);
|
||||
NativeSessionFileProvider sessionFileProvider = this.nativeComponent.getSessionFileProvider(str);
|
||||
File minidumpFile = sessionFileProvider.getMinidumpFile();
|
||||
CrashlyticsReport.ApplicationExitInfo applicationExitInto = sessionFileProvider.getApplicationExitInto();
|
||||
if (nativeCoreAbsent(str, minidumpFile, applicationExitInto)) {
|
||||
Logger.getLogger().w("No native core present");
|
||||
return;
|
||||
}
|
||||
long lastModified = minidumpFile.lastModified();
|
||||
LogFileManager logFileManager = new LogFileManager(this.fileStore, str);
|
||||
File nativeSessionDir = this.fileStore.getNativeSessionDir(str);
|
||||
if (!nativeSessionDir.isDirectory()) {
|
||||
Logger.getLogger().w("Couldn't create directory to store native session files, aborting.");
|
||||
return;
|
||||
}
|
||||
doWriteAppExceptionMarker(lastModified);
|
||||
List<NativeSessionFile> nativeSessionFiles = getNativeSessionFiles(sessionFileProvider, str, this.fileStore, logFileManager.getBytesForLog());
|
||||
NativeSessionFileGzipper.processNativeSessions(nativeSessionDir, nativeSessionFiles);
|
||||
Logger.getLogger().d("CrashlyticsController#finalizePreviousNativeSession");
|
||||
this.reportingCoordinator.finalizeSessionWithNativeEvent(str, nativeSessionFiles, applicationExitInto);
|
||||
logFileManager.clearLog();
|
||||
}
|
||||
|
||||
private static boolean firebaseCrashExists() {
|
||||
try {
|
||||
Class.forName("com.google.firebase.crash.FirebaseCrash");
|
||||
return true;
|
||||
} catch (ClassNotFoundException unused) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private Context getContext() {
|
||||
return this.context;
|
||||
}
|
||||
|
||||
public String getCurrentSessionId() {
|
||||
SortedSet<String> listSortedOpenSessionIds = this.reportingCoordinator.listSortedOpenSessionIds();
|
||||
if (listSortedOpenSessionIds.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return listSortedOpenSessionIds.first();
|
||||
}
|
||||
|
||||
private static long getCurrentTimestampSeconds() {
|
||||
return getTimestampSeconds(System.currentTimeMillis());
|
||||
}
|
||||
|
||||
public static List<NativeSessionFile> getNativeSessionFiles(NativeSessionFileProvider nativeSessionFileProvider, String str, FileStore fileStore, byte[] bArr) {
|
||||
File sessionFile = fileStore.getSessionFile(str, UserMetadata.USERDATA_FILENAME);
|
||||
File sessionFile2 = fileStore.getSessionFile(str, UserMetadata.KEYDATA_FILENAME);
|
||||
File sessionFile3 = fileStore.getSessionFile(str, UserMetadata.ROLLOUTS_STATE_FILENAME);
|
||||
ArrayList arrayList = new ArrayList();
|
||||
arrayList.add(new BytesBackedNativeSessionFile("logs_file", "logs", bArr));
|
||||
arrayList.add(new FileBackedNativeSessionFile("crash_meta_file", "metadata", nativeSessionFileProvider.getMetadataFile()));
|
||||
arrayList.add(new FileBackedNativeSessionFile("session_meta_file", "session", nativeSessionFileProvider.getSessionFile()));
|
||||
arrayList.add(new FileBackedNativeSessionFile("app_meta_file", "app", nativeSessionFileProvider.getAppFile()));
|
||||
arrayList.add(new FileBackedNativeSessionFile("device_meta_file", "device", nativeSessionFileProvider.getDeviceFile()));
|
||||
arrayList.add(new FileBackedNativeSessionFile("os_meta_file", "os", nativeSessionFileProvider.getOsFile()));
|
||||
arrayList.add(nativeCoreFile(nativeSessionFileProvider));
|
||||
arrayList.add(new FileBackedNativeSessionFile("user_meta_file", "user", sessionFile));
|
||||
arrayList.add(new FileBackedNativeSessionFile("keys_file", UserMetadata.KEYDATA_FILENAME, sessionFile2));
|
||||
arrayList.add(new FileBackedNativeSessionFile("rollouts_file", "rollouts", sessionFile3));
|
||||
return arrayList;
|
||||
}
|
||||
|
||||
private InputStream getResourceAsStream(String str) {
|
||||
ClassLoader classLoader = getClass().getClassLoader();
|
||||
if (classLoader == null) {
|
||||
Logger.getLogger().w("Couldn't get Class Loader");
|
||||
return null;
|
||||
}
|
||||
InputStream resourceAsStream = classLoader.getResourceAsStream(str);
|
||||
if (resourceAsStream != null) {
|
||||
return resourceAsStream;
|
||||
}
|
||||
Logger.getLogger().i("No version control information found");
|
||||
return null;
|
||||
}
|
||||
|
||||
public static long getTimestampSeconds(long j4) {
|
||||
return j4 / 1000;
|
||||
}
|
||||
|
||||
public static /* synthetic */ boolean lambda$static$0(File file, String str) {
|
||||
return str.startsWith(APP_EXCEPTION_MARKER_PREFIX);
|
||||
}
|
||||
|
||||
private Task<Void> logAnalyticsAppExceptionEvent(long j4) {
|
||||
if (firebaseCrashExists()) {
|
||||
Logger.getLogger().w("Skipping logging Crashlytics event to Firebase, FirebaseCrash exists");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
Logger.getLogger().d("Logging app exception event to Firebase Analytics");
|
||||
return Tasks.call(new ScheduledThreadPoolExecutor(1), new Callable<Void>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.8
|
||||
final /* synthetic */ long val$timestamp;
|
||||
|
||||
public AnonymousClass8(long j42) {
|
||||
r2 = j42;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Void call() throws Exception {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt(CrashlyticsController.FIREBASE_CRASH_TYPE, 1);
|
||||
bundle.putLong(CrashlyticsController.FIREBASE_TIMESTAMP, r2);
|
||||
CrashlyticsController.this.analyticsEventLogger.logEvent(CrashlyticsController.FIREBASE_APPLICATION_EXCEPTION, bundle);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public Task<Void> logAnalyticsAppExceptionEvents() {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (File file : listAppExceptionMarkerFiles()) {
|
||||
try {
|
||||
arrayList.add(logAnalyticsAppExceptionEvent(Long.parseLong(file.getName().substring(3))));
|
||||
} catch (NumberFormatException unused) {
|
||||
Logger.getLogger().w("Could not parse app exception timestamp from file " + file.getName());
|
||||
}
|
||||
file.delete();
|
||||
}
|
||||
return Tasks.whenAll(arrayList);
|
||||
}
|
||||
|
||||
private static boolean nativeCoreAbsent(String str, File file, CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
|
||||
if (file == null || !file.exists()) {
|
||||
Logger.getLogger().w("No minidump data found for session " + str);
|
||||
}
|
||||
if (applicationExitInfo == null) {
|
||||
Logger.getLogger().i("No Tombstones data found for session " + str);
|
||||
}
|
||||
return (file == null || !file.exists()) && applicationExitInfo == null;
|
||||
}
|
||||
|
||||
private static NativeSessionFile nativeCoreFile(NativeSessionFileProvider nativeSessionFileProvider) {
|
||||
File minidumpFile = nativeSessionFileProvider.getMinidumpFile();
|
||||
return (minidumpFile == null || !minidumpFile.exists()) ? new BytesBackedNativeSessionFile("minidump_file", "minidump", new byte[]{0}) : new FileBackedNativeSessionFile("minidump_file", "minidump", minidumpFile);
|
||||
}
|
||||
|
||||
private static byte[] readResource(InputStream inputStream) throws IOException {
|
||||
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
||||
byte[] bArr = new byte[1024];
|
||||
while (true) {
|
||||
int read = inputStream.read(bArr);
|
||||
if (read == -1) {
|
||||
return byteArrayOutputStream.toByteArray();
|
||||
}
|
||||
byteArrayOutputStream.write(bArr, 0, read);
|
||||
}
|
||||
}
|
||||
|
||||
private Task<Boolean> waitForReportAction() {
|
||||
if (this.dataCollectionArbiter.isAutomaticDataCollectionEnabled()) {
|
||||
Logger.getLogger().d("Automatic data collection is enabled. Allowing upload.");
|
||||
this.unsentReportsAvailable.trySetResult(Boolean.FALSE);
|
||||
return Tasks.forResult(Boolean.TRUE);
|
||||
}
|
||||
Logger.getLogger().d("Automatic data collection is disabled.");
|
||||
Logger.getLogger().v("Notifying that unsent reports are available.");
|
||||
this.unsentReportsAvailable.trySetResult(Boolean.TRUE);
|
||||
Task<TContinuationResult> onSuccessTask = this.dataCollectionArbiter.waitForAutomaticDataCollectionEnabled().onSuccessTask(new SuccessContinuation<Void, Boolean>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.3
|
||||
public AnonymousClass3() {
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Boolean> then(Void r12) throws Exception {
|
||||
return Tasks.forResult(Boolean.TRUE);
|
||||
}
|
||||
});
|
||||
Logger.getLogger().d("Waiting for send/deleteUnsentReports to be called.");
|
||||
return Utils.race(onSuccessTask, this.reportActionProvided.getTask());
|
||||
}
|
||||
|
||||
private void writeApplicationExitInfoEventIfRelevant(String str) {
|
||||
List<ApplicationExitInfo> historicalProcessExitReasons;
|
||||
int i = Build.VERSION.SDK_INT;
|
||||
if (i < 30) {
|
||||
Logger.getLogger().v("ANR feature enabled, but device is API " + i);
|
||||
return;
|
||||
}
|
||||
historicalProcessExitReasons = ((ActivityManager) this.context.getSystemService("activity")).getHistoricalProcessExitReasons(null, 0, 0);
|
||||
if (historicalProcessExitReasons.size() != 0) {
|
||||
this.reportingCoordinator.persistRelevantAppExitInfoEvent(str, historicalProcessExitReasons, new LogFileManager(this.fileStore, str), UserMetadata.loadFromExistingSession(str, this.fileStore, this.backgroundWorker));
|
||||
} else {
|
||||
Logger.getLogger().v("No ApplicationExitInfo available. Session: " + str);
|
||||
}
|
||||
}
|
||||
|
||||
public Task<Boolean> checkForUnsentReports() {
|
||||
if (this.checkForUnsentReportsCalled.compareAndSet(false, true)) {
|
||||
return this.unsentReportsAvailable.getTask();
|
||||
}
|
||||
Logger.getLogger().w("checkForUnsentReports should only be called once per execution.");
|
||||
return Tasks.forResult(Boolean.FALSE);
|
||||
}
|
||||
|
||||
public Task<Void> deleteUnsentReports() {
|
||||
this.reportActionProvided.trySetResult(Boolean.FALSE);
|
||||
return this.unsentReportsHandled.getTask();
|
||||
}
|
||||
|
||||
public boolean didCrashOnPreviousExecution() {
|
||||
if (!this.crashMarker.isPresent()) {
|
||||
String currentSessionId = getCurrentSessionId();
|
||||
return currentSessionId != null && this.nativeComponent.hasCrashDataForSession(currentSessionId);
|
||||
}
|
||||
Logger.getLogger().v("Found previous crash marker.");
|
||||
this.crashMarker.remove();
|
||||
return true;
|
||||
}
|
||||
|
||||
public void doCloseSessions(SettingsProvider settingsProvider) {
|
||||
doCloseSessions(false, settingsProvider);
|
||||
}
|
||||
|
||||
public void enableExceptionHandling(String str, Thread.UncaughtExceptionHandler uncaughtExceptionHandler, SettingsProvider settingsProvider) {
|
||||
this.settingsProvider = settingsProvider;
|
||||
openSession(str);
|
||||
CrashlyticsUncaughtExceptionHandler crashlyticsUncaughtExceptionHandler = new CrashlyticsUncaughtExceptionHandler(new CrashlyticsUncaughtExceptionHandler.CrashListener() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.1
|
||||
public AnonymousClass1() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.CrashlyticsUncaughtExceptionHandler.CrashListener
|
||||
public void onUncaughtException(SettingsProvider settingsProvider2, Thread thread, Throwable th) {
|
||||
CrashlyticsController.this.handleUncaughtException(settingsProvider2, thread, th);
|
||||
}
|
||||
}, settingsProvider, uncaughtExceptionHandler, this.nativeComponent);
|
||||
this.crashHandler = crashlyticsUncaughtExceptionHandler;
|
||||
Thread.setDefaultUncaughtExceptionHandler(crashlyticsUncaughtExceptionHandler);
|
||||
}
|
||||
|
||||
public boolean finalizeSessions(SettingsProvider settingsProvider) {
|
||||
this.backgroundWorker.checkRunningOnThread();
|
||||
if (isHandlingException()) {
|
||||
Logger.getLogger().w("Skipping session finalization because a crash has already occurred.");
|
||||
return false;
|
||||
}
|
||||
Logger.getLogger().v("Finalizing previously open sessions.");
|
||||
try {
|
||||
doCloseSessions(true, settingsProvider);
|
||||
Logger.getLogger().v("Closed all previously open sessions.");
|
||||
return true;
|
||||
} catch (Exception e4) {
|
||||
Logger.getLogger().e("Unable to finalize previously open sessions.", e4);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public UserMetadata getUserMetadata() {
|
||||
return this.userMetadata;
|
||||
}
|
||||
|
||||
public String getVersionControlInfo() throws IOException {
|
||||
InputStream resourceAsStream = getResourceAsStream("META-INF/version-control-info.textproto");
|
||||
if (resourceAsStream == null) {
|
||||
return null;
|
||||
}
|
||||
Logger.getLogger().d("Read version control info");
|
||||
return Base64.encodeToString(readResource(resourceAsStream), 0);
|
||||
}
|
||||
|
||||
public void handleUncaughtException(SettingsProvider settingsProvider, Thread thread, Throwable th) {
|
||||
handleUncaughtException(settingsProvider, thread, th, false);
|
||||
}
|
||||
|
||||
public boolean isHandlingException() {
|
||||
CrashlyticsUncaughtExceptionHandler crashlyticsUncaughtExceptionHandler = this.crashHandler;
|
||||
return crashlyticsUncaughtExceptionHandler != null && crashlyticsUncaughtExceptionHandler.isHandlingException();
|
||||
}
|
||||
|
||||
public List<File> listAppExceptionMarkerFiles() {
|
||||
return this.fileStore.getCommonFiles(APP_EXCEPTION_MARKER_FILTER);
|
||||
}
|
||||
|
||||
public void logFatalException(Thread thread, Throwable th) {
|
||||
SettingsProvider settingsProvider = this.settingsProvider;
|
||||
if (settingsProvider == null) {
|
||||
Logger.getLogger().w("settingsProvider not set");
|
||||
} else {
|
||||
handleUncaughtException(settingsProvider, thread, th, true);
|
||||
}
|
||||
}
|
||||
|
||||
public void openSession(String str) {
|
||||
this.backgroundWorker.submit(new Callable<Void>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.7
|
||||
final /* synthetic */ String val$sessionIdentifier;
|
||||
|
||||
public AnonymousClass7(String str2) {
|
||||
r2 = str2;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Void call() throws Exception {
|
||||
CrashlyticsController.this.doOpenSession(r2, Boolean.FALSE);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void saveVersionControlInfo() {
|
||||
try {
|
||||
String versionControlInfo = getVersionControlInfo();
|
||||
if (versionControlInfo != null) {
|
||||
setInternalKey(VERSION_CONTROL_INFO_KEY, versionControlInfo);
|
||||
Logger.getLogger().i("Saved version control info");
|
||||
}
|
||||
} catch (IOException e4) {
|
||||
Logger.getLogger().w("Unable to save version control info", e4);
|
||||
}
|
||||
}
|
||||
|
||||
public Task<Void> sendUnsentReports() {
|
||||
this.reportActionProvided.trySetResult(Boolean.TRUE);
|
||||
return this.unsentReportsHandled.getTask();
|
||||
}
|
||||
|
||||
public void setCustomKey(String str, String str2) {
|
||||
try {
|
||||
this.userMetadata.setCustomKey(str, str2);
|
||||
} catch (IllegalArgumentException e4) {
|
||||
Context context = this.context;
|
||||
if (context != null && CommonUtils.isAppDebuggable(context)) {
|
||||
throw e4;
|
||||
}
|
||||
Logger.getLogger().e("Attempting to set custom attribute with null key, ignoring.");
|
||||
}
|
||||
}
|
||||
|
||||
public void setCustomKeys(Map<String, String> map) {
|
||||
this.userMetadata.setCustomKeys(map);
|
||||
}
|
||||
|
||||
public void setInternalKey(String str, String str2) {
|
||||
try {
|
||||
this.userMetadata.setInternalKey(str, str2);
|
||||
} catch (IllegalArgumentException e4) {
|
||||
Context context = this.context;
|
||||
if (context != null && CommonUtils.isAppDebuggable(context)) {
|
||||
throw e4;
|
||||
}
|
||||
Logger.getLogger().e("Attempting to set custom attribute with null key, ignoring.");
|
||||
}
|
||||
}
|
||||
|
||||
public void setUserId(String str) {
|
||||
this.userMetadata.setUserId(str);
|
||||
}
|
||||
|
||||
@SuppressLint({"TaskMainThread"})
|
||||
public Task<Void> submitAllReports(Task<Settings> task) {
|
||||
if (this.reportingCoordinator.hasReportsToSend()) {
|
||||
Logger.getLogger().v("Crash reports are available to be sent.");
|
||||
return waitForReportAction().onSuccessTask(new AnonymousClass4(task));
|
||||
}
|
||||
Logger.getLogger().v("No crash reports are available to be sent.");
|
||||
this.unsentReportsAvailable.trySetResult(Boolean.FALSE);
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
|
||||
public void writeNonFatalException(Thread thread, Throwable th) {
|
||||
this.backgroundWorker.submit(new Runnable() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.6
|
||||
final /* synthetic */ Throwable val$ex;
|
||||
final /* synthetic */ Thread val$thread;
|
||||
final /* synthetic */ long val$timestampMillis;
|
||||
|
||||
public AnonymousClass6(long j4, Throwable th2, Thread thread2) {
|
||||
r2 = j4;
|
||||
r4 = th2;
|
||||
r5 = thread2;
|
||||
}
|
||||
|
||||
@Override // java.lang.Runnable
|
||||
public void run() {
|
||||
if (CrashlyticsController.this.isHandlingException()) {
|
||||
return;
|
||||
}
|
||||
long timestampSeconds = CrashlyticsController.getTimestampSeconds(r2);
|
||||
String currentSessionId = CrashlyticsController.this.getCurrentSessionId();
|
||||
if (currentSessionId == null) {
|
||||
Logger.getLogger().w("Tried to write a non-fatal exception while no session was open.");
|
||||
} else {
|
||||
CrashlyticsController.this.reportingCoordinator.persistNonFatalEvent(r4, r5, currentSessionId, timestampSeconds);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void writeToLog(long j4, String str) {
|
||||
this.backgroundWorker.submit(new Callable<Void>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.5
|
||||
final /* synthetic */ String val$msg;
|
||||
final /* synthetic */ long val$timestamp;
|
||||
|
||||
public AnonymousClass5(long j42, String str2) {
|
||||
r2 = j42;
|
||||
r4 = str2;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Void call() throws Exception {
|
||||
if (CrashlyticsController.this.isHandlingException()) {
|
||||
return null;
|
||||
}
|
||||
CrashlyticsController.this.logFileManager.writeToLog(r2, r4);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
private void doCloseSessions(boolean z3, SettingsProvider settingsProvider) {
|
||||
String str;
|
||||
ArrayList arrayList = new ArrayList(this.reportingCoordinator.listSortedOpenSessionIds());
|
||||
if (arrayList.size() <= z3) {
|
||||
Logger.getLogger().v("No open sessions to be closed.");
|
||||
return;
|
||||
}
|
||||
String str2 = (String) arrayList.get(z3 ? 1 : 0);
|
||||
if (settingsProvider.getSettingsSync().featureFlagData.collectAnrs) {
|
||||
writeApplicationExitInfoEventIfRelevant(str2);
|
||||
} else {
|
||||
Logger.getLogger().v("ANR feature disabled.");
|
||||
}
|
||||
if (this.nativeComponent.hasCrashDataForSession(str2)) {
|
||||
finalizePreviousNativeSession(str2);
|
||||
}
|
||||
if (z3 != 0) {
|
||||
str = (String) arrayList.get(0);
|
||||
} else {
|
||||
this.sessionsSubscriber.setSessionId(null);
|
||||
str = null;
|
||||
}
|
||||
this.reportingCoordinator.finalizeSessions(getCurrentTimestampSeconds(), str);
|
||||
}
|
||||
|
||||
public synchronized void handleUncaughtException(SettingsProvider settingsProvider, Thread thread, Throwable th, boolean z3) {
|
||||
CrashlyticsController crashlyticsController;
|
||||
try {
|
||||
try {
|
||||
Logger.getLogger().d("Handling uncaught exception \"" + th + "\" from thread " + thread.getName());
|
||||
crashlyticsController = this;
|
||||
try {
|
||||
Utils.awaitEvenIfOnMainThread(this.backgroundWorker.submitTask(new Callable<Task<Void>>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.2
|
||||
final /* synthetic */ Throwable val$ex;
|
||||
final /* synthetic */ boolean val$isOnDemand;
|
||||
final /* synthetic */ SettingsProvider val$settingsProvider;
|
||||
final /* synthetic */ Thread val$thread;
|
||||
final /* synthetic */ long val$timestampMillis;
|
||||
|
||||
/* renamed from: com.google.firebase.crashlytics.internal.common.CrashlyticsController$2$1 */
|
||||
/* loaded from: classes3.dex */
|
||||
public class AnonymousClass1 implements SuccessContinuation<Settings, Void> {
|
||||
final /* synthetic */ String val$currentSessionId;
|
||||
final /* synthetic */ Executor val$executor;
|
||||
|
||||
public AnonymousClass1(Executor executor2, String currentSessionId2) {
|
||||
r2 = executor2;
|
||||
r3 = currentSessionId2;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Void> then(Settings settings) throws Exception {
|
||||
if (settings == null) {
|
||||
Logger.getLogger().w("Received null app settings, cannot send reports at crash time.");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
return Tasks.whenAll((Task<?>[]) new Task[]{CrashlyticsController.this.logAnalyticsAppExceptionEvents(), CrashlyticsController.this.reportingCoordinator.sendReports(r2, r7 ? r3 : null)});
|
||||
}
|
||||
}
|
||||
|
||||
public AnonymousClass2(long j4, Throwable th2, Thread thread2, SettingsProvider settingsProvider2, boolean z32) {
|
||||
r2 = j4;
|
||||
r4 = th2;
|
||||
r5 = thread2;
|
||||
r6 = settingsProvider2;
|
||||
r7 = z32;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Task<Void> call() throws Exception {
|
||||
long timestampSeconds = CrashlyticsController.getTimestampSeconds(r2);
|
||||
String currentSessionId2 = CrashlyticsController.this.getCurrentSessionId();
|
||||
if (currentSessionId2 == null) {
|
||||
Logger.getLogger().e("Tried to write a fatal exception while no session was open.");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
CrashlyticsController.this.crashMarker.create();
|
||||
CrashlyticsController.this.reportingCoordinator.persistFatalEvent(r4, r5, currentSessionId2, timestampSeconds);
|
||||
CrashlyticsController.this.doWriteAppExceptionMarker(r2);
|
||||
CrashlyticsController.this.doCloseSessions(r6);
|
||||
CrashlyticsController.this.doOpenSession(new CLSUUID(CrashlyticsController.this.idManager).toString(), Boolean.valueOf(r7));
|
||||
if (!CrashlyticsController.this.dataCollectionArbiter.isAutomaticDataCollectionEnabled()) {
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
Executor executor2 = CrashlyticsController.this.backgroundWorker.getExecutor();
|
||||
return r6.getSettingsAsync().onSuccessTask(executor2, new SuccessContinuation<Settings, Void>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsController.2.1
|
||||
final /* synthetic */ String val$currentSessionId;
|
||||
final /* synthetic */ Executor val$executor;
|
||||
|
||||
public AnonymousClass1(Executor executor22, String currentSessionId22) {
|
||||
r2 = executor22;
|
||||
r3 = currentSessionId22;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.SuccessContinuation
|
||||
public Task<Void> then(Settings settings) throws Exception {
|
||||
if (settings == null) {
|
||||
Logger.getLogger().w("Received null app settings, cannot send reports at crash time.");
|
||||
return Tasks.forResult(null);
|
||||
}
|
||||
return Tasks.whenAll((Task<?>[]) new Task[]{CrashlyticsController.this.logAnalyticsAppExceptionEvents(), CrashlyticsController.this.reportingCoordinator.sendReports(r2, r7 ? r3 : null)});
|
||||
}
|
||||
});
|
||||
}
|
||||
}));
|
||||
} catch (TimeoutException unused) {
|
||||
Logger.getLogger().e("Cannot send reports. Timed out while fetching settings.");
|
||||
} catch (Exception e4) {
|
||||
Logger.getLogger().e("Error handling uncaught exception", e4);
|
||||
}
|
||||
} catch (Throwable th2) {
|
||||
th = th2;
|
||||
crashlyticsController = this;
|
||||
Throwable th3 = th;
|
||||
throw th3;
|
||||
}
|
||||
} catch (Throwable th4) {
|
||||
th = th4;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,294 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.android.gms.tasks.Tasks;
|
||||
import com.google.firebase.FirebaseApp;
|
||||
import com.google.firebase.crashlytics.BuildConfig;
|
||||
import com.google.firebase.crashlytics.internal.CrashlyticsNativeComponent;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.RemoteConfigDeferredProxy;
|
||||
import com.google.firebase.crashlytics.internal.analytics.AnalyticsEventLogger;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbHandler;
|
||||
import com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbSource;
|
||||
import com.google.firebase.crashlytics.internal.metadata.LogFileManager;
|
||||
import com.google.firebase.crashlytics.internal.metadata.UserMetadata;
|
||||
import com.google.firebase.crashlytics.internal.persistence.FileStore;
|
||||
import com.google.firebase.crashlytics.internal.settings.SettingsProvider;
|
||||
import com.google.firebase.crashlytics.internal.stacktrace.MiddleOutFallbackStrategy;
|
||||
import com.google.firebase.crashlytics.internal.stacktrace.RemoveRepeatsStrategy;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsCore {
|
||||
static final String CRASHLYTICS_REQUIRE_BUILD_ID = "com.crashlytics.RequireBuildId";
|
||||
static final boolean CRASHLYTICS_REQUIRE_BUILD_ID_DEFAULT = true;
|
||||
static final String CRASH_MARKER_FILE_NAME = "crash_marker";
|
||||
static final int DEFAULT_MAIN_HANDLER_TIMEOUT_SEC = 3;
|
||||
private static final String INITIALIZATION_MARKER_FILE_NAME = "initialization_marker";
|
||||
static final int MAX_STACK_SIZE = 1024;
|
||||
private static final String MISSING_BUILD_ID_MSG = "The Crashlytics build ID is missing. This occurs when the Crashlytics Gradle plugin is missing from your app's build configuration. Please review the Firebase Crashlytics onboarding instructions at https://firebase.google.com/docs/crashlytics/get-started?platform=android#add-plugin";
|
||||
static final int NUM_STACK_REPETITIONS_ALLOWED = 10;
|
||||
private static final String ON_DEMAND_DROPPED_KEY = "com.crashlytics.on-demand.dropped-exceptions";
|
||||
private static final String ON_DEMAND_RECORDED_KEY = "com.crashlytics.on-demand.recorded-exceptions";
|
||||
private final AnalyticsEventLogger analyticsEventLogger;
|
||||
private final FirebaseApp app;
|
||||
private final CrashlyticsBackgroundWorker backgroundWorker;
|
||||
public final BreadcrumbSource breadcrumbSource;
|
||||
private final Context context;
|
||||
private CrashlyticsController controller;
|
||||
private final ExecutorService crashHandlerExecutor;
|
||||
private CrashlyticsFileMarker crashMarker;
|
||||
private final DataCollectionArbiter dataCollectionArbiter;
|
||||
private boolean didCrashOnPreviousExecution;
|
||||
private final FileStore fileStore;
|
||||
private final IdManager idManager;
|
||||
private CrashlyticsFileMarker initializationMarker;
|
||||
private final CrashlyticsNativeComponent nativeComponent;
|
||||
private final RemoteConfigDeferredProxy remoteConfigDeferredProxy;
|
||||
private final CrashlyticsAppQualitySessionsSubscriber sessionsSubscriber;
|
||||
private final long startTime = System.currentTimeMillis();
|
||||
private final OnDemandCounter onDemandCounter = new OnDemandCounter();
|
||||
|
||||
public CrashlyticsCore(FirebaseApp firebaseApp, IdManager idManager, CrashlyticsNativeComponent crashlyticsNativeComponent, DataCollectionArbiter dataCollectionArbiter, BreadcrumbSource breadcrumbSource, AnalyticsEventLogger analyticsEventLogger, FileStore fileStore, ExecutorService executorService, CrashlyticsAppQualitySessionsSubscriber crashlyticsAppQualitySessionsSubscriber, RemoteConfigDeferredProxy remoteConfigDeferredProxy) {
|
||||
this.app = firebaseApp;
|
||||
this.dataCollectionArbiter = dataCollectionArbiter;
|
||||
this.context = firebaseApp.getApplicationContext();
|
||||
this.idManager = idManager;
|
||||
this.nativeComponent = crashlyticsNativeComponent;
|
||||
this.breadcrumbSource = breadcrumbSource;
|
||||
this.analyticsEventLogger = analyticsEventLogger;
|
||||
this.crashHandlerExecutor = executorService;
|
||||
this.fileStore = fileStore;
|
||||
this.backgroundWorker = new CrashlyticsBackgroundWorker(executorService);
|
||||
this.sessionsSubscriber = crashlyticsAppQualitySessionsSubscriber;
|
||||
this.remoteConfigDeferredProxy = remoteConfigDeferredProxy;
|
||||
}
|
||||
|
||||
private void checkForPreviousCrash() {
|
||||
try {
|
||||
this.didCrashOnPreviousExecution = Boolean.TRUE.equals((Boolean) Utils.awaitEvenIfOnMainThread(this.backgroundWorker.submit(new Callable<Boolean>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsCore.4
|
||||
/* JADX WARN: Can't rename method to resolve collision */
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Boolean call() throws Exception {
|
||||
return Boolean.valueOf(CrashlyticsCore.this.controller.didCrashOnPreviousExecution());
|
||||
}
|
||||
})));
|
||||
} catch (Exception unused) {
|
||||
this.didCrashOnPreviousExecution = false;
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public Task<Void> doBackgroundInitialization(SettingsProvider settingsProvider) {
|
||||
markInitializationStarted();
|
||||
try {
|
||||
this.breadcrumbSource.registerBreadcrumbHandler(new BreadcrumbHandler() { // from class: com.google.firebase.crashlytics.internal.common.c
|
||||
@Override // com.google.firebase.crashlytics.internal.breadcrumbs.BreadcrumbHandler
|
||||
public final void handleBreadcrumb(String str) {
|
||||
CrashlyticsCore.this.log(str);
|
||||
}
|
||||
});
|
||||
this.controller.saveVersionControlInfo();
|
||||
if (!settingsProvider.getSettingsSync().featureFlagData.collectReports) {
|
||||
Logger.getLogger().d("Collection of crash reports disabled in Crashlytics settings.");
|
||||
return Tasks.forException(new RuntimeException("Collection of crash reports disabled in Crashlytics settings."));
|
||||
}
|
||||
if (!this.controller.finalizeSessions(settingsProvider)) {
|
||||
Logger.getLogger().w("Previous sessions could not be finalized.");
|
||||
}
|
||||
return this.controller.submitAllReports(settingsProvider.getSettingsAsync());
|
||||
} catch (Exception e4) {
|
||||
Logger.getLogger().e("Crashlytics encountered a problem during asynchronous initialization.", e4);
|
||||
return Tasks.forException(e4);
|
||||
} finally {
|
||||
markInitializationComplete();
|
||||
}
|
||||
}
|
||||
|
||||
private void finishInitSynchronously(final SettingsProvider settingsProvider) {
|
||||
Future<?> submit = this.crashHandlerExecutor.submit(new Runnable() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsCore.2
|
||||
@Override // java.lang.Runnable
|
||||
public void run() {
|
||||
CrashlyticsCore.this.doBackgroundInitialization(settingsProvider);
|
||||
}
|
||||
});
|
||||
Logger.getLogger().d("Crashlytics detected incomplete initialization on previous app launch. Will initialize synchronously.");
|
||||
try {
|
||||
submit.get(3L, TimeUnit.SECONDS);
|
||||
} catch (InterruptedException e4) {
|
||||
Logger.getLogger().e("Crashlytics was interrupted during initialization.", e4);
|
||||
} catch (ExecutionException e5) {
|
||||
Logger.getLogger().e("Crashlytics encountered a problem during initialization.", e5);
|
||||
} catch (TimeoutException e6) {
|
||||
Logger.getLogger().e("Crashlytics timed out during initialization.", e6);
|
||||
}
|
||||
}
|
||||
|
||||
public static String getVersion() {
|
||||
return BuildConfig.VERSION_NAME;
|
||||
}
|
||||
|
||||
public static boolean isBuildIdValid(String str, boolean z3) {
|
||||
if (!z3) {
|
||||
Logger.getLogger().v("Configured not to require a build ID.");
|
||||
return CRASHLYTICS_REQUIRE_BUILD_ID_DEFAULT;
|
||||
}
|
||||
if (!TextUtils.isEmpty(str)) {
|
||||
return CRASHLYTICS_REQUIRE_BUILD_ID_DEFAULT;
|
||||
}
|
||||
Log.e(Logger.TAG, ".");
|
||||
Log.e(Logger.TAG, ". | | ");
|
||||
Log.e(Logger.TAG, ". | |");
|
||||
Log.e(Logger.TAG, ". | |");
|
||||
Log.e(Logger.TAG, ". \\ | | /");
|
||||
Log.e(Logger.TAG, ". \\ /");
|
||||
Log.e(Logger.TAG, ". \\ /");
|
||||
Log.e(Logger.TAG, ". \\/");
|
||||
Log.e(Logger.TAG, ".");
|
||||
Log.e(Logger.TAG, MISSING_BUILD_ID_MSG);
|
||||
Log.e(Logger.TAG, ".");
|
||||
Log.e(Logger.TAG, ". /\\");
|
||||
Log.e(Logger.TAG, ". / \\");
|
||||
Log.e(Logger.TAG, ". / \\");
|
||||
Log.e(Logger.TAG, ". / | | \\");
|
||||
Log.e(Logger.TAG, ". | |");
|
||||
Log.e(Logger.TAG, ". | |");
|
||||
Log.e(Logger.TAG, ". | |");
|
||||
Log.e(Logger.TAG, ".");
|
||||
return false;
|
||||
}
|
||||
|
||||
public Task<Boolean> checkForUnsentReports() {
|
||||
return this.controller.checkForUnsentReports();
|
||||
}
|
||||
|
||||
public Task<Void> deleteUnsentReports() {
|
||||
return this.controller.deleteUnsentReports();
|
||||
}
|
||||
|
||||
public boolean didCrashOnPreviousExecution() {
|
||||
return this.didCrashOnPreviousExecution;
|
||||
}
|
||||
|
||||
public boolean didPreviousInitializationFail() {
|
||||
return this.initializationMarker.isPresent();
|
||||
}
|
||||
|
||||
public Task<Void> doBackgroundInitializationAsync(final SettingsProvider settingsProvider) {
|
||||
return Utils.callTask(this.crashHandlerExecutor, new Callable<Task<Void>>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsCore.1
|
||||
/* JADX WARN: Can't rename method to resolve collision */
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Task<Void> call() throws Exception {
|
||||
return CrashlyticsCore.this.doBackgroundInitialization(settingsProvider);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public CrashlyticsController getController() {
|
||||
return this.controller;
|
||||
}
|
||||
|
||||
public void log(String str) {
|
||||
this.controller.writeToLog(System.currentTimeMillis() - this.startTime, str);
|
||||
}
|
||||
|
||||
public void logException(Throwable th) {
|
||||
this.controller.writeNonFatalException(Thread.currentThread(), th);
|
||||
}
|
||||
|
||||
public void logFatalException(Throwable th) {
|
||||
Logger.getLogger().d("Recorded on-demand fatal events: " + this.onDemandCounter.getRecordedOnDemandExceptions());
|
||||
Logger.getLogger().d("Dropped on-demand fatal events: " + this.onDemandCounter.getDroppedOnDemandExceptions());
|
||||
this.controller.setInternalKey(ON_DEMAND_RECORDED_KEY, Integer.toString(this.onDemandCounter.getRecordedOnDemandExceptions()));
|
||||
this.controller.setInternalKey(ON_DEMAND_DROPPED_KEY, Integer.toString(this.onDemandCounter.getDroppedOnDemandExceptions()));
|
||||
this.controller.logFatalException(Thread.currentThread(), th);
|
||||
}
|
||||
|
||||
public void markInitializationComplete() {
|
||||
this.backgroundWorker.submit(new Callable<Boolean>() { // from class: com.google.firebase.crashlytics.internal.common.CrashlyticsCore.3
|
||||
/* JADX WARN: Can't rename method to resolve collision */
|
||||
@Override // java.util.concurrent.Callable
|
||||
public Boolean call() throws Exception {
|
||||
try {
|
||||
boolean remove = CrashlyticsCore.this.initializationMarker.remove();
|
||||
if (!remove) {
|
||||
Logger.getLogger().w("Initialization marker file was not properly removed.");
|
||||
}
|
||||
return Boolean.valueOf(remove);
|
||||
} catch (Exception e4) {
|
||||
Logger.getLogger().e("Problem encountered deleting Crashlytics initialization marker.", e4);
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void markInitializationStarted() {
|
||||
this.backgroundWorker.checkRunningOnThread();
|
||||
this.initializationMarker.create();
|
||||
Logger.getLogger().v("Initialization marker file was created.");
|
||||
}
|
||||
|
||||
public boolean onPreExecute(AppData appData, SettingsProvider settingsProvider) {
|
||||
if (!isBuildIdValid(appData.buildId, CommonUtils.getBooleanResourceValue(this.context, CRASHLYTICS_REQUIRE_BUILD_ID, CRASHLYTICS_REQUIRE_BUILD_ID_DEFAULT))) {
|
||||
throw new IllegalStateException(MISSING_BUILD_ID_MSG);
|
||||
}
|
||||
String clsuuid = new CLSUUID(this.idManager).toString();
|
||||
try {
|
||||
this.crashMarker = new CrashlyticsFileMarker(CRASH_MARKER_FILE_NAME, this.fileStore);
|
||||
this.initializationMarker = new CrashlyticsFileMarker(INITIALIZATION_MARKER_FILE_NAME, this.fileStore);
|
||||
UserMetadata userMetadata = new UserMetadata(clsuuid, this.fileStore, this.backgroundWorker);
|
||||
LogFileManager logFileManager = new LogFileManager(this.fileStore);
|
||||
MiddleOutFallbackStrategy middleOutFallbackStrategy = new MiddleOutFallbackStrategy(1024, new RemoveRepeatsStrategy(10));
|
||||
this.remoteConfigDeferredProxy.setupListener(userMetadata);
|
||||
this.controller = new CrashlyticsController(this.context, this.backgroundWorker, this.idManager, this.dataCollectionArbiter, this.fileStore, this.crashMarker, appData, userMetadata, logFileManager, SessionReportingCoordinator.create(this.context, this.idManager, this.fileStore, appData, logFileManager, userMetadata, middleOutFallbackStrategy, settingsProvider, this.onDemandCounter, this.sessionsSubscriber), this.nativeComponent, this.analyticsEventLogger, this.sessionsSubscriber);
|
||||
boolean didPreviousInitializationFail = didPreviousInitializationFail();
|
||||
checkForPreviousCrash();
|
||||
this.controller.enableExceptionHandling(clsuuid, Thread.getDefaultUncaughtExceptionHandler(), settingsProvider);
|
||||
if (!didPreviousInitializationFail || !CommonUtils.canTryConnection(this.context)) {
|
||||
Logger.getLogger().d("Successfully configured exception handler.");
|
||||
return CRASHLYTICS_REQUIRE_BUILD_ID_DEFAULT;
|
||||
}
|
||||
Logger.getLogger().d("Crashlytics did not finish previous background initialization. Initializing synchronously.");
|
||||
finishInitSynchronously(settingsProvider);
|
||||
return false;
|
||||
} catch (Exception e4) {
|
||||
Logger.getLogger().e("Crashlytics was not started due to an exception during initialization", e4);
|
||||
this.controller = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public Task<Void> sendUnsentReports() {
|
||||
return this.controller.sendUnsentReports();
|
||||
}
|
||||
|
||||
public void setCrashlyticsCollectionEnabled(Boolean bool) {
|
||||
this.dataCollectionArbiter.setCrashlyticsDataCollectionEnabled(bool);
|
||||
}
|
||||
|
||||
public void setCustomKey(String str, String str2) {
|
||||
this.controller.setCustomKey(str, str2);
|
||||
}
|
||||
|
||||
public void setCustomKeys(Map<String, String> map) {
|
||||
this.controller.setCustomKeys(map);
|
||||
}
|
||||
|
||||
public void setInternalKey(String str, String str2) {
|
||||
this.controller.setInternalKey(str, str2);
|
||||
}
|
||||
|
||||
public void setUserId(String str) {
|
||||
this.controller.setUserId(str);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.persistence.FileStore;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsFileMarker {
|
||||
private final FileStore fileStore;
|
||||
private final String markerName;
|
||||
|
||||
public CrashlyticsFileMarker(String str, FileStore fileStore) {
|
||||
this.markerName = str;
|
||||
this.fileStore = fileStore;
|
||||
}
|
||||
|
||||
private File getMarkerFile() {
|
||||
return this.fileStore.getCommonFile(this.markerName);
|
||||
}
|
||||
|
||||
public boolean create() {
|
||||
try {
|
||||
return getMarkerFile().createNewFile();
|
||||
} catch (IOException e4) {
|
||||
Logger.getLogger().e("Error creating marker: " + this.markerName, e4);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isPresent() {
|
||||
return getMarkerFile().exists();
|
||||
}
|
||||
|
||||
public boolean remove() {
|
||||
return getMarkerFile().delete();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
interface CrashlyticsLifecycleEvents {
|
||||
void onBeginSession(String str, long j4);
|
||||
|
||||
void onCustomKey(String str, String str2);
|
||||
|
||||
void onLog(long j4, String str);
|
||||
|
||||
void onUserId(String str);
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.os.Environment;
|
||||
import android.os.StatFs;
|
||||
import android.text.TextUtils;
|
||||
import com.google.firebase.crashlytics.BuildConfig;
|
||||
import com.google.firebase.crashlytics.internal.ProcessDetailsProvider;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import com.google.firebase.crashlytics.internal.settings.SettingsProvider;
|
||||
import com.google.firebase.crashlytics.internal.stacktrace.StackTraceTrimmingStrategy;
|
||||
import com.google.firebase.crashlytics.internal.stacktrace.TrimmedThrowableData;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsReportDataCapture {
|
||||
private static final Map<String, Integer> ARCHITECTURES_BY_NAME;
|
||||
static final String GENERATOR;
|
||||
static final int GENERATOR_TYPE = 3;
|
||||
static final int REPORT_ANDROID_PLATFORM = 4;
|
||||
static final int SESSION_ANDROID_PLATFORM = 3;
|
||||
static final String SIGNAL_DEFAULT = "0";
|
||||
private final AppData appData;
|
||||
private final Context context;
|
||||
private final IdManager idManager;
|
||||
private final ProcessDetailsProvider processDetailsProvider = ProcessDetailsProvider.INSTANCE;
|
||||
private final SettingsProvider settingsProvider;
|
||||
private final StackTraceTrimmingStrategy stackTraceTrimmingStrategy;
|
||||
|
||||
static {
|
||||
HashMap hashMap = new HashMap();
|
||||
ARCHITECTURES_BY_NAME = hashMap;
|
||||
hashMap.put("armeabi", 5);
|
||||
hashMap.put("armeabi-v7a", 6);
|
||||
hashMap.put("arm64-v8a", 9);
|
||||
hashMap.put("x86", 0);
|
||||
hashMap.put("x86_64", 1);
|
||||
Locale locale = Locale.US;
|
||||
GENERATOR = "Crashlytics Android SDK/18.6.0";
|
||||
}
|
||||
|
||||
public CrashlyticsReportDataCapture(Context context, IdManager idManager, AppData appData, StackTraceTrimmingStrategy stackTraceTrimmingStrategy, SettingsProvider settingsProvider) {
|
||||
this.context = context;
|
||||
this.idManager = idManager;
|
||||
this.appData = appData;
|
||||
this.stackTraceTrimmingStrategy = stackTraceTrimmingStrategy;
|
||||
this.settingsProvider = settingsProvider;
|
||||
}
|
||||
|
||||
private CrashlyticsReport.ApplicationExitInfo addBuildIdInfo(CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
|
||||
List<CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch> list;
|
||||
if (!this.settingsProvider.getSettingsSync().featureFlagData.collectBuildIds || this.appData.buildIdInfoList.size() <= 0) {
|
||||
list = null;
|
||||
} else {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (BuildIdInfo buildIdInfo : this.appData.buildIdInfoList) {
|
||||
arrayList.add(CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch.builder().setLibraryName(buildIdInfo.getLibraryName()).setArch(buildIdInfo.getArch()).setBuildId(buildIdInfo.getBuildId()).build());
|
||||
}
|
||||
list = Collections.unmodifiableList(arrayList);
|
||||
}
|
||||
return CrashlyticsReport.ApplicationExitInfo.builder().setImportance(applicationExitInfo.getImportance()).setProcessName(applicationExitInfo.getProcessName()).setReasonCode(applicationExitInfo.getReasonCode()).setTimestamp(applicationExitInfo.getTimestamp()).setPid(applicationExitInfo.getPid()).setPss(applicationExitInfo.getPss()).setRss(applicationExitInfo.getRss()).setTraceFile(applicationExitInfo.getTraceFile()).setBuildIdMappingForArch(list).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Builder buildReportData() {
|
||||
return CrashlyticsReport.builder().setSdkVersion(BuildConfig.VERSION_NAME).setGmpAppId(this.appData.googleAppId).setInstallationUuid(this.idManager.getInstallIds().getCrashlyticsInstallId()).setFirebaseInstallationId(this.idManager.getInstallIds().getFirebaseInstallationId()).setBuildVersion(this.appData.versionCode).setDisplayVersion(this.appData.versionName).setPlatform(4);
|
||||
}
|
||||
|
||||
private static long ensureNonNegative(long j4) {
|
||||
if (j4 > 0) {
|
||||
return j4;
|
||||
}
|
||||
return 0L;
|
||||
}
|
||||
|
||||
private static int getDeviceArchitecture() {
|
||||
Integer num;
|
||||
String str = Build.CPU_ABI;
|
||||
if (TextUtils.isEmpty(str) || (num = ARCHITECTURES_BY_NAME.get(str.toLowerCase(Locale.US))) == null) {
|
||||
return 7;
|
||||
}
|
||||
return num.intValue();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application.Execution.BinaryImage populateBinaryImageData() {
|
||||
return CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.builder().setBaseAddress(0L).setSize(0L).setName(this.appData.packageName).setUuid(this.appData.buildId).build();
|
||||
}
|
||||
|
||||
private List<CrashlyticsReport.Session.Event.Application.Execution.BinaryImage> populateBinaryImagesList() {
|
||||
return Collections.singletonList(populateBinaryImageData());
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application populateEventApplicationData(int i, TrimmedThrowableData trimmedThrowableData, Thread thread, int i4, int i5, boolean z3) {
|
||||
Boolean bool;
|
||||
CrashlyticsReport.Session.Event.Application.ProcessDetails currentProcessDetails = this.processDetailsProvider.getCurrentProcessDetails(this.context);
|
||||
if (currentProcessDetails.getImportance() > 0) {
|
||||
bool = Boolean.valueOf(currentProcessDetails.getImportance() != 100);
|
||||
} else {
|
||||
bool = null;
|
||||
}
|
||||
return CrashlyticsReport.Session.Event.Application.builder().setBackground(bool).setCurrentProcessDetails(currentProcessDetails).setAppProcessDetails(this.processDetailsProvider.getAppProcessDetails(this.context)).setUiOrientation(i).setExecution(populateExecutionData(trimmedThrowableData, thread, i4, i5, z3)).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Device populateEventDeviceData(int i) {
|
||||
BatteryState batteryState = BatteryState.get(this.context);
|
||||
Float batteryLevel = batteryState.getBatteryLevel();
|
||||
Double valueOf = batteryLevel != null ? Double.valueOf(batteryLevel.doubleValue()) : null;
|
||||
int batteryVelocity = batteryState.getBatteryVelocity();
|
||||
boolean proximitySensorEnabled = CommonUtils.getProximitySensorEnabled(this.context);
|
||||
return CrashlyticsReport.Session.Event.Device.builder().setBatteryLevel(valueOf).setBatteryVelocity(batteryVelocity).setProximityOn(proximitySensorEnabled).setOrientation(i).setRamUsed(ensureNonNegative(CommonUtils.calculateTotalRamInBytes(this.context) - CommonUtils.calculateFreeRamInBytes(this.context))).setDiskUsed(CommonUtils.calculateUsedDiskSpaceInBytes(Environment.getDataDirectory().getPath())).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application.Execution.Exception populateExceptionData(TrimmedThrowableData trimmedThrowableData, int i, int i4) {
|
||||
return populateExceptionData(trimmedThrowableData, i, i4, 0);
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application.Execution populateExecutionData(TrimmedThrowableData trimmedThrowableData, Thread thread, int i, int i4, boolean z3) {
|
||||
return CrashlyticsReport.Session.Event.Application.Execution.builder().setThreads(populateThreadsList(trimmedThrowableData, thread, i, z3)).setException(populateExceptionData(trimmedThrowableData, i, i4)).setSignal(populateSignalData()).setBinaries(populateBinaryImagesList()).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame populateFrameData(StackTraceElement stackTraceElement, CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder builder) {
|
||||
long j4 = 0;
|
||||
long max = stackTraceElement.isNativeMethod() ? Math.max(stackTraceElement.getLineNumber(), 0L) : 0L;
|
||||
String str = stackTraceElement.getClassName() + "." + stackTraceElement.getMethodName();
|
||||
String fileName = stackTraceElement.getFileName();
|
||||
if (!stackTraceElement.isNativeMethod() && stackTraceElement.getLineNumber() > 0) {
|
||||
j4 = stackTraceElement.getLineNumber();
|
||||
}
|
||||
return builder.setPc(max).setSymbol(str).setFile(fileName).setOffset(j4).build();
|
||||
}
|
||||
|
||||
private List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> populateFramesList(StackTraceElement[] stackTraceElementArr, int i) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (StackTraceElement stackTraceElement : stackTraceElementArr) {
|
||||
arrayList.add(populateFrameData(stackTraceElement, CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.builder().setImportance(i)));
|
||||
}
|
||||
return Collections.unmodifiableList(arrayList);
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Application populateSessionApplicationData() {
|
||||
return CrashlyticsReport.Session.Application.builder().setIdentifier(this.idManager.getAppIdentifier()).setVersion(this.appData.versionCode).setDisplayVersion(this.appData.versionName).setInstallationUuid(this.idManager.getInstallIds().getCrashlyticsInstallId()).setDevelopmentPlatform(this.appData.developmentPlatformProvider.getDevelopmentPlatform()).setDevelopmentPlatformVersion(this.appData.developmentPlatformProvider.getDevelopmentPlatformVersion()).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session populateSessionData(String str, long j4) {
|
||||
return CrashlyticsReport.Session.builder().setStartedAt(j4).setIdentifier(str).setGenerator(GENERATOR).setApp(populateSessionApplicationData()).setOs(populateSessionOperatingSystemData()).setDevice(populateSessionDeviceData()).setGeneratorType(3).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Device populateSessionDeviceData() {
|
||||
StatFs statFs = new StatFs(Environment.getDataDirectory().getPath());
|
||||
int deviceArchitecture = getDeviceArchitecture();
|
||||
int availableProcessors = Runtime.getRuntime().availableProcessors();
|
||||
long calculateTotalRamInBytes = CommonUtils.calculateTotalRamInBytes(this.context);
|
||||
long blockCount = statFs.getBlockCount() * statFs.getBlockSize();
|
||||
boolean isEmulator = CommonUtils.isEmulator();
|
||||
int deviceState = CommonUtils.getDeviceState();
|
||||
return CrashlyticsReport.Session.Device.builder().setArch(deviceArchitecture).setModel(Build.MODEL).setCores(availableProcessors).setRam(calculateTotalRamInBytes).setDiskSpace(blockCount).setSimulator(isEmulator).setState(deviceState).setManufacturer(Build.MANUFACTURER).setModelClass(Build.PRODUCT).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.OperatingSystem populateSessionOperatingSystemData() {
|
||||
return CrashlyticsReport.Session.OperatingSystem.builder().setPlatform(3).setVersion(Build.VERSION.RELEASE).setBuildVersion(Build.VERSION.CODENAME).setJailbroken(CommonUtils.isRooted()).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application.Execution.Signal populateSignalData() {
|
||||
return CrashlyticsReport.Session.Event.Application.Execution.Signal.builder().setName("0").setCode("0").setAddress(0L).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application.Execution.Thread populateThreadData(Thread thread, StackTraceElement[] stackTraceElementArr) {
|
||||
return populateThreadData(thread, stackTraceElementArr, 0);
|
||||
}
|
||||
|
||||
private List<CrashlyticsReport.Session.Event.Application.Execution.Thread> populateThreadsList(TrimmedThrowableData trimmedThrowableData, Thread thread, int i, boolean z3) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
arrayList.add(populateThreadData(thread, trimmedThrowableData.stacktrace, i));
|
||||
if (z3) {
|
||||
for (Map.Entry<Thread, StackTraceElement[]> entry : Thread.getAllStackTraces().entrySet()) {
|
||||
Thread key = entry.getKey();
|
||||
if (!key.equals(thread)) {
|
||||
arrayList.add(populateThreadData(key, this.stackTraceTrimmingStrategy.getTrimmedStackTrace(entry.getValue())));
|
||||
}
|
||||
}
|
||||
}
|
||||
return Collections.unmodifiableList(arrayList);
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application.ProcessDetails processDetailsFromApplicationExitInfo(CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
|
||||
return this.processDetailsProvider.buildProcessDetails(applicationExitInfo.getProcessName(), applicationExitInfo.getPid(), applicationExitInfo.getImportance());
|
||||
}
|
||||
|
||||
public CrashlyticsReport.Session.Event captureAnrEventData(CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
|
||||
int i = this.context.getResources().getConfiguration().orientation;
|
||||
return CrashlyticsReport.Session.Event.builder().setType("anr").setTimestamp(applicationExitInfo.getTimestamp()).setApp(populateEventApplicationData(i, addBuildIdInfo(applicationExitInfo))).setDevice(populateEventDeviceData(i)).build();
|
||||
}
|
||||
|
||||
public CrashlyticsReport.Session.Event captureEventData(Throwable th, Thread thread, String str, long j4, int i, int i4, boolean z3) {
|
||||
int i5 = this.context.getResources().getConfiguration().orientation;
|
||||
return CrashlyticsReport.Session.Event.builder().setType(str).setTimestamp(j4).setApp(populateEventApplicationData(i5, TrimmedThrowableData.makeTrimmedThrowableData(th, this.stackTraceTrimmingStrategy), thread, i, i4, z3)).setDevice(populateEventDeviceData(i5)).build();
|
||||
}
|
||||
|
||||
public CrashlyticsReport captureReportData(String str, long j4) {
|
||||
return buildReportData().setSession(populateSessionData(str, j4)).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application.Execution.Exception populateExceptionData(TrimmedThrowableData trimmedThrowableData, int i, int i4, int i5) {
|
||||
String str = trimmedThrowableData.className;
|
||||
String str2 = trimmedThrowableData.localizedMessage;
|
||||
StackTraceElement[] stackTraceElementArr = trimmedThrowableData.stacktrace;
|
||||
int i6 = 0;
|
||||
if (stackTraceElementArr == null) {
|
||||
stackTraceElementArr = new StackTraceElement[0];
|
||||
}
|
||||
TrimmedThrowableData trimmedThrowableData2 = trimmedThrowableData.cause;
|
||||
if (i5 >= i4) {
|
||||
TrimmedThrowableData trimmedThrowableData3 = trimmedThrowableData2;
|
||||
while (trimmedThrowableData3 != null) {
|
||||
trimmedThrowableData3 = trimmedThrowableData3.cause;
|
||||
i6++;
|
||||
}
|
||||
}
|
||||
CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder overflowCount = CrashlyticsReport.Session.Event.Application.Execution.Exception.builder().setType(str).setReason(str2).setFrames(populateFramesList(stackTraceElementArr, i)).setOverflowCount(i6);
|
||||
if (trimmedThrowableData2 != null && i6 == 0) {
|
||||
overflowCount.setCausedBy(populateExceptionData(trimmedThrowableData2, i, i4, i5 + 1));
|
||||
}
|
||||
return overflowCount.build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application.Execution.Thread populateThreadData(Thread thread, StackTraceElement[] stackTraceElementArr, int i) {
|
||||
return CrashlyticsReport.Session.Event.Application.Execution.Thread.builder().setName(thread.getName()).setImportance(i).setFrames(populateFramesList(stackTraceElementArr, i)).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application.Execution populateExecutionData(CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
|
||||
return CrashlyticsReport.Session.Event.Application.Execution.builder().setAppExitInfo(applicationExitInfo).setSignal(populateSignalData()).setBinaries(populateBinaryImagesList()).build();
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event.Application populateEventApplicationData(int i, CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
|
||||
return CrashlyticsReport.Session.Event.Application.builder().setBackground(Boolean.valueOf(applicationExitInfo.getImportance() != 100)).setCurrentProcessDetails(processDetailsFromApplicationExitInfo(applicationExitInfo)).setUiOrientation(i).setExecution(populateExecutionData(applicationExitInfo)).build();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.io.File;
|
||||
|
||||
@AutoValue
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class CrashlyticsReportWithSessionId {
|
||||
public static CrashlyticsReportWithSessionId create(CrashlyticsReport crashlyticsReport, String str, File file) {
|
||||
return new AutoValue_CrashlyticsReportWithSessionId(crashlyticsReport, str, file);
|
||||
}
|
||||
|
||||
public abstract CrashlyticsReport getReport();
|
||||
|
||||
public abstract File getReportFile();
|
||||
|
||||
public abstract String getSessionId();
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.CrashlyticsNativeComponent;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.settings.SettingsProvider;
|
||||
import java.lang.Thread;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public class CrashlyticsUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
|
||||
private final CrashListener crashListener;
|
||||
private final Thread.UncaughtExceptionHandler defaultHandler;
|
||||
private final AtomicBoolean isHandlingException = new AtomicBoolean(false);
|
||||
private final CrashlyticsNativeComponent nativeComponent;
|
||||
private final SettingsProvider settingsProvider;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CrashListener {
|
||||
void onUncaughtException(SettingsProvider settingsProvider, Thread thread, Throwable th);
|
||||
}
|
||||
|
||||
public CrashlyticsUncaughtExceptionHandler(CrashListener crashListener, SettingsProvider settingsProvider, Thread.UncaughtExceptionHandler uncaughtExceptionHandler, CrashlyticsNativeComponent crashlyticsNativeComponent) {
|
||||
this.crashListener = crashListener;
|
||||
this.settingsProvider = settingsProvider;
|
||||
this.defaultHandler = uncaughtExceptionHandler;
|
||||
this.nativeComponent = crashlyticsNativeComponent;
|
||||
}
|
||||
|
||||
private boolean shouldRecordUncaughtException(Thread thread, Throwable th) {
|
||||
if (thread == null) {
|
||||
Logger.getLogger().e("Crashlytics will not record uncaught exception; null thread");
|
||||
return false;
|
||||
}
|
||||
if (th == null) {
|
||||
Logger.getLogger().e("Crashlytics will not record uncaught exception; null throwable");
|
||||
return false;
|
||||
}
|
||||
if (!this.nativeComponent.hasCrashDataForCurrentSession()) {
|
||||
return true;
|
||||
}
|
||||
Logger.getLogger().d("Crashlytics will not record uncaught exception; native crash exists for session.");
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isHandlingException() {
|
||||
return this.isHandlingException.get();
|
||||
}
|
||||
|
||||
@Override // java.lang.Thread.UncaughtExceptionHandler
|
||||
public void uncaughtException(Thread thread, Throwable th) {
|
||||
this.isHandlingException.set(true);
|
||||
try {
|
||||
try {
|
||||
if (shouldRecordUncaughtException(thread, th)) {
|
||||
this.crashListener.onUncaughtException(this.settingsProvider, thread, th);
|
||||
} else {
|
||||
Logger.getLogger().d("Uncaught exception will not be recorded by Crashlytics.");
|
||||
}
|
||||
Logger.getLogger().d("Completed exception processing. Invoking default exception handler.");
|
||||
this.defaultHandler.uncaughtException(thread, th);
|
||||
this.isHandlingException.set(false);
|
||||
} catch (Exception e4) {
|
||||
Logger.getLogger().e("An error occurred in the uncaught exception handler", e4);
|
||||
Logger.getLogger().d("Completed exception processing. Invoking default exception handler.");
|
||||
this.defaultHandler.uncaughtException(thread, th);
|
||||
this.isHandlingException.set(false);
|
||||
}
|
||||
} catch (Throwable th2) {
|
||||
Logger.getLogger().d("Completed exception processing. Invoking default exception handler.");
|
||||
this.defaultHandler.uncaughtException(thread, th);
|
||||
this.isHandlingException.set(false);
|
||||
throw th2;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CurrentTimeProvider {
|
||||
long getCurrentTimeMillis();
|
||||
}
|
||||
@@ -0,0 +1,165 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Bundle;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.android.gms.tasks.TaskCompletionSource;
|
||||
import com.google.firebase.FirebaseApp;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class DataCollectionArbiter {
|
||||
private static final String FIREBASE_CRASHLYTICS_COLLECTION_ENABLED = "firebase_crashlytics_collection_enabled";
|
||||
private Boolean crashlyticsDataCollectionEnabled;
|
||||
TaskCompletionSource<Void> dataCollectionEnabledTask;
|
||||
private final TaskCompletionSource<Void> dataCollectionExplicitlyApproved;
|
||||
private final FirebaseApp firebaseApp;
|
||||
private boolean setInManifest;
|
||||
private final SharedPreferences sharedPreferences;
|
||||
private final Object taskLock;
|
||||
boolean taskResolved;
|
||||
|
||||
public DataCollectionArbiter(FirebaseApp firebaseApp) {
|
||||
Object obj = new Object();
|
||||
this.taskLock = obj;
|
||||
this.dataCollectionEnabledTask = new TaskCompletionSource<>();
|
||||
this.taskResolved = false;
|
||||
this.setInManifest = false;
|
||||
this.dataCollectionExplicitlyApproved = new TaskCompletionSource<>();
|
||||
Context applicationContext = firebaseApp.getApplicationContext();
|
||||
this.firebaseApp = firebaseApp;
|
||||
this.sharedPreferences = CommonUtils.getSharedPrefs(applicationContext);
|
||||
Boolean dataCollectionValueFromSharedPreferences = getDataCollectionValueFromSharedPreferences();
|
||||
this.crashlyticsDataCollectionEnabled = dataCollectionValueFromSharedPreferences == null ? getDataCollectionValueFromManifest(applicationContext) : dataCollectionValueFromSharedPreferences;
|
||||
synchronized (obj) {
|
||||
try {
|
||||
if (isAutomaticDataCollectionEnabled()) {
|
||||
this.dataCollectionEnabledTask.trySetResult(null);
|
||||
this.taskResolved = true;
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Boolean getDataCollectionValueFromManifest(Context context) {
|
||||
Boolean readCrashlyticsDataCollectionEnabledFromManifest = readCrashlyticsDataCollectionEnabledFromManifest(context);
|
||||
if (readCrashlyticsDataCollectionEnabledFromManifest == null) {
|
||||
this.setInManifest = false;
|
||||
return null;
|
||||
}
|
||||
this.setInManifest = true;
|
||||
return Boolean.valueOf(Boolean.TRUE.equals(readCrashlyticsDataCollectionEnabledFromManifest));
|
||||
}
|
||||
|
||||
private Boolean getDataCollectionValueFromSharedPreferences() {
|
||||
if (!this.sharedPreferences.contains(FIREBASE_CRASHLYTICS_COLLECTION_ENABLED)) {
|
||||
return null;
|
||||
}
|
||||
this.setInManifest = false;
|
||||
return Boolean.valueOf(this.sharedPreferences.getBoolean(FIREBASE_CRASHLYTICS_COLLECTION_ENABLED, true));
|
||||
}
|
||||
|
||||
private boolean isFirebaseDataCollectionDefaultEnabled() {
|
||||
try {
|
||||
return this.firebaseApp.isDataCollectionDefaultEnabled();
|
||||
} catch (IllegalStateException unused) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private void logDataCollectionState(boolean z3) {
|
||||
String str = z3 ? "ENABLED" : "DISABLED";
|
||||
String str2 = this.crashlyticsDataCollectionEnabled == null ? "global Firebase setting" : this.setInManifest ? "firebase_crashlytics_collection_enabled manifest flag" : "API";
|
||||
Logger.getLogger().d("Crashlytics automatic data collection " + str + " by " + str2 + ".");
|
||||
}
|
||||
|
||||
private static Boolean readCrashlyticsDataCollectionEnabledFromManifest(Context context) {
|
||||
ApplicationInfo applicationInfo;
|
||||
Bundle bundle;
|
||||
try {
|
||||
PackageManager packageManager = context.getPackageManager();
|
||||
if (packageManager == null || (applicationInfo = packageManager.getApplicationInfo(context.getPackageName(), 128)) == null || (bundle = applicationInfo.metaData) == null || !bundle.containsKey(FIREBASE_CRASHLYTICS_COLLECTION_ENABLED)) {
|
||||
return null;
|
||||
}
|
||||
return Boolean.valueOf(applicationInfo.metaData.getBoolean(FIREBASE_CRASHLYTICS_COLLECTION_ENABLED));
|
||||
} catch (PackageManager.NameNotFoundException e4) {
|
||||
Logger.getLogger().e("Could not read data collection permission from manifest", e4);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint({"ApplySharedPref"})
|
||||
private static void storeDataCollectionValueInSharedPreferences(SharedPreferences sharedPreferences, Boolean bool) {
|
||||
SharedPreferences.Editor edit = sharedPreferences.edit();
|
||||
if (bool != null) {
|
||||
edit.putBoolean(FIREBASE_CRASHLYTICS_COLLECTION_ENABLED, bool.booleanValue());
|
||||
} else {
|
||||
edit.remove(FIREBASE_CRASHLYTICS_COLLECTION_ENABLED);
|
||||
}
|
||||
edit.apply();
|
||||
}
|
||||
|
||||
public void grantDataCollectionPermission(boolean z3) {
|
||||
if (!z3) {
|
||||
throw new IllegalStateException("An invalid data collection token was used.");
|
||||
}
|
||||
this.dataCollectionExplicitlyApproved.trySetResult(null);
|
||||
}
|
||||
|
||||
public synchronized boolean isAutomaticDataCollectionEnabled() {
|
||||
boolean booleanValue;
|
||||
try {
|
||||
Boolean bool = this.crashlyticsDataCollectionEnabled;
|
||||
booleanValue = bool != null ? bool.booleanValue() : isFirebaseDataCollectionDefaultEnabled();
|
||||
logDataCollectionState(booleanValue);
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
return booleanValue;
|
||||
}
|
||||
|
||||
public synchronized void setCrashlyticsDataCollectionEnabled(Boolean bool) {
|
||||
if (bool != null) {
|
||||
try {
|
||||
this.setInManifest = false;
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
this.crashlyticsDataCollectionEnabled = bool != null ? bool : getDataCollectionValueFromManifest(this.firebaseApp.getApplicationContext());
|
||||
storeDataCollectionValueInSharedPreferences(this.sharedPreferences, bool);
|
||||
synchronized (this.taskLock) {
|
||||
try {
|
||||
if (isAutomaticDataCollectionEnabled()) {
|
||||
if (!this.taskResolved) {
|
||||
this.dataCollectionEnabledTask.trySetResult(null);
|
||||
this.taskResolved = true;
|
||||
}
|
||||
} else if (this.taskResolved) {
|
||||
this.dataCollectionEnabledTask = new TaskCompletionSource<>();
|
||||
this.taskResolved = false;
|
||||
}
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Task<Void> waitForAutomaticDataCollectionEnabled() {
|
||||
Task<Void> task;
|
||||
synchronized (this.taskLock) {
|
||||
task = this.dataCollectionEnabledTask.getTask();
|
||||
}
|
||||
return task;
|
||||
}
|
||||
|
||||
public Task<Void> waitForDataCollectionPermission(Executor executor) {
|
||||
return Utils.race(executor, this.dataCollectionExplicitlyApproved.getTask(), waitForAutomaticDataCollectionEnabled());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public enum DeliveryMechanism {
|
||||
DEVELOPER(1),
|
||||
USER_SIDELOAD(2),
|
||||
TEST_DISTRIBUTION(3),
|
||||
APP_STORE(4);
|
||||
|
||||
private final int id;
|
||||
|
||||
DeliveryMechanism(int i) {
|
||||
this.id = i;
|
||||
}
|
||||
|
||||
public static DeliveryMechanism determineFrom(String str) {
|
||||
return str != null ? APP_STORE : DEVELOPER;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return this.id;
|
||||
}
|
||||
|
||||
@Override // java.lang.Enum
|
||||
public String toString() {
|
||||
return Integer.toString(this.id);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import C.w;
|
||||
import android.annotation.SuppressLint;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import java.util.Locale;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.RejectedExecutionHandler;
|
||||
import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.ThreadFactory;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class ExecutorUtils {
|
||||
private static final long DEFAULT_TERMINATION_TIMEOUT = 2;
|
||||
|
||||
private ExecutorUtils() {
|
||||
}
|
||||
|
||||
private static void addDelayedShutdownHook(String str, ExecutorService executorService) {
|
||||
addDelayedShutdownHook(str, executorService, DEFAULT_TERMINATION_TIMEOUT, TimeUnit.SECONDS);
|
||||
}
|
||||
|
||||
public static ExecutorService buildSingleThreadExecutorService(String str) {
|
||||
ExecutorService newSingleThreadExecutor = newSingleThreadExecutor(getNamedThreadFactory(str), new ThreadPoolExecutor.DiscardPolicy());
|
||||
addDelayedShutdownHook(str, newSingleThreadExecutor);
|
||||
return newSingleThreadExecutor;
|
||||
}
|
||||
|
||||
public static ScheduledExecutorService buildSingleThreadScheduledExecutorService(String str) {
|
||||
ScheduledExecutorService newSingleThreadScheduledExecutor = Executors.newSingleThreadScheduledExecutor(getNamedThreadFactory(str));
|
||||
addDelayedShutdownHook(str, newSingleThreadScheduledExecutor);
|
||||
return newSingleThreadScheduledExecutor;
|
||||
}
|
||||
|
||||
public static ThreadFactory getNamedThreadFactory(final String str) {
|
||||
final AtomicLong atomicLong = new AtomicLong(1L);
|
||||
return new ThreadFactory() { // from class: com.google.firebase.crashlytics.internal.common.ExecutorUtils.1
|
||||
@Override // java.util.concurrent.ThreadFactory
|
||||
public Thread newThread(final Runnable runnable) {
|
||||
Thread newThread = Executors.defaultThreadFactory().newThread(new BackgroundPriorityRunnable() { // from class: com.google.firebase.crashlytics.internal.common.ExecutorUtils.1.1
|
||||
@Override // com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable
|
||||
public void onRun() {
|
||||
runnable.run();
|
||||
}
|
||||
});
|
||||
newThread.setName(str + atomicLong.getAndIncrement());
|
||||
return newThread;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@SuppressLint({"ThreadPoolCreation"})
|
||||
private static ExecutorService newSingleThreadExecutor(ThreadFactory threadFactory, RejectedExecutionHandler rejectedExecutionHandler) {
|
||||
return Executors.unconfigurableExecutorService(new ThreadPoolExecutor(1, 1, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue(), threadFactory, rejectedExecutionHandler));
|
||||
}
|
||||
|
||||
@SuppressLint({"ThreadPoolCreation"})
|
||||
private static void addDelayedShutdownHook(final String str, final ExecutorService executorService, final long j4, final TimeUnit timeUnit) {
|
||||
Runtime.getRuntime().addShutdownHook(new Thread(new BackgroundPriorityRunnable() { // from class: com.google.firebase.crashlytics.internal.common.ExecutorUtils.2
|
||||
@Override // com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable
|
||||
public void onRun() {
|
||||
try {
|
||||
Logger.getLogger().d("Executing shutdown hook for " + str);
|
||||
executorService.shutdown();
|
||||
if (executorService.awaitTermination(j4, timeUnit)) {
|
||||
return;
|
||||
}
|
||||
Logger.getLogger().d(str + " did not shut down in the allocated time. Requesting immediate shutdown.");
|
||||
executorService.shutdownNow();
|
||||
} catch (InterruptedException unused) {
|
||||
Logger logger = Logger.getLogger();
|
||||
Locale locale = Locale.US;
|
||||
logger.d("Interrupted while waiting for " + str + " to shut down. Requesting immediate shutdown.");
|
||||
executorService.shutdownNow();
|
||||
}
|
||||
}
|
||||
}, w.z("Crashlytics Shutdown Hook for ", str)));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.zip.GZIPOutputStream;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public class FileBackedNativeSessionFile implements NativeSessionFile {
|
||||
private final String dataTransportFilename;
|
||||
private final File file;
|
||||
private final String reportsEndpointFilename;
|
||||
|
||||
public FileBackedNativeSessionFile(String str, String str2, File file) {
|
||||
this.dataTransportFilename = str;
|
||||
this.reportsEndpointFilename = str2;
|
||||
this.file = file;
|
||||
}
|
||||
|
||||
private byte[] asGzippedBytes() {
|
||||
byte[] bArr = new byte[8192];
|
||||
try {
|
||||
InputStream stream = getStream();
|
||||
try {
|
||||
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
||||
try {
|
||||
GZIPOutputStream gZIPOutputStream = new GZIPOutputStream(byteArrayOutputStream);
|
||||
if (stream == null) {
|
||||
gZIPOutputStream.close();
|
||||
byteArrayOutputStream.close();
|
||||
if (stream != null) {
|
||||
stream.close();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
while (true) {
|
||||
try {
|
||||
int read = stream.read(bArr);
|
||||
if (read <= 0) {
|
||||
gZIPOutputStream.finish();
|
||||
byte[] byteArray = byteArrayOutputStream.toByteArray();
|
||||
gZIPOutputStream.close();
|
||||
byteArrayOutputStream.close();
|
||||
stream.close();
|
||||
return byteArray;
|
||||
}
|
||||
gZIPOutputStream.write(bArr, 0, read);
|
||||
} finally {
|
||||
}
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
try {
|
||||
byteArrayOutputStream.close();
|
||||
} catch (Throwable th2) {
|
||||
th.addSuppressed(th2);
|
||||
}
|
||||
throw th;
|
||||
}
|
||||
} finally {
|
||||
}
|
||||
} catch (IOException unused) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.NativeSessionFile
|
||||
public CrashlyticsReport.FilesPayload.File asFilePayload() {
|
||||
byte[] asGzippedBytes = asGzippedBytes();
|
||||
if (asGzippedBytes != null) {
|
||||
return CrashlyticsReport.FilesPayload.File.builder().setContents(asGzippedBytes).setFilename(this.dataTransportFilename).build();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.NativeSessionFile
|
||||
public String getReportsEndpointFilename() {
|
||||
return this.reportsEndpointFilename;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.NativeSessionFile
|
||||
public InputStream getStream() {
|
||||
if (this.file.exists() && this.file.isFile()) {
|
||||
try {
|
||||
return new FileInputStream(this.file);
|
||||
} catch (FileNotFoundException unused) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,142 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Build;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.common.InstallIdProvider;
|
||||
import com.google.firebase.installations.FirebaseInstallationsApi;
|
||||
import com.google.firebase.sessions.settings.RemoteSettings;
|
||||
import java.util.Locale;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class IdManager implements InstallIdProvider {
|
||||
public static final String DEFAULT_VERSION_NAME = "0.0";
|
||||
static final String PREFKEY_ADVERTISING_ID = "crashlytics.advertising.id";
|
||||
static final String PREFKEY_FIREBASE_IID = "firebase.installation.id";
|
||||
static final String PREFKEY_INSTALLATION_UUID = "crashlytics.installation.id";
|
||||
static final String PREFKEY_LEGACY_INSTALLATION_UUID = "crashlytics.installation.id";
|
||||
private static final String SYNTHETIC_FID_PREFIX = "SYN_";
|
||||
private final Context appContext;
|
||||
private final String appIdentifier;
|
||||
private final DataCollectionArbiter dataCollectionArbiter;
|
||||
private final FirebaseInstallationsApi firebaseInstallationsApi;
|
||||
private InstallIdProvider.InstallIds installIds;
|
||||
private final InstallerPackageNameProvider installerPackageNameProvider;
|
||||
private static final Pattern ID_PATTERN = Pattern.compile("[^\\p{Alnum}]");
|
||||
private static final String FORWARD_SLASH_REGEX = Pattern.quote(RemoteSettings.FORWARD_SLASH_STRING);
|
||||
|
||||
public IdManager(Context context, String str, FirebaseInstallationsApi firebaseInstallationsApi, DataCollectionArbiter dataCollectionArbiter) {
|
||||
if (context == null) {
|
||||
throw new IllegalArgumentException("appContext must not be null");
|
||||
}
|
||||
if (str == null) {
|
||||
throw new IllegalArgumentException("appIdentifier must not be null");
|
||||
}
|
||||
this.appContext = context;
|
||||
this.appIdentifier = str;
|
||||
this.firebaseInstallationsApi = firebaseInstallationsApi;
|
||||
this.dataCollectionArbiter = dataCollectionArbiter;
|
||||
this.installerPackageNameProvider = new InstallerPackageNameProvider();
|
||||
}
|
||||
|
||||
private synchronized String createAndCacheCrashlyticsInstallId(String str, SharedPreferences sharedPreferences) {
|
||||
String formatId;
|
||||
formatId = formatId(UUID.randomUUID().toString());
|
||||
Logger.getLogger().v("Created new Crashlytics installation ID: " + formatId + " for FID: " + str);
|
||||
sharedPreferences.edit().putString("crashlytics.installation.id", formatId).putString(PREFKEY_FIREBASE_IID, str).apply();
|
||||
return formatId;
|
||||
}
|
||||
|
||||
public static String createSyntheticFid() {
|
||||
return SYNTHETIC_FID_PREFIX + UUID.randomUUID().toString();
|
||||
}
|
||||
|
||||
private static String formatId(String str) {
|
||||
if (str == null) {
|
||||
return null;
|
||||
}
|
||||
return ID_PATTERN.matcher(str).replaceAll("").toLowerCase(Locale.US);
|
||||
}
|
||||
|
||||
public static boolean isSyntheticFid(String str) {
|
||||
return str != null && str.startsWith(SYNTHETIC_FID_PREFIX);
|
||||
}
|
||||
|
||||
private String readCachedCrashlyticsInstallId(SharedPreferences sharedPreferences) {
|
||||
return sharedPreferences.getString("crashlytics.installation.id", null);
|
||||
}
|
||||
|
||||
private String removeForwardSlashesIn(String str) {
|
||||
return str.replaceAll(FORWARD_SLASH_REGEX, "");
|
||||
}
|
||||
|
||||
private boolean shouldRefresh() {
|
||||
InstallIdProvider.InstallIds installIds = this.installIds;
|
||||
if (installIds != null) {
|
||||
return installIds.getFirebaseInstallationId() == null && this.dataCollectionArbiter.isAutomaticDataCollectionEnabled();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public String fetchTrueFid() {
|
||||
try {
|
||||
return (String) Utils.awaitEvenIfOnMainThread(this.firebaseInstallationsApi.getId());
|
||||
} catch (Exception e4) {
|
||||
Logger.getLogger().w("Failed to retrieve Firebase Installation ID.", e4);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public String getAppIdentifier() {
|
||||
return this.appIdentifier;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.InstallIdProvider
|
||||
public synchronized InstallIdProvider.InstallIds getInstallIds() {
|
||||
if (!shouldRefresh()) {
|
||||
return this.installIds;
|
||||
}
|
||||
Logger.getLogger().v("Determining Crashlytics installation ID...");
|
||||
SharedPreferences sharedPrefs = CommonUtils.getSharedPrefs(this.appContext);
|
||||
String string = sharedPrefs.getString(PREFKEY_FIREBASE_IID, null);
|
||||
Logger.getLogger().v("Cached Firebase Installation ID: " + string);
|
||||
if (this.dataCollectionArbiter.isAutomaticDataCollectionEnabled()) {
|
||||
String fetchTrueFid = fetchTrueFid();
|
||||
Logger.getLogger().v("Fetched Firebase Installation ID: " + fetchTrueFid);
|
||||
if (fetchTrueFid == null) {
|
||||
fetchTrueFid = string == null ? createSyntheticFid() : string;
|
||||
}
|
||||
if (fetchTrueFid.equals(string)) {
|
||||
this.installIds = InstallIdProvider.InstallIds.create(readCachedCrashlyticsInstallId(sharedPrefs), fetchTrueFid);
|
||||
} else {
|
||||
this.installIds = InstallIdProvider.InstallIds.create(createAndCacheCrashlyticsInstallId(fetchTrueFid, sharedPrefs), fetchTrueFid);
|
||||
}
|
||||
} else if (isSyntheticFid(string)) {
|
||||
this.installIds = InstallIdProvider.InstallIds.createWithoutFid(readCachedCrashlyticsInstallId(sharedPrefs));
|
||||
} else {
|
||||
this.installIds = InstallIdProvider.InstallIds.createWithoutFid(createAndCacheCrashlyticsInstallId(createSyntheticFid(), sharedPrefs));
|
||||
}
|
||||
Logger.getLogger().v("Install IDs: " + this.installIds);
|
||||
return this.installIds;
|
||||
}
|
||||
|
||||
public String getInstallerPackageName() {
|
||||
return this.installerPackageNameProvider.getInstallerPackageName(this.appContext);
|
||||
}
|
||||
|
||||
public String getModelName() {
|
||||
Locale locale = Locale.US;
|
||||
return removeForwardSlashesIn(Build.MANUFACTURER) + RemoteSettings.FORWARD_SLASH_STRING + removeForwardSlashesIn(Build.MODEL);
|
||||
}
|
||||
|
||||
public String getOsBuildVersionString() {
|
||||
return removeForwardSlashesIn(Build.VERSION.INCREMENTAL);
|
||||
}
|
||||
|
||||
public String getOsDisplayVersionString() {
|
||||
return removeForwardSlashesIn(Build.VERSION.RELEASE);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface InstallIdProvider {
|
||||
|
||||
@AutoValue
|
||||
/* loaded from: classes3.dex */
|
||||
public static abstract class InstallIds {
|
||||
public static InstallIds create(String str, String str2) {
|
||||
return new AutoValue_InstallIdProvider_InstallIds(str, str2);
|
||||
}
|
||||
|
||||
public static InstallIds createWithoutFid(String str) {
|
||||
return create(str, null);
|
||||
}
|
||||
|
||||
public abstract String getCrashlyticsInstallId();
|
||||
|
||||
public abstract String getFirebaseInstallationId();
|
||||
}
|
||||
|
||||
InstallIds getInstallIds();
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
class InstallerPackageNameProvider {
|
||||
private static final String NO_INSTALLER_PACKAGE_NAME = "";
|
||||
private String installerPackageName;
|
||||
|
||||
private static String loadInstallerPackageName(Context context) {
|
||||
String installerPackageName = context.getPackageManager().getInstallerPackageName(context.getPackageName());
|
||||
return installerPackageName == null ? "" : installerPackageName;
|
||||
}
|
||||
|
||||
public synchronized String getInstallerPackageName(Context context) {
|
||||
try {
|
||||
if (this.installerPackageName == null) {
|
||||
this.installerPackageName = loadInstallerPackageName(context);
|
||||
}
|
||||
} finally {
|
||||
}
|
||||
return "".equals(this.installerPackageName) ? null : this.installerPackageName;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.io.InputStream;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public interface NativeSessionFile {
|
||||
CrashlyticsReport.FilesPayload.File asFilePayload();
|
||||
|
||||
String getReportsEndpointFilename();
|
||||
|
||||
InputStream getStream();
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
import java.util.zip.GZIPOutputStream;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public class NativeSessionFileGzipper {
|
||||
private static void gzipInputStream(InputStream inputStream, File file) throws IOException {
|
||||
if (inputStream == null) {
|
||||
return;
|
||||
}
|
||||
byte[] bArr = new byte[8192];
|
||||
GZIPOutputStream gZIPOutputStream = null;
|
||||
try {
|
||||
GZIPOutputStream gZIPOutputStream2 = new GZIPOutputStream(new FileOutputStream(file));
|
||||
while (true) {
|
||||
try {
|
||||
int read = inputStream.read(bArr);
|
||||
if (read <= 0) {
|
||||
gZIPOutputStream2.finish();
|
||||
CommonUtils.closeQuietly(gZIPOutputStream2);
|
||||
return;
|
||||
}
|
||||
gZIPOutputStream2.write(bArr, 0, read);
|
||||
} catch (Throwable th) {
|
||||
th = th;
|
||||
gZIPOutputStream = gZIPOutputStream2;
|
||||
CommonUtils.closeQuietly(gZIPOutputStream);
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
} catch (Throwable th2) {
|
||||
th = th2;
|
||||
}
|
||||
}
|
||||
|
||||
public static void processNativeSessions(File file, List<NativeSessionFile> list) {
|
||||
for (NativeSessionFile nativeSessionFile : list) {
|
||||
InputStream inputStream = null;
|
||||
try {
|
||||
inputStream = nativeSessionFile.getStream();
|
||||
if (inputStream != null) {
|
||||
gzipInputStream(inputStream, new File(file, nativeSessionFile.getReportsEndpointFilename()));
|
||||
}
|
||||
} catch (IOException unused) {
|
||||
} catch (Throwable th) {
|
||||
CommonUtils.closeQuietly(null);
|
||||
throw th;
|
||||
}
|
||||
CommonUtils.closeQuietly(inputStream);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class OnDemandCounter {
|
||||
private final AtomicInteger recordedOnDemandExceptions = new AtomicInteger();
|
||||
private final AtomicInteger droppedOnDemandExceptions = new AtomicInteger();
|
||||
|
||||
public int getDroppedOnDemandExceptions() {
|
||||
return this.droppedOnDemandExceptions.get();
|
||||
}
|
||||
|
||||
public int getRecordedOnDemandExceptions() {
|
||||
return this.recordedOnDemandExceptions.get();
|
||||
}
|
||||
|
||||
public void incrementDroppedOnDemandExceptions() {
|
||||
this.droppedOnDemandExceptions.getAndIncrement();
|
||||
}
|
||||
|
||||
public void incrementRecordedOnDemandExceptions() {
|
||||
this.recordedOnDemandExceptions.getAndIncrement();
|
||||
}
|
||||
|
||||
public void resetDroppedOnDemandExceptions() {
|
||||
this.droppedOnDemandExceptions.set(0);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class ResponseParser {
|
||||
public static final int ResponseActionDiscard = 0;
|
||||
public static final int ResponseActionRetry = 1;
|
||||
|
||||
public static int parse(int i) {
|
||||
if (i < 200 || i > 299) {
|
||||
return ((i < 300 || i > 399) && i >= 400 && i <= 499) ? 0 : 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,289 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import I2.k;
|
||||
import android.app.ApplicationExitInfo;
|
||||
import android.content.Context;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.android.gms.tasks.Tasks;
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.metadata.LogFileManager;
|
||||
import com.google.firebase.crashlytics.internal.metadata.UserMetadata;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import com.google.firebase.crashlytics.internal.persistence.CrashlyticsReportPersistence;
|
||||
import com.google.firebase.crashlytics.internal.persistence.FileStore;
|
||||
import com.google.firebase.crashlytics.internal.send.DataTransportCrashlyticsReportSender;
|
||||
import com.google.firebase.crashlytics.internal.settings.SettingsProvider;
|
||||
import com.google.firebase.crashlytics.internal.stacktrace.StackTraceTrimmingStrategy;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.SortedSet;
|
||||
import java.util.concurrent.Executor;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class SessionReportingCoordinator implements CrashlyticsLifecycleEvents {
|
||||
private static final int DEFAULT_BUFFER_SIZE = 8192;
|
||||
private static final int EVENT_THREAD_IMPORTANCE = 4;
|
||||
private static final String EVENT_TYPE_CRASH = "crash";
|
||||
private static final String EVENT_TYPE_LOGGED = "error";
|
||||
private static final int MAX_CHAINED_EXCEPTION_DEPTH = 8;
|
||||
private final CrashlyticsReportDataCapture dataCapture;
|
||||
private final IdManager idManager;
|
||||
private final LogFileManager logFileManager;
|
||||
private final UserMetadata reportMetadata;
|
||||
private final CrashlyticsReportPersistence reportPersistence;
|
||||
private final DataTransportCrashlyticsReportSender reportsSender;
|
||||
|
||||
public SessionReportingCoordinator(CrashlyticsReportDataCapture crashlyticsReportDataCapture, CrashlyticsReportPersistence crashlyticsReportPersistence, DataTransportCrashlyticsReportSender dataTransportCrashlyticsReportSender, LogFileManager logFileManager, UserMetadata userMetadata, IdManager idManager) {
|
||||
this.dataCapture = crashlyticsReportDataCapture;
|
||||
this.reportPersistence = crashlyticsReportPersistence;
|
||||
this.reportsSender = dataTransportCrashlyticsReportSender;
|
||||
this.logFileManager = logFileManager;
|
||||
this.reportMetadata = userMetadata;
|
||||
this.idManager = idManager;
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event addLogsAndCustomKeysToEvent(CrashlyticsReport.Session.Event event) {
|
||||
return addLogsAndCustomKeysToEvent(event, this.logFileManager, this.reportMetadata);
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event addMetaDataToEvent(CrashlyticsReport.Session.Event event) {
|
||||
return addRolloutsStateToEvent(addLogsAndCustomKeysToEvent(event, this.logFileManager, this.reportMetadata), this.reportMetadata);
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event addRolloutsStateToEvent(CrashlyticsReport.Session.Event event, UserMetadata userMetadata) {
|
||||
List<CrashlyticsReport.Session.Event.RolloutAssignment> rolloutsState = userMetadata.getRolloutsState();
|
||||
if (rolloutsState.isEmpty()) {
|
||||
return event;
|
||||
}
|
||||
CrashlyticsReport.Session.Event.Builder builder = event.toBuilder();
|
||||
builder.setRollouts(CrashlyticsReport.Session.Event.RolloutsState.builder().setRolloutAssignments(rolloutsState).build());
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private static CrashlyticsReport.ApplicationExitInfo convertApplicationExitInfo(ApplicationExitInfo applicationExitInfo) {
|
||||
String applicationExitInfo2;
|
||||
int importance;
|
||||
String processName;
|
||||
int reason;
|
||||
long timestamp;
|
||||
int pid;
|
||||
long pss;
|
||||
long rss;
|
||||
InputStream traceInputStream;
|
||||
String str = null;
|
||||
try {
|
||||
traceInputStream = applicationExitInfo.getTraceInputStream();
|
||||
if (traceInputStream != null) {
|
||||
str = convertInputStreamToString(traceInputStream);
|
||||
}
|
||||
} catch (IOException e4) {
|
||||
Logger logger = Logger.getLogger();
|
||||
StringBuilder sb = new StringBuilder("Could not get input trace in application exit info: ");
|
||||
applicationExitInfo2 = applicationExitInfo.toString();
|
||||
sb.append(applicationExitInfo2);
|
||||
sb.append(" Error: ");
|
||||
sb.append(e4);
|
||||
logger.w(sb.toString());
|
||||
}
|
||||
CrashlyticsReport.ApplicationExitInfo.Builder builder = CrashlyticsReport.ApplicationExitInfo.builder();
|
||||
importance = applicationExitInfo.getImportance();
|
||||
CrashlyticsReport.ApplicationExitInfo.Builder importance2 = builder.setImportance(importance);
|
||||
processName = applicationExitInfo.getProcessName();
|
||||
CrashlyticsReport.ApplicationExitInfo.Builder processName2 = importance2.setProcessName(processName);
|
||||
reason = applicationExitInfo.getReason();
|
||||
CrashlyticsReport.ApplicationExitInfo.Builder reasonCode = processName2.setReasonCode(reason);
|
||||
timestamp = applicationExitInfo.getTimestamp();
|
||||
CrashlyticsReport.ApplicationExitInfo.Builder timestamp2 = reasonCode.setTimestamp(timestamp);
|
||||
pid = applicationExitInfo.getPid();
|
||||
CrashlyticsReport.ApplicationExitInfo.Builder pid2 = timestamp2.setPid(pid);
|
||||
pss = applicationExitInfo.getPss();
|
||||
CrashlyticsReport.ApplicationExitInfo.Builder pss2 = pid2.setPss(pss);
|
||||
rss = applicationExitInfo.getRss();
|
||||
return pss2.setRss(rss).setTraceFile(str).build();
|
||||
}
|
||||
|
||||
public static String convertInputStreamToString(InputStream inputStream) throws IOException {
|
||||
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
||||
byte[] bArr = new byte[8192];
|
||||
while (true) {
|
||||
int read = inputStream.read(bArr);
|
||||
if (read == -1) {
|
||||
return byteArrayOutputStream.toString(StandardCharsets.UTF_8.name());
|
||||
}
|
||||
byteArrayOutputStream.write(bArr, 0, read);
|
||||
}
|
||||
}
|
||||
|
||||
public static SessionReportingCoordinator create(Context context, IdManager idManager, FileStore fileStore, AppData appData, LogFileManager logFileManager, UserMetadata userMetadata, StackTraceTrimmingStrategy stackTraceTrimmingStrategy, SettingsProvider settingsProvider, OnDemandCounter onDemandCounter, CrashlyticsAppQualitySessionsSubscriber crashlyticsAppQualitySessionsSubscriber) {
|
||||
return new SessionReportingCoordinator(new CrashlyticsReportDataCapture(context, idManager, appData, stackTraceTrimmingStrategy, settingsProvider), new CrashlyticsReportPersistence(fileStore, settingsProvider, crashlyticsAppQualitySessionsSubscriber), DataTransportCrashlyticsReportSender.create(context, settingsProvider, onDemandCounter), logFileManager, userMetadata, idManager);
|
||||
}
|
||||
|
||||
private CrashlyticsReportWithSessionId ensureHasFid(CrashlyticsReportWithSessionId crashlyticsReportWithSessionId) {
|
||||
if (crashlyticsReportWithSessionId.getReport().getFirebaseInstallationId() != null) {
|
||||
return crashlyticsReportWithSessionId;
|
||||
}
|
||||
return CrashlyticsReportWithSessionId.create(crashlyticsReportWithSessionId.getReport().withFirebaseInstallationId(this.idManager.fetchTrueFid()), crashlyticsReportWithSessionId.getSessionId(), crashlyticsReportWithSessionId.getReportFile());
|
||||
}
|
||||
|
||||
private ApplicationExitInfo findRelevantApplicationExitInfo(String str, List<ApplicationExitInfo> list) {
|
||||
long timestamp;
|
||||
int reason;
|
||||
long startTimestampMillis = this.reportPersistence.getStartTimestampMillis(str);
|
||||
Iterator<ApplicationExitInfo> it = list.iterator();
|
||||
while (it.hasNext()) {
|
||||
ApplicationExitInfo c4 = P.c.c(it.next());
|
||||
timestamp = c4.getTimestamp();
|
||||
if (timestamp < startTimestampMillis) {
|
||||
return null;
|
||||
}
|
||||
reason = c4.getReason();
|
||||
if (reason == 6) {
|
||||
return c4;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private static List<CrashlyticsReport.CustomAttribute> getSortedCustomAttributes(Map<String, String> map) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
arrayList.ensureCapacity(map.size());
|
||||
for (Map.Entry<String, String> entry : map.entrySet()) {
|
||||
arrayList.add(CrashlyticsReport.CustomAttribute.builder().setKey(entry.getKey()).setValue(entry.getValue()).build());
|
||||
}
|
||||
Collections.sort(arrayList, new b(1));
|
||||
return Collections.unmodifiableList(arrayList);
|
||||
}
|
||||
|
||||
public static /* synthetic */ int lambda$getSortedCustomAttributes$0(CrashlyticsReport.CustomAttribute customAttribute, CrashlyticsReport.CustomAttribute customAttribute2) {
|
||||
return customAttribute.getKey().compareTo(customAttribute2.getKey());
|
||||
}
|
||||
|
||||
public boolean onReportSendComplete(Task<CrashlyticsReportWithSessionId> task) {
|
||||
if (!task.isSuccessful()) {
|
||||
Logger.getLogger().w("Crashlytics report could not be enqueued to DataTransport", task.getException());
|
||||
return false;
|
||||
}
|
||||
CrashlyticsReportWithSessionId result = task.getResult();
|
||||
Logger.getLogger().d("Crashlytics report successfully enqueued to DataTransport: " + result.getSessionId());
|
||||
File reportFile = result.getReportFile();
|
||||
if (reportFile.delete()) {
|
||||
Logger.getLogger().d("Deleted report file: " + reportFile.getPath());
|
||||
return true;
|
||||
}
|
||||
Logger.getLogger().w("Crashlytics could not delete report file: " + reportFile.getPath());
|
||||
return true;
|
||||
}
|
||||
|
||||
private void persistEvent(Throwable th, Thread thread, String str, String str2, long j4, boolean z3) {
|
||||
this.reportPersistence.persistEvent(addMetaDataToEvent(this.dataCapture.captureEventData(th, thread, str2, j4, 4, 8, z3)), str, str2.equals("crash"));
|
||||
}
|
||||
|
||||
public void finalizeSessionWithNativeEvent(String str, List<NativeSessionFile> list, CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
|
||||
Logger.getLogger().d("SessionReportingCoordinator#finalizeSessionWithNativeEvent");
|
||||
ArrayList arrayList = new ArrayList();
|
||||
Iterator<NativeSessionFile> it = list.iterator();
|
||||
while (it.hasNext()) {
|
||||
CrashlyticsReport.FilesPayload.File asFilePayload = it.next().asFilePayload();
|
||||
if (asFilePayload != null) {
|
||||
arrayList.add(asFilePayload);
|
||||
}
|
||||
}
|
||||
this.reportPersistence.finalizeSessionWithNativeEvent(str, CrashlyticsReport.FilesPayload.builder().setFiles(Collections.unmodifiableList(arrayList)).build(), applicationExitInfo);
|
||||
}
|
||||
|
||||
public void finalizeSessions(long j4, String str) {
|
||||
this.reportPersistence.finalizeReports(str, j4);
|
||||
}
|
||||
|
||||
public boolean hasReportsToSend() {
|
||||
return this.reportPersistence.hasFinalizedReports();
|
||||
}
|
||||
|
||||
public SortedSet<String> listSortedOpenSessionIds() {
|
||||
return this.reportPersistence.getOpenSessionIds();
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.CrashlyticsLifecycleEvents
|
||||
public void onBeginSession(String str, long j4) {
|
||||
this.reportPersistence.persistReport(this.dataCapture.captureReportData(str, j4));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.CrashlyticsLifecycleEvents
|
||||
public void onCustomKey(String str, String str2) {
|
||||
this.reportMetadata.setCustomKey(str, str2);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.CrashlyticsLifecycleEvents
|
||||
public void onLog(long j4, String str) {
|
||||
this.logFileManager.writeToLog(j4, str);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.common.CrashlyticsLifecycleEvents
|
||||
public void onUserId(String str) {
|
||||
this.reportMetadata.setUserId(str);
|
||||
}
|
||||
|
||||
public void persistFatalEvent(Throwable th, Thread thread, String str, long j4) {
|
||||
Logger.getLogger().v("Persisting fatal event for session " + str);
|
||||
persistEvent(th, thread, str, "crash", j4, true);
|
||||
}
|
||||
|
||||
public void persistNonFatalEvent(Throwable th, Thread thread, String str, long j4) {
|
||||
Logger.getLogger().v("Persisting non-fatal event for session " + str);
|
||||
persistEvent(th, thread, str, "error", j4, false);
|
||||
}
|
||||
|
||||
public void persistRelevantAppExitInfoEvent(String str, List<ApplicationExitInfo> list, LogFileManager logFileManager, UserMetadata userMetadata) {
|
||||
ApplicationExitInfo findRelevantApplicationExitInfo = findRelevantApplicationExitInfo(str, list);
|
||||
if (findRelevantApplicationExitInfo == null) {
|
||||
Logger.getLogger().v("No relevant ApplicationExitInfo occurred during session: " + str);
|
||||
return;
|
||||
}
|
||||
CrashlyticsReport.Session.Event captureAnrEventData = this.dataCapture.captureAnrEventData(convertApplicationExitInfo(findRelevantApplicationExitInfo));
|
||||
Logger.getLogger().d("Persisting anr for session " + str);
|
||||
this.reportPersistence.persistEvent(addRolloutsStateToEvent(addLogsAndCustomKeysToEvent(captureAnrEventData, logFileManager, userMetadata), userMetadata), str, true);
|
||||
}
|
||||
|
||||
public void removeAllReports() {
|
||||
this.reportPersistence.deleteAllReports();
|
||||
}
|
||||
|
||||
public Task<Void> sendReports(Executor executor) {
|
||||
return sendReports(executor, null);
|
||||
}
|
||||
|
||||
private CrashlyticsReport.Session.Event addLogsAndCustomKeysToEvent(CrashlyticsReport.Session.Event event, LogFileManager logFileManager, UserMetadata userMetadata) {
|
||||
CrashlyticsReport.Session.Event.Builder builder = event.toBuilder();
|
||||
String logString = logFileManager.getLogString();
|
||||
if (logString != null) {
|
||||
builder.setLog(CrashlyticsReport.Session.Event.Log.builder().setContent(logString).build());
|
||||
} else {
|
||||
Logger.getLogger().v("No log data to include with this event.");
|
||||
}
|
||||
List<CrashlyticsReport.CustomAttribute> sortedCustomAttributes = getSortedCustomAttributes(userMetadata.getCustomKeys());
|
||||
List<CrashlyticsReport.CustomAttribute> sortedCustomAttributes2 = getSortedCustomAttributes(userMetadata.getInternalKeys());
|
||||
if (!sortedCustomAttributes.isEmpty() || !sortedCustomAttributes2.isEmpty()) {
|
||||
builder.setApp(event.getApp().toBuilder().setCustomAttributes(sortedCustomAttributes).setInternalKeys(sortedCustomAttributes2).build());
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
public Task<Void> sendReports(Executor executor, String str) {
|
||||
List<CrashlyticsReportWithSessionId> loadFinalizedReports = this.reportPersistence.loadFinalizedReports();
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (CrashlyticsReportWithSessionId crashlyticsReportWithSessionId : loadFinalizedReports) {
|
||||
if (str == null || str.equals(crashlyticsReportWithSessionId.getSessionId())) {
|
||||
arrayList.add(this.reportsSender.enqueueReport(ensureHasFid(crashlyticsReportWithSessionId), str != null).continueWith(executor, new k(this, 17)));
|
||||
}
|
||||
}
|
||||
return Tasks.whenAll(arrayList);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class SystemCurrentTimeProvider implements CurrentTimeProvider {
|
||||
@Override // com.google.firebase.crashlytics.internal.common.CurrentTimeProvider
|
||||
public long getCurrentTimeMillis() {
|
||||
return System.currentTimeMillis();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import I2.k;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.os.Looper;
|
||||
import androidx.fragment.app.RunnableC0143e;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.android.gms.tasks.TaskCompletionSource;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.CancellationException;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.Executor;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class Utils {
|
||||
private static final ExecutorService TASK_CONTINUATION_EXECUTOR_SERVICE = ExecutorUtils.buildSingleThreadExecutorService("awaitEvenIfOnMainThread task continuation executor");
|
||||
private static final int TIMEOUT_SEC = 4;
|
||||
|
||||
private Utils() {
|
||||
}
|
||||
|
||||
public static <T> T awaitEvenIfOnMainThread(Task<T> task) throws InterruptedException, TimeoutException {
|
||||
CountDownLatch countDownLatch = new CountDownLatch(1);
|
||||
task.continueWith(TASK_CONTINUATION_EXECUTOR_SERVICE, new k(countDownLatch, 18));
|
||||
if (Looper.getMainLooper() == Looper.myLooper()) {
|
||||
countDownLatch.await(3L, TimeUnit.SECONDS);
|
||||
} else {
|
||||
countDownLatch.await(4L, TimeUnit.SECONDS);
|
||||
}
|
||||
if (task.isSuccessful()) {
|
||||
return task.getResult();
|
||||
}
|
||||
if (task.isCanceled()) {
|
||||
throw new CancellationException("Task is already canceled");
|
||||
}
|
||||
if (task.isComplete()) {
|
||||
throw new IllegalStateException(task.getException());
|
||||
}
|
||||
throw new TimeoutException();
|
||||
}
|
||||
|
||||
public static boolean awaitUninterruptibly(CountDownLatch countDownLatch, long j4, TimeUnit timeUnit) {
|
||||
boolean z3 = false;
|
||||
try {
|
||||
long nanos = timeUnit.toNanos(j4);
|
||||
while (true) {
|
||||
try {
|
||||
break;
|
||||
} catch (InterruptedException unused) {
|
||||
z3 = true;
|
||||
nanos = (System.nanoTime() + nanos) - System.nanoTime();
|
||||
}
|
||||
}
|
||||
return countDownLatch.await(nanos, TimeUnit.NANOSECONDS);
|
||||
} finally {
|
||||
if (z3) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static /* synthetic */ Object b(CountDownLatch countDownLatch, Task task) {
|
||||
return lambda$awaitEvenIfOnMainThread$4(countDownLatch, task);
|
||||
}
|
||||
|
||||
public static <T> Task<T> callTask(Executor executor, Callable<Task<T>> callable) {
|
||||
TaskCompletionSource taskCompletionSource = new TaskCompletionSource();
|
||||
executor.execute(new RunnableC0143e(callable, executor, taskCompletionSource, 3));
|
||||
return taskCompletionSource.getTask();
|
||||
}
|
||||
|
||||
public static /* synthetic */ Object lambda$awaitEvenIfOnMainThread$4(CountDownLatch countDownLatch, Task task) throws Exception {
|
||||
countDownLatch.countDown();
|
||||
return null;
|
||||
}
|
||||
|
||||
public static /* synthetic */ Object lambda$callTask$2(TaskCompletionSource taskCompletionSource, Task task) throws Exception {
|
||||
if (task.isSuccessful()) {
|
||||
taskCompletionSource.setResult(task.getResult());
|
||||
return null;
|
||||
}
|
||||
if (task.getException() == null) {
|
||||
return null;
|
||||
}
|
||||
taskCompletionSource.setException(task.getException());
|
||||
return null;
|
||||
}
|
||||
|
||||
public static /* synthetic */ void lambda$callTask$3(Callable callable, Executor executor, TaskCompletionSource taskCompletionSource) {
|
||||
try {
|
||||
((Task) callable.call()).continueWith(executor, new d(1, taskCompletionSource));
|
||||
} catch (Exception e4) {
|
||||
taskCompletionSource.setException(e4);
|
||||
}
|
||||
}
|
||||
|
||||
public static /* synthetic */ Void lambda$race$0(TaskCompletionSource taskCompletionSource, Task task) throws Exception {
|
||||
if (task.isSuccessful()) {
|
||||
taskCompletionSource.trySetResult(task.getResult());
|
||||
return null;
|
||||
}
|
||||
if (task.getException() == null) {
|
||||
return null;
|
||||
}
|
||||
taskCompletionSource.trySetException(task.getException());
|
||||
return null;
|
||||
}
|
||||
|
||||
public static /* synthetic */ Void lambda$race$1(TaskCompletionSource taskCompletionSource, Task task) throws Exception {
|
||||
if (task.isSuccessful()) {
|
||||
taskCompletionSource.trySetResult(task.getResult());
|
||||
return null;
|
||||
}
|
||||
if (task.getException() == null) {
|
||||
return null;
|
||||
}
|
||||
taskCompletionSource.trySetException(task.getException());
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressLint({"TaskMainThread"})
|
||||
public static <T> Task<T> race(Task<T> task, Task<T> task2) {
|
||||
TaskCompletionSource taskCompletionSource = new TaskCompletionSource();
|
||||
d dVar = new d(0, taskCompletionSource);
|
||||
task.continueWith(dVar);
|
||||
task2.continueWith(dVar);
|
||||
return taskCompletionSource.getTask();
|
||||
}
|
||||
|
||||
public static <T> Task<T> race(Executor executor, Task<T> task, Task<T> task2) {
|
||||
TaskCompletionSource taskCompletionSource = new TaskCompletionSource();
|
||||
d dVar = new d(2, taskCompletionSource);
|
||||
task.continueWith(executor, dVar);
|
||||
task2.continueWith(executor, dVar);
|
||||
return taskCompletionSource.getTask();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FilenameFilter;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* synthetic */ class a implements FilenameFilter {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ int f5967a;
|
||||
|
||||
public /* synthetic */ a(int i) {
|
||||
this.f5967a = i;
|
||||
}
|
||||
|
||||
@Override // java.io.FilenameFilter
|
||||
public final boolean accept(File file, String str) {
|
||||
switch (this.f5967a) {
|
||||
case 0:
|
||||
return CrashlyticsAppQualitySessionsStore.a(file, str);
|
||||
default:
|
||||
return CrashlyticsController.a(file, str);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.io.File;
|
||||
import java.util.Comparator;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* synthetic */ class b implements Comparator {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ int f5968a;
|
||||
|
||||
public /* synthetic */ b(int i) {
|
||||
this.f5968a = i;
|
||||
}
|
||||
|
||||
@Override // java.util.Comparator
|
||||
public final int compare(Object obj, Object obj2) {
|
||||
int lambda$static$1;
|
||||
switch (this.f5968a) {
|
||||
case 0:
|
||||
lambda$static$1 = CrashlyticsAppQualitySessionsStore.lambda$static$1((File) obj, (File) obj2);
|
||||
return lambda$static$1;
|
||||
default:
|
||||
return SessionReportingCoordinator.a((CrashlyticsReport.CustomAttribute) obj, (CrashlyticsReport.CustomAttribute) obj2);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.google.firebase.crashlytics.internal.common;
|
||||
|
||||
import com.google.android.gms.tasks.Continuation;
|
||||
import com.google.android.gms.tasks.Task;
|
||||
import com.google.android.gms.tasks.TaskCompletionSource;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* synthetic */ class d implements Continuation {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ int f5970a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final /* synthetic */ TaskCompletionSource f5971b;
|
||||
|
||||
public /* synthetic */ d(int i, TaskCompletionSource taskCompletionSource) {
|
||||
this.f5970a = i;
|
||||
this.f5971b = taskCompletionSource;
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.tasks.Continuation
|
||||
public final Object then(Task task) {
|
||||
Void lambda$race$0;
|
||||
Object lambda$callTask$2;
|
||||
Void lambda$race$1;
|
||||
int i = this.f5970a;
|
||||
TaskCompletionSource taskCompletionSource = this.f5971b;
|
||||
switch (i) {
|
||||
case 0:
|
||||
lambda$race$0 = Utils.lambda$race$0(taskCompletionSource, task);
|
||||
return lambda$race$0;
|
||||
case 1:
|
||||
lambda$callTask$2 = Utils.lambda$callTask$2(taskCompletionSource, task);
|
||||
return lambda$callTask$2;
|
||||
default:
|
||||
lambda$race$1 = Utils.lambda$race$1(taskCompletionSource, task);
|
||||
return lambda$race$1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import com.google.firebase.encoders.FieldDescriptor;
|
||||
import com.google.firebase.encoders.ObjectEncoder;
|
||||
import com.google.firebase.encoders.ObjectEncoderContext;
|
||||
import com.google.firebase.encoders.config.Configurator;
|
||||
import com.google.firebase.encoders.config.EncoderConfig;
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import com.google.firebase.remoteconfig.internal.ConfigContainer;
|
||||
import java.io.IOException;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AutoRolloutAssignmentEncoder implements Configurator {
|
||||
public static final int CODEGEN_VERSION = 2;
|
||||
public static final Configurator CONFIG = new AutoRolloutAssignmentEncoder();
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class RolloutAssignmentEncoder implements ObjectEncoder<RolloutAssignment> {
|
||||
static final RolloutAssignmentEncoder INSTANCE = new RolloutAssignmentEncoder();
|
||||
private static final FieldDescriptor ROLLOUTID_DESCRIPTOR = FieldDescriptor.of(ConfigContainer.ROLLOUT_METADATA_ID);
|
||||
private static final FieldDescriptor PARAMETERKEY_DESCRIPTOR = FieldDescriptor.of("parameterKey");
|
||||
private static final FieldDescriptor PARAMETERVALUE_DESCRIPTOR = FieldDescriptor.of("parameterValue");
|
||||
private static final FieldDescriptor VARIANTID_DESCRIPTOR = FieldDescriptor.of("variantId");
|
||||
private static final FieldDescriptor TEMPLATEVERSION_DESCRIPTOR = FieldDescriptor.of(RemoteConfigConstants.ResponseFieldKey.TEMPLATE_VERSION_NUMBER);
|
||||
|
||||
private RolloutAssignmentEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(RolloutAssignment rolloutAssignment, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(ROLLOUTID_DESCRIPTOR, rolloutAssignment.getRolloutId());
|
||||
objectEncoderContext.add(PARAMETERKEY_DESCRIPTOR, rolloutAssignment.getParameterKey());
|
||||
objectEncoderContext.add(PARAMETERVALUE_DESCRIPTOR, rolloutAssignment.getParameterValue());
|
||||
objectEncoderContext.add(VARIANTID_DESCRIPTOR, rolloutAssignment.getVariantId());
|
||||
objectEncoderContext.add(TEMPLATEVERSION_DESCRIPTOR, rolloutAssignment.getTemplateVersion());
|
||||
}
|
||||
}
|
||||
|
||||
private AutoRolloutAssignmentEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.config.Configurator
|
||||
public void configure(EncoderConfig<?> encoderConfig) {
|
||||
RolloutAssignmentEncoder rolloutAssignmentEncoder = RolloutAssignmentEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(RolloutAssignment.class, rolloutAssignmentEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_RolloutAssignment.class, rolloutAssignmentEncoder);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import C.w;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_RolloutAssignment extends RolloutAssignment {
|
||||
private final String parameterKey;
|
||||
private final String parameterValue;
|
||||
private final String rolloutId;
|
||||
private final long templateVersion;
|
||||
private final String variantId;
|
||||
|
||||
public AutoValue_RolloutAssignment(String str, String str2, String str3, String str4, long j4) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null rolloutId");
|
||||
}
|
||||
this.rolloutId = str;
|
||||
if (str2 == null) {
|
||||
throw new NullPointerException("Null parameterKey");
|
||||
}
|
||||
this.parameterKey = str2;
|
||||
if (str3 == null) {
|
||||
throw new NullPointerException("Null parameterValue");
|
||||
}
|
||||
this.parameterValue = str3;
|
||||
if (str4 == null) {
|
||||
throw new NullPointerException("Null variantId");
|
||||
}
|
||||
this.variantId = str4;
|
||||
this.templateVersion = j4;
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof RolloutAssignment) {
|
||||
RolloutAssignment rolloutAssignment = (RolloutAssignment) obj;
|
||||
if (this.rolloutId.equals(rolloutAssignment.getRolloutId()) && this.parameterKey.equals(rolloutAssignment.getParameterKey()) && this.parameterValue.equals(rolloutAssignment.getParameterValue()) && this.variantId.equals(rolloutAssignment.getVariantId()) && this.templateVersion == rolloutAssignment.getTemplateVersion()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.RolloutAssignment
|
||||
public String getParameterKey() {
|
||||
return this.parameterKey;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.RolloutAssignment
|
||||
public String getParameterValue() {
|
||||
return this.parameterValue;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.RolloutAssignment
|
||||
public String getRolloutId() {
|
||||
return this.rolloutId;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.RolloutAssignment
|
||||
public long getTemplateVersion() {
|
||||
return this.templateVersion;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.RolloutAssignment
|
||||
public String getVariantId() {
|
||||
return this.variantId;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (((((((this.rolloutId.hashCode() ^ 1000003) * 1000003) ^ this.parameterKey.hashCode()) * 1000003) ^ this.parameterValue.hashCode()) * 1000003) ^ this.variantId.hashCode()) * 1000003;
|
||||
long j4 = this.templateVersion;
|
||||
return ((int) (j4 ^ (j4 >>> 32))) ^ hashCode;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("RolloutAssignment{rolloutId=");
|
||||
sb.append(this.rolloutId);
|
||||
sb.append(", parameterKey=");
|
||||
sb.append(this.parameterKey);
|
||||
sb.append(", parameterValue=");
|
||||
sb.append(this.parameterValue);
|
||||
sb.append(", variantId=");
|
||||
sb.append(this.variantId);
|
||||
sb.append(", templateVersion=");
|
||||
return w.q(sb, this.templateVersion, "}");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public interface FileLogStore {
|
||||
void closeLogFile();
|
||||
|
||||
void deleteLogFile();
|
||||
|
||||
byte[] getLogAsBytes();
|
||||
|
||||
String getLogAsString();
|
||||
|
||||
void writeToLog(long j4, String str);
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.common.CommonUtils;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public class KeysMap {
|
||||
private final Map<String, String> keys = new HashMap();
|
||||
private final int maxEntries;
|
||||
private final int maxEntryLength;
|
||||
|
||||
public KeysMap(int i, int i4) {
|
||||
this.maxEntries = i;
|
||||
this.maxEntryLength = i4;
|
||||
}
|
||||
|
||||
private String sanitizeKey(String str) {
|
||||
if (str != null) {
|
||||
return sanitizeString(str, this.maxEntryLength);
|
||||
}
|
||||
throw new IllegalArgumentException("Custom attribute key must not be null.");
|
||||
}
|
||||
|
||||
public static String sanitizeString(String str, int i) {
|
||||
if (str == null) {
|
||||
return str;
|
||||
}
|
||||
String trim = str.trim();
|
||||
return trim.length() > i ? trim.substring(0, i) : trim;
|
||||
}
|
||||
|
||||
public synchronized Map<String, String> getKeys() {
|
||||
return Collections.unmodifiableMap(new HashMap(this.keys));
|
||||
}
|
||||
|
||||
public synchronized boolean setKey(String str, String str2) {
|
||||
String sanitizeKey = sanitizeKey(str);
|
||||
if (this.keys.size() >= this.maxEntries && !this.keys.containsKey(sanitizeKey)) {
|
||||
Logger.getLogger().w("Ignored entry \"" + str + "\" when adding custom keys. Maximum allowable: " + this.maxEntries);
|
||||
return false;
|
||||
}
|
||||
String sanitizeString = sanitizeString(str2, this.maxEntryLength);
|
||||
if (CommonUtils.nullSafeEquals(this.keys.get(sanitizeKey), sanitizeString)) {
|
||||
return false;
|
||||
}
|
||||
Map<String, String> map = this.keys;
|
||||
if (str2 == null) {
|
||||
sanitizeString = "";
|
||||
}
|
||||
map.put(sanitizeKey, sanitizeString);
|
||||
return true;
|
||||
}
|
||||
|
||||
public synchronized void setKeys(Map<String, String> map) {
|
||||
try {
|
||||
int i = 0;
|
||||
for (Map.Entry<String, String> entry : map.entrySet()) {
|
||||
String sanitizeKey = sanitizeKey(entry.getKey());
|
||||
if (this.keys.size() >= this.maxEntries && !this.keys.containsKey(sanitizeKey)) {
|
||||
i++;
|
||||
}
|
||||
String value = entry.getValue();
|
||||
this.keys.put(sanitizeKey, value == null ? "" : sanitizeString(value, this.maxEntryLength));
|
||||
}
|
||||
if (i > 0) {
|
||||
Logger.getLogger().w("Ignored " + i + " entries when adding custom keys. Maximum allowable: " + this.maxEntries);
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.persistence.FileStore;
|
||||
import java.io.File;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class LogFileManager {
|
||||
private static final String LOGFILE_NAME = "userlog";
|
||||
static final int MAX_LOG_SIZE = 65536;
|
||||
private static final NoopLogStore NOOP_LOG_STORE = new NoopLogStore();
|
||||
private FileLogStore currentLog;
|
||||
private final FileStore fileStore;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class NoopLogStore implements FileLogStore {
|
||||
private NoopLogStore() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.FileLogStore
|
||||
public void closeLogFile() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.FileLogStore
|
||||
public void deleteLogFile() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.FileLogStore
|
||||
public byte[] getLogAsBytes() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.FileLogStore
|
||||
public String getLogAsString() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.FileLogStore
|
||||
public void writeToLog(long j4, String str) {
|
||||
}
|
||||
}
|
||||
|
||||
public LogFileManager(FileStore fileStore) {
|
||||
this.fileStore = fileStore;
|
||||
this.currentLog = NOOP_LOG_STORE;
|
||||
}
|
||||
|
||||
private File getWorkingFileForSession(String str) {
|
||||
return this.fileStore.getSessionFile(str, LOGFILE_NAME);
|
||||
}
|
||||
|
||||
public void clearLog() {
|
||||
this.currentLog.deleteLogFile();
|
||||
}
|
||||
|
||||
public byte[] getBytesForLog() {
|
||||
return this.currentLog.getLogAsBytes();
|
||||
}
|
||||
|
||||
public String getLogString() {
|
||||
return this.currentLog.getLogAsString();
|
||||
}
|
||||
|
||||
public final void setCurrentSession(String str) {
|
||||
this.currentLog.closeLogFile();
|
||||
this.currentLog = NOOP_LOG_STORE;
|
||||
if (str == null) {
|
||||
return;
|
||||
}
|
||||
setLogFile(getWorkingFileForSession(str), MAX_LOG_SIZE);
|
||||
}
|
||||
|
||||
public void setLogFile(File file, int i) {
|
||||
this.currentLog = new QueueFileLogStore(file, i);
|
||||
}
|
||||
|
||||
public void writeToLog(long j4, String str) {
|
||||
this.currentLog.writeToLog(j4, str);
|
||||
}
|
||||
|
||||
public LogFileManager(FileStore fileStore, String str) {
|
||||
this(fileStore);
|
||||
setCurrentSession(str);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,356 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.common.CommonUtils;
|
||||
import com.google.firebase.crashlytics.internal.persistence.FileStore;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.Closeable;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public class MetaDataStore {
|
||||
private static final String KEY_USER_ID = "userId";
|
||||
private static final Charset UTF_8 = Charset.forName("UTF-8");
|
||||
private final FileStore fileStore;
|
||||
|
||||
public MetaDataStore(FileStore fileStore) {
|
||||
this.fileStore = fileStore;
|
||||
}
|
||||
|
||||
private static Map<String, String> jsonToKeysData(String str) throws JSONException {
|
||||
JSONObject jSONObject = new JSONObject(str);
|
||||
HashMap hashMap = new HashMap();
|
||||
Iterator<String> keys = jSONObject.keys();
|
||||
while (keys.hasNext()) {
|
||||
String next = keys.next();
|
||||
hashMap.put(next, valueOrNull(jSONObject, next));
|
||||
}
|
||||
return hashMap;
|
||||
}
|
||||
|
||||
private static List<RolloutAssignment> jsonToRolloutsState(String str) throws JSONException {
|
||||
JSONArray jSONArray = new JSONObject(str).getJSONArray("rolloutsState");
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (int i = 0; i < jSONArray.length(); i++) {
|
||||
String string = jSONArray.getString(i);
|
||||
try {
|
||||
arrayList.add(RolloutAssignment.create(string));
|
||||
} catch (Exception e4) {
|
||||
Logger.getLogger().w("Failed de-serializing rollouts state. " + string, e4);
|
||||
}
|
||||
}
|
||||
return arrayList;
|
||||
}
|
||||
|
||||
private String jsonToUserId(String str) throws JSONException {
|
||||
return valueOrNull(new JSONObject(str), KEY_USER_ID);
|
||||
}
|
||||
|
||||
private static String keysDataToJson(Map<String, String> map) {
|
||||
return new JSONObject(map).toString();
|
||||
}
|
||||
|
||||
private static String rolloutsStateToJson(List<RolloutAssignment> list) {
|
||||
HashMap hashMap = new HashMap();
|
||||
JSONArray jSONArray = new JSONArray();
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
try {
|
||||
jSONArray.put(new JSONObject(RolloutAssignment.ROLLOUT_ASSIGNMENT_JSON_ENCODER.encode(list.get(i))));
|
||||
} catch (JSONException e4) {
|
||||
Logger.getLogger().w("Exception parsing rollout assignment!", e4);
|
||||
}
|
||||
}
|
||||
hashMap.put("rolloutsState", jSONArray);
|
||||
return new JSONObject(hashMap).toString();
|
||||
}
|
||||
|
||||
private static void safeDeleteCorruptFile(File file) {
|
||||
if (file.exists() && file.delete()) {
|
||||
Logger.getLogger().i("Deleted corrupt file: " + file.getAbsolutePath());
|
||||
}
|
||||
}
|
||||
|
||||
private static String userIdToJson(String str) throws JSONException {
|
||||
return new JSONObject(str) { // from class: com.google.firebase.crashlytics.internal.metadata.MetaDataStore.1
|
||||
final /* synthetic */ String val$userId;
|
||||
|
||||
{
|
||||
this.val$userId = str;
|
||||
put(MetaDataStore.KEY_USER_ID, str);
|
||||
}
|
||||
}.toString();
|
||||
}
|
||||
|
||||
private static String valueOrNull(JSONObject jSONObject, String str) {
|
||||
if (jSONObject.isNull(str)) {
|
||||
return null;
|
||||
}
|
||||
return jSONObject.optString(str, null);
|
||||
}
|
||||
|
||||
public File getInternalKeysFileForSession(String str) {
|
||||
return this.fileStore.getSessionFile(str, UserMetadata.INTERNAL_KEYDATA_FILENAME);
|
||||
}
|
||||
|
||||
public File getKeysFileForSession(String str) {
|
||||
return this.fileStore.getSessionFile(str, UserMetadata.KEYDATA_FILENAME);
|
||||
}
|
||||
|
||||
public File getRolloutsStateForSession(String str) {
|
||||
return this.fileStore.getSessionFile(str, UserMetadata.ROLLOUTS_STATE_FILENAME);
|
||||
}
|
||||
|
||||
public File getUserDataFileForSession(String str) {
|
||||
return this.fileStore.getSessionFile(str, UserMetadata.USERDATA_FILENAME);
|
||||
}
|
||||
|
||||
public Map<String, String> readKeyData(String str) {
|
||||
return readKeyData(str, false);
|
||||
}
|
||||
|
||||
public List<RolloutAssignment> readRolloutsState(String str) {
|
||||
FileInputStream fileInputStream;
|
||||
File rolloutsStateForSession = getRolloutsStateForSession(str);
|
||||
if (!rolloutsStateForSession.exists() || rolloutsStateForSession.length() == 0) {
|
||||
safeDeleteCorruptFile(rolloutsStateForSession);
|
||||
return Collections.EMPTY_LIST;
|
||||
}
|
||||
FileInputStream fileInputStream2 = null;
|
||||
try {
|
||||
try {
|
||||
fileInputStream = new FileInputStream(rolloutsStateForSession);
|
||||
} catch (Exception e4) {
|
||||
e = e4;
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
th = th;
|
||||
}
|
||||
try {
|
||||
List<RolloutAssignment> jsonToRolloutsState = jsonToRolloutsState(CommonUtils.streamToString(fileInputStream));
|
||||
Logger.getLogger().d("Loaded rollouts state:\n" + jsonToRolloutsState + "\nfor session " + str);
|
||||
CommonUtils.closeOrLog(fileInputStream, "Failed to close rollouts state file.");
|
||||
return jsonToRolloutsState;
|
||||
} catch (Exception e5) {
|
||||
e = e5;
|
||||
fileInputStream2 = fileInputStream;
|
||||
Logger.getLogger().w("Error deserializing rollouts state.", e);
|
||||
safeDeleteCorruptFile(rolloutsStateForSession);
|
||||
CommonUtils.closeOrLog(fileInputStream2, "Failed to close rollouts state file.");
|
||||
return Collections.EMPTY_LIST;
|
||||
} catch (Throwable th2) {
|
||||
th = th2;
|
||||
fileInputStream2 = fileInputStream;
|
||||
CommonUtils.closeOrLog(fileInputStream2, "Failed to close rollouts state file.");
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Type inference failed for: r3v1, types: [int] */
|
||||
public String readUserId(String str) {
|
||||
FileInputStream fileInputStream;
|
||||
File userDataFileForSession = getUserDataFileForSession(str);
|
||||
Closeable closeable = null;
|
||||
if (userDataFileForSession.exists()) {
|
||||
?? r32 = (userDataFileForSession.length() > 0L ? 1 : (userDataFileForSession.length() == 0L ? 0 : -1));
|
||||
try {
|
||||
if (r32 != 0) {
|
||||
try {
|
||||
fileInputStream = new FileInputStream(userDataFileForSession);
|
||||
try {
|
||||
String jsonToUserId = jsonToUserId(CommonUtils.streamToString(fileInputStream));
|
||||
Logger.getLogger().d("Loaded userId " + jsonToUserId + " for session " + str);
|
||||
CommonUtils.closeOrLog(fileInputStream, "Failed to close user metadata file.");
|
||||
return jsonToUserId;
|
||||
} catch (Exception e4) {
|
||||
e = e4;
|
||||
Logger.getLogger().w("Error deserializing user metadata.", e);
|
||||
safeDeleteCorruptFile(userDataFileForSession);
|
||||
CommonUtils.closeOrLog(fileInputStream, "Failed to close user metadata file.");
|
||||
return null;
|
||||
}
|
||||
} catch (Exception e5) {
|
||||
e = e5;
|
||||
fileInputStream = null;
|
||||
} catch (Throwable th) {
|
||||
th = th;
|
||||
CommonUtils.closeOrLog(closeable, "Failed to close user metadata file.");
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
} catch (Throwable th2) {
|
||||
th = th2;
|
||||
closeable = r32;
|
||||
}
|
||||
}
|
||||
Logger.getLogger().d("No userId set for session " + str);
|
||||
safeDeleteCorruptFile(userDataFileForSession);
|
||||
return null;
|
||||
}
|
||||
|
||||
public void writeKeyData(String str, Map<String, String> map) {
|
||||
writeKeyData(str, map, false);
|
||||
}
|
||||
|
||||
/* JADX WARN: Not initialized variable reg: 1, insn: 0x0031: MOVE (r6 I:??[OBJECT, ARRAY]) = (r1 I:??[OBJECT, ARRAY]), block:B:20:0x0031 */
|
||||
public void writeRolloutState(String str, List<RolloutAssignment> list) {
|
||||
BufferedWriter bufferedWriter;
|
||||
Exception e4;
|
||||
Closeable closeable;
|
||||
File rolloutsStateForSession = getRolloutsStateForSession(str);
|
||||
if (list.isEmpty()) {
|
||||
safeDeleteCorruptFile(rolloutsStateForSession);
|
||||
return;
|
||||
}
|
||||
Closeable closeable2 = null;
|
||||
try {
|
||||
try {
|
||||
String rolloutsStateToJson = rolloutsStateToJson(list);
|
||||
bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(rolloutsStateForSession), UTF_8));
|
||||
try {
|
||||
bufferedWriter.write(rolloutsStateToJson);
|
||||
bufferedWriter.flush();
|
||||
CommonUtils.closeOrLog(bufferedWriter, "Failed to close rollouts state file.");
|
||||
} catch (Exception e5) {
|
||||
e4 = e5;
|
||||
Logger.getLogger().w("Error serializing rollouts state.", e4);
|
||||
safeDeleteCorruptFile(rolloutsStateForSession);
|
||||
CommonUtils.closeOrLog(bufferedWriter, "Failed to close rollouts state file.");
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
th = th;
|
||||
closeable2 = closeable;
|
||||
CommonUtils.closeOrLog(closeable2, "Failed to close rollouts state file.");
|
||||
throw th;
|
||||
}
|
||||
} catch (Exception e6) {
|
||||
bufferedWriter = null;
|
||||
e4 = e6;
|
||||
} catch (Throwable th2) {
|
||||
th = th2;
|
||||
CommonUtils.closeOrLog(closeable2, "Failed to close rollouts state file.");
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
public void writeUserData(String str, String str2) {
|
||||
String userIdToJson;
|
||||
BufferedWriter bufferedWriter;
|
||||
File userDataFileForSession = getUserDataFileForSession(str);
|
||||
BufferedWriter bufferedWriter2 = null;
|
||||
try {
|
||||
try {
|
||||
userIdToJson = userIdToJson(str2);
|
||||
bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(userDataFileForSession), UTF_8));
|
||||
} catch (Exception e4) {
|
||||
e = e4;
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
th = th;
|
||||
}
|
||||
try {
|
||||
bufferedWriter.write(userIdToJson);
|
||||
bufferedWriter.flush();
|
||||
CommonUtils.closeOrLog(bufferedWriter, "Failed to close user metadata file.");
|
||||
} catch (Exception e5) {
|
||||
e = e5;
|
||||
bufferedWriter2 = bufferedWriter;
|
||||
Logger.getLogger().w("Error serializing user metadata.", e);
|
||||
CommonUtils.closeOrLog(bufferedWriter2, "Failed to close user metadata file.");
|
||||
} catch (Throwable th2) {
|
||||
th = th2;
|
||||
bufferedWriter2 = bufferedWriter;
|
||||
CommonUtils.closeOrLog(bufferedWriter2, "Failed to close user metadata file.");
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
public Map<String, String> readKeyData(String str, boolean z3) {
|
||||
FileInputStream fileInputStream;
|
||||
Exception e4;
|
||||
File internalKeysFileForSession = z3 != 0 ? getInternalKeysFileForSession(str) : getKeysFileForSession(str);
|
||||
if (internalKeysFileForSession.exists() && internalKeysFileForSession.length() != 0) {
|
||||
Closeable closeable = null;
|
||||
try {
|
||||
try {
|
||||
fileInputStream = new FileInputStream(internalKeysFileForSession);
|
||||
try {
|
||||
Map<String, String> jsonToKeysData = jsonToKeysData(CommonUtils.streamToString(fileInputStream));
|
||||
CommonUtils.closeOrLog(fileInputStream, "Failed to close user metadata file.");
|
||||
return jsonToKeysData;
|
||||
} catch (Exception e5) {
|
||||
e4 = e5;
|
||||
Logger.getLogger().w("Error deserializing user metadata.", e4);
|
||||
safeDeleteCorruptFile(internalKeysFileForSession);
|
||||
CommonUtils.closeOrLog(fileInputStream, "Failed to close user metadata file.");
|
||||
return Collections.EMPTY_MAP;
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
th = th;
|
||||
closeable = z3;
|
||||
CommonUtils.closeOrLog(closeable, "Failed to close user metadata file.");
|
||||
throw th;
|
||||
}
|
||||
} catch (Exception e6) {
|
||||
fileInputStream = null;
|
||||
e4 = e6;
|
||||
} catch (Throwable th2) {
|
||||
th = th2;
|
||||
CommonUtils.closeOrLog(closeable, "Failed to close user metadata file.");
|
||||
throw th;
|
||||
}
|
||||
} else {
|
||||
safeDeleteCorruptFile(internalKeysFileForSession);
|
||||
return Collections.EMPTY_MAP;
|
||||
}
|
||||
}
|
||||
|
||||
public void writeKeyData(String str, Map<String, String> map, boolean z3) {
|
||||
BufferedWriter bufferedWriter;
|
||||
Exception e4;
|
||||
File internalKeysFileForSession = z3 ? getInternalKeysFileForSession(str) : getKeysFileForSession(str);
|
||||
BufferedWriter bufferedWriter2 = null;
|
||||
try {
|
||||
String keysDataToJson = keysDataToJson(map);
|
||||
bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(internalKeysFileForSession), UTF_8));
|
||||
try {
|
||||
try {
|
||||
bufferedWriter.write(keysDataToJson);
|
||||
bufferedWriter.flush();
|
||||
CommonUtils.closeOrLog(bufferedWriter, "Failed to close key/value metadata file.");
|
||||
} catch (Exception e5) {
|
||||
e4 = e5;
|
||||
Logger.getLogger().w("Error serializing key/value metadata.", e4);
|
||||
safeDeleteCorruptFile(internalKeysFileForSession);
|
||||
CommonUtils.closeOrLog(bufferedWriter, "Failed to close key/value metadata file.");
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
th = th;
|
||||
bufferedWriter2 = bufferedWriter;
|
||||
CommonUtils.closeOrLog(bufferedWriter2, "Failed to close key/value metadata file.");
|
||||
throw th;
|
||||
}
|
||||
} catch (Exception e6) {
|
||||
bufferedWriter = null;
|
||||
e4 = e6;
|
||||
} catch (Throwable th2) {
|
||||
th = th2;
|
||||
CommonUtils.closeOrLog(bufferedWriter2, "Failed to close key/value metadata file.");
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,430 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.RandomAccessFile;
|
||||
import java.nio.channels.FileChannel;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import kotlin.UByte;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
/* loaded from: classes3.dex */
|
||||
public class QueueFile implements Closeable {
|
||||
static final int HEADER_LENGTH = 16;
|
||||
private static final int INITIAL_LENGTH = 4096;
|
||||
private static final Logger LOGGER = Logger.getLogger(QueueFile.class.getName());
|
||||
private final byte[] buffer;
|
||||
private int elementCount;
|
||||
int fileLength;
|
||||
private Element first;
|
||||
private Element last;
|
||||
private final RandomAccessFile raf;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static class Element {
|
||||
static final int HEADER_LENGTH = 4;
|
||||
static final Element NULL = new Element(0, 0);
|
||||
final int length;
|
||||
final int position;
|
||||
|
||||
public Element(int i, int i4) {
|
||||
this.position = i;
|
||||
this.length = i4;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(getClass().getSimpleName());
|
||||
sb.append("[position = ");
|
||||
sb.append(this.position);
|
||||
sb.append(", length = ");
|
||||
return com.google.android.gms.measurement.internal.a.m(sb, this.length, "]");
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class ElementInputStream extends InputStream {
|
||||
private int position;
|
||||
private int remaining;
|
||||
|
||||
@Override // java.io.InputStream
|
||||
public int read(byte[] bArr, int i, int i4) throws IOException {
|
||||
QueueFile.nonNull(bArr, "buffer");
|
||||
if ((i | i4) >= 0 && i4 <= bArr.length - i) {
|
||||
int i5 = this.remaining;
|
||||
if (i5 <= 0) {
|
||||
return -1;
|
||||
}
|
||||
if (i4 > i5) {
|
||||
i4 = i5;
|
||||
}
|
||||
QueueFile.this.ringRead(this.position, bArr, i, i4);
|
||||
this.position = QueueFile.this.wrapPosition(this.position + i4);
|
||||
this.remaining -= i4;
|
||||
return i4;
|
||||
}
|
||||
throw new ArrayIndexOutOfBoundsException();
|
||||
}
|
||||
|
||||
private ElementInputStream(Element element) {
|
||||
this.position = QueueFile.this.wrapPosition(element.position + 4);
|
||||
this.remaining = element.length;
|
||||
}
|
||||
|
||||
@Override // java.io.InputStream
|
||||
public int read() throws IOException {
|
||||
if (this.remaining == 0) {
|
||||
return -1;
|
||||
}
|
||||
QueueFile.this.raf.seek(this.position);
|
||||
int read = QueueFile.this.raf.read();
|
||||
this.position = QueueFile.this.wrapPosition(this.position + 1);
|
||||
this.remaining--;
|
||||
return read;
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public interface ElementReader {
|
||||
void read(InputStream inputStream, int i) throws IOException;
|
||||
}
|
||||
|
||||
public QueueFile(File file) throws IOException {
|
||||
this.buffer = new byte[16];
|
||||
if (!file.exists()) {
|
||||
initialize(file);
|
||||
}
|
||||
this.raf = open(file);
|
||||
readHeader();
|
||||
}
|
||||
|
||||
private void expandIfNecessary(int i) throws IOException {
|
||||
int i4 = i + 4;
|
||||
int remainingBytes = remainingBytes();
|
||||
if (remainingBytes >= i4) {
|
||||
return;
|
||||
}
|
||||
int i5 = this.fileLength;
|
||||
do {
|
||||
remainingBytes += i5;
|
||||
i5 <<= 1;
|
||||
} while (remainingBytes < i4);
|
||||
setLength(i5);
|
||||
Element element = this.last;
|
||||
int wrapPosition = wrapPosition(element.position + 4 + element.length);
|
||||
if (wrapPosition < this.first.position) {
|
||||
FileChannel channel = this.raf.getChannel();
|
||||
channel.position(this.fileLength);
|
||||
long j4 = wrapPosition - 4;
|
||||
if (channel.transferTo(16L, j4, channel) != j4) {
|
||||
throw new AssertionError("Copied insufficient number of bytes!");
|
||||
}
|
||||
}
|
||||
int i6 = this.last.position;
|
||||
int i7 = this.first.position;
|
||||
if (i6 < i7) {
|
||||
int i8 = (this.fileLength + i6) - 16;
|
||||
writeHeader(i5, this.elementCount, i7, i8);
|
||||
this.last = new Element(i8, this.last.length);
|
||||
} else {
|
||||
writeHeader(i5, this.elementCount, i7, i6);
|
||||
}
|
||||
this.fileLength = i5;
|
||||
}
|
||||
|
||||
private static void initialize(File file) throws IOException {
|
||||
File file2 = new File(file.getPath() + ".tmp");
|
||||
RandomAccessFile open = open(file2);
|
||||
try {
|
||||
open.setLength(4096L);
|
||||
open.seek(0L);
|
||||
byte[] bArr = new byte[16];
|
||||
writeInts(bArr, 4096, 0, 0, 0);
|
||||
open.write(bArr);
|
||||
open.close();
|
||||
if (!file2.renameTo(file)) {
|
||||
throw new IOException("Rename failed!");
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
open.close();
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public static <T> T nonNull(T t2, String str) {
|
||||
if (t2 != null) {
|
||||
return t2;
|
||||
}
|
||||
throw new NullPointerException(str);
|
||||
}
|
||||
|
||||
private static RandomAccessFile open(File file) throws FileNotFoundException {
|
||||
return new RandomAccessFile(file, "rwd");
|
||||
}
|
||||
|
||||
private Element readElement(int i) throws IOException {
|
||||
if (i == 0) {
|
||||
return Element.NULL;
|
||||
}
|
||||
this.raf.seek(i);
|
||||
return new Element(i, this.raf.readInt());
|
||||
}
|
||||
|
||||
private void readHeader() throws IOException {
|
||||
this.raf.seek(0L);
|
||||
this.raf.readFully(this.buffer);
|
||||
int readInt = readInt(this.buffer, 0);
|
||||
this.fileLength = readInt;
|
||||
if (readInt > this.raf.length()) {
|
||||
throw new IOException("File is truncated. Expected length: " + this.fileLength + ", Actual length: " + this.raf.length());
|
||||
}
|
||||
this.elementCount = readInt(this.buffer, 4);
|
||||
int readInt2 = readInt(this.buffer, 8);
|
||||
int readInt3 = readInt(this.buffer, 12);
|
||||
this.first = readElement(readInt2);
|
||||
this.last = readElement(readInt3);
|
||||
}
|
||||
|
||||
private static int readInt(byte[] bArr, int i) {
|
||||
return ((bArr[i] & UByte.MAX_VALUE) << 24) + ((bArr[i + 1] & UByte.MAX_VALUE) << 16) + ((bArr[i + 2] & UByte.MAX_VALUE) << 8) + (bArr[i + 3] & UByte.MAX_VALUE);
|
||||
}
|
||||
|
||||
private int remainingBytes() {
|
||||
return this.fileLength - usedBytes();
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public void ringRead(int i, byte[] bArr, int i4, int i5) throws IOException {
|
||||
int wrapPosition = wrapPosition(i);
|
||||
int i6 = wrapPosition + i5;
|
||||
int i7 = this.fileLength;
|
||||
if (i6 <= i7) {
|
||||
this.raf.seek(wrapPosition);
|
||||
this.raf.readFully(bArr, i4, i5);
|
||||
return;
|
||||
}
|
||||
int i8 = i7 - wrapPosition;
|
||||
this.raf.seek(wrapPosition);
|
||||
this.raf.readFully(bArr, i4, i8);
|
||||
this.raf.seek(16L);
|
||||
this.raf.readFully(bArr, i4 + i8, i5 - i8);
|
||||
}
|
||||
|
||||
private void ringWrite(int i, byte[] bArr, int i4, int i5) throws IOException {
|
||||
int wrapPosition = wrapPosition(i);
|
||||
int i6 = wrapPosition + i5;
|
||||
int i7 = this.fileLength;
|
||||
if (i6 <= i7) {
|
||||
this.raf.seek(wrapPosition);
|
||||
this.raf.write(bArr, i4, i5);
|
||||
return;
|
||||
}
|
||||
int i8 = i7 - wrapPosition;
|
||||
this.raf.seek(wrapPosition);
|
||||
this.raf.write(bArr, i4, i8);
|
||||
this.raf.seek(16L);
|
||||
this.raf.write(bArr, i4 + i8, i5 - i8);
|
||||
}
|
||||
|
||||
private void setLength(int i) throws IOException {
|
||||
this.raf.setLength(i);
|
||||
this.raf.getChannel().force(true);
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public int wrapPosition(int i) {
|
||||
int i4 = this.fileLength;
|
||||
return i < i4 ? i : (i + 16) - i4;
|
||||
}
|
||||
|
||||
private void writeHeader(int i, int i4, int i5, int i6) throws IOException {
|
||||
writeInts(this.buffer, i, i4, i5, i6);
|
||||
this.raf.seek(0L);
|
||||
this.raf.write(this.buffer);
|
||||
}
|
||||
|
||||
private static void writeInt(byte[] bArr, int i, int i4) {
|
||||
bArr[i] = (byte) (i4 >> 24);
|
||||
bArr[i + 1] = (byte) (i4 >> 16);
|
||||
bArr[i + 2] = (byte) (i4 >> 8);
|
||||
bArr[i + 3] = (byte) i4;
|
||||
}
|
||||
|
||||
private static void writeInts(byte[] bArr, int... iArr) {
|
||||
int i = 0;
|
||||
for (int i4 : iArr) {
|
||||
writeInt(bArr, i, i4);
|
||||
i += 4;
|
||||
}
|
||||
}
|
||||
|
||||
public void add(byte[] bArr) throws IOException {
|
||||
add(bArr, 0, bArr.length);
|
||||
}
|
||||
|
||||
public synchronized void clear() throws IOException {
|
||||
try {
|
||||
writeHeader(4096, 0, 0, 0);
|
||||
this.elementCount = 0;
|
||||
Element element = Element.NULL;
|
||||
this.first = element;
|
||||
this.last = element;
|
||||
if (this.fileLength > 4096) {
|
||||
setLength(4096);
|
||||
}
|
||||
this.fileLength = 4096;
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
@Override // java.io.Closeable, java.lang.AutoCloseable
|
||||
public synchronized void close() throws IOException {
|
||||
this.raf.close();
|
||||
}
|
||||
|
||||
public synchronized void forEach(ElementReader elementReader) throws IOException {
|
||||
int i = this.first.position;
|
||||
for (int i4 = 0; i4 < this.elementCount; i4++) {
|
||||
Element readElement = readElement(i);
|
||||
elementReader.read(new ElementInputStream(readElement), readElement.length);
|
||||
i = wrapPosition(readElement.position + 4 + readElement.length);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean hasSpaceFor(int i, int i4) {
|
||||
return (usedBytes() + 4) + i <= i4;
|
||||
}
|
||||
|
||||
public synchronized boolean isEmpty() {
|
||||
return this.elementCount == 0;
|
||||
}
|
||||
|
||||
public synchronized byte[] peek() throws IOException {
|
||||
if (isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
Element element = this.first;
|
||||
int i = element.length;
|
||||
byte[] bArr = new byte[i];
|
||||
ringRead(element.position + 4, bArr, 0, i);
|
||||
return bArr;
|
||||
}
|
||||
|
||||
public synchronized void remove() throws IOException {
|
||||
try {
|
||||
if (isEmpty()) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
if (this.elementCount == 1) {
|
||||
clear();
|
||||
} else {
|
||||
Element element = this.first;
|
||||
int wrapPosition = wrapPosition(element.position + 4 + element.length);
|
||||
ringRead(wrapPosition, this.buffer, 0, 4);
|
||||
int readInt = readInt(this.buffer, 0);
|
||||
writeHeader(this.fileLength, this.elementCount - 1, wrapPosition, this.last.position);
|
||||
this.elementCount--;
|
||||
this.first = new Element(wrapPosition, readInt);
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized int size() {
|
||||
return this.elementCount;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
sb.append(getClass().getSimpleName());
|
||||
sb.append("[fileLength=");
|
||||
sb.append(this.fileLength);
|
||||
sb.append(", size=");
|
||||
sb.append(this.elementCount);
|
||||
sb.append(", first=");
|
||||
sb.append(this.first);
|
||||
sb.append(", last=");
|
||||
sb.append(this.last);
|
||||
sb.append(", element lengths=[");
|
||||
try {
|
||||
forEach(new ElementReader() { // from class: com.google.firebase.crashlytics.internal.metadata.QueueFile.1
|
||||
boolean first = true;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.QueueFile.ElementReader
|
||||
public void read(InputStream inputStream, int i) throws IOException {
|
||||
if (this.first) {
|
||||
this.first = false;
|
||||
} else {
|
||||
sb.append(", ");
|
||||
}
|
||||
sb.append(i);
|
||||
}
|
||||
});
|
||||
} catch (IOException e4) {
|
||||
LOGGER.log(Level.WARNING, "read error", (Throwable) e4);
|
||||
}
|
||||
sb.append("]]");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public int usedBytes() {
|
||||
if (this.elementCount == 0) {
|
||||
return 16;
|
||||
}
|
||||
Element element = this.last;
|
||||
int i = element.position;
|
||||
int i4 = this.first.position;
|
||||
return i >= i4 ? (i - i4) + 4 + element.length + 16 : (((i + 4) + element.length) + this.fileLength) - i4;
|
||||
}
|
||||
|
||||
public synchronized void add(byte[] bArr, int i, int i4) throws IOException {
|
||||
int wrapPosition;
|
||||
try {
|
||||
nonNull(bArr, "buffer");
|
||||
if ((i | i4) >= 0 && i4 <= bArr.length - i) {
|
||||
expandIfNecessary(i4);
|
||||
boolean isEmpty = isEmpty();
|
||||
if (isEmpty) {
|
||||
wrapPosition = 16;
|
||||
} else {
|
||||
Element element = this.last;
|
||||
wrapPosition = wrapPosition(element.position + 4 + element.length);
|
||||
}
|
||||
Element element2 = new Element(wrapPosition, i4);
|
||||
writeInt(this.buffer, 0, i4);
|
||||
ringWrite(element2.position, this.buffer, 0, 4);
|
||||
ringWrite(element2.position + 4, bArr, i, i4);
|
||||
writeHeader(this.fileLength, this.elementCount + 1, isEmpty ? element2.position : this.first.position, element2.position);
|
||||
this.last = element2;
|
||||
this.elementCount++;
|
||||
if (isEmpty) {
|
||||
this.first = element2;
|
||||
}
|
||||
} else {
|
||||
throw new IndexOutOfBoundsException();
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
|
||||
public QueueFile(RandomAccessFile randomAccessFile) throws IOException {
|
||||
this.buffer = new byte[16];
|
||||
this.raf = randomAccessFile;
|
||||
readHeader();
|
||||
}
|
||||
|
||||
public synchronized void peek(ElementReader elementReader) throws IOException {
|
||||
if (this.elementCount > 0) {
|
||||
elementReader.read(new ElementInputStream(this.first), this.first.length);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.common.CommonUtils;
|
||||
import com.google.firebase.crashlytics.internal.metadata.QueueFile;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Locale;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
class QueueFileLogStore implements FileLogStore {
|
||||
private static final Charset UTF_8 = Charset.forName("UTF-8");
|
||||
private QueueFile logFile;
|
||||
private final int maxLogSize;
|
||||
private final File workingFile;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static class LogBytes {
|
||||
public final byte[] bytes;
|
||||
public final int offset;
|
||||
|
||||
public LogBytes(byte[] bArr, int i) {
|
||||
this.bytes = bArr;
|
||||
this.offset = i;
|
||||
}
|
||||
}
|
||||
|
||||
public QueueFileLogStore(File file, int i) {
|
||||
this.workingFile = file;
|
||||
this.maxLogSize = i;
|
||||
}
|
||||
|
||||
private void doWriteToLog(long j4, String str) {
|
||||
if (this.logFile == null) {
|
||||
return;
|
||||
}
|
||||
if (str == null) {
|
||||
str = "null";
|
||||
}
|
||||
try {
|
||||
int i = this.maxLogSize / 4;
|
||||
if (str.length() > i) {
|
||||
str = "..." + str.substring(str.length() - i);
|
||||
}
|
||||
this.logFile.add(String.format(Locale.US, "%d %s%n", Long.valueOf(j4), str.replaceAll("\r", " ").replaceAll("\n", " ")).getBytes(UTF_8));
|
||||
while (!this.logFile.isEmpty() && this.logFile.usedBytes() > this.maxLogSize) {
|
||||
this.logFile.remove();
|
||||
}
|
||||
} catch (IOException e4) {
|
||||
Logger.getLogger().e("There was a problem writing to the Crashlytics log.", e4);
|
||||
}
|
||||
}
|
||||
|
||||
private LogBytes getLogBytes() {
|
||||
if (!this.workingFile.exists()) {
|
||||
return null;
|
||||
}
|
||||
openLogFile();
|
||||
QueueFile queueFile = this.logFile;
|
||||
if (queueFile == null) {
|
||||
return null;
|
||||
}
|
||||
final int[] iArr = {0};
|
||||
final byte[] bArr = new byte[queueFile.usedBytes()];
|
||||
try {
|
||||
this.logFile.forEach(new QueueFile.ElementReader() { // from class: com.google.firebase.crashlytics.internal.metadata.QueueFileLogStore.1
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.QueueFile.ElementReader
|
||||
public void read(InputStream inputStream, int i) throws IOException {
|
||||
try {
|
||||
inputStream.read(bArr, iArr[0], i);
|
||||
int[] iArr2 = iArr;
|
||||
iArr2[0] = iArr2[0] + i;
|
||||
} finally {
|
||||
inputStream.close();
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (IOException e4) {
|
||||
Logger.getLogger().e("A problem occurred while reading the Crashlytics log file.", e4);
|
||||
}
|
||||
return new LogBytes(bArr, iArr[0]);
|
||||
}
|
||||
|
||||
private void openLogFile() {
|
||||
if (this.logFile == null) {
|
||||
try {
|
||||
this.logFile = new QueueFile(this.workingFile);
|
||||
} catch (IOException e4) {
|
||||
Logger.getLogger().e("Could not open log file: " + this.workingFile, e4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.FileLogStore
|
||||
public void closeLogFile() {
|
||||
CommonUtils.closeOrLog(this.logFile, "There was a problem closing the Crashlytics log file.");
|
||||
this.logFile = null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.FileLogStore
|
||||
public void deleteLogFile() {
|
||||
closeLogFile();
|
||||
this.workingFile.delete();
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.FileLogStore
|
||||
public byte[] getLogAsBytes() {
|
||||
LogBytes logBytes = getLogBytes();
|
||||
if (logBytes == null) {
|
||||
return null;
|
||||
}
|
||||
int i = logBytes.offset;
|
||||
byte[] bArr = new byte[i];
|
||||
System.arraycopy(logBytes.bytes, 0, bArr, 0, i);
|
||||
return bArr;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.FileLogStore
|
||||
public String getLogAsString() {
|
||||
byte[] logAsBytes = getLogAsBytes();
|
||||
if (logAsBytes != null) {
|
||||
return new String(logAsBytes, UTF_8);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.metadata.FileLogStore
|
||||
public void writeToLog(long j4, String str) {
|
||||
openLogFile();
|
||||
doWriteToLog(j4, str);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import com.google.firebase.encoders.DataEncoder;
|
||||
import com.google.firebase.encoders.annotations.Encodable;
|
||||
import com.google.firebase.encoders.json.JsonDataEncoderBuilder;
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import com.google.firebase.remoteconfig.internal.ConfigContainer;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
@AutoValue
|
||||
@Encodable
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class RolloutAssignment {
|
||||
private static final int MAX_PARAMETER_VALUE_LENGTH = 256;
|
||||
public static final DataEncoder ROLLOUT_ASSIGNMENT_JSON_ENCODER = new JsonDataEncoderBuilder().configureWith(AutoRolloutAssignmentEncoder.CONFIG).build();
|
||||
|
||||
public static RolloutAssignment create(String str, String str2, String str3, String str4, long j4) {
|
||||
return new AutoValue_RolloutAssignment(str, str2, validate(str3), str4, j4);
|
||||
}
|
||||
|
||||
private static String validate(String str) {
|
||||
return str.length() > MAX_PARAMETER_VALUE_LENGTH ? str.substring(0, MAX_PARAMETER_VALUE_LENGTH) : str;
|
||||
}
|
||||
|
||||
public abstract String getParameterKey();
|
||||
|
||||
public abstract String getParameterValue();
|
||||
|
||||
public abstract String getRolloutId();
|
||||
|
||||
public abstract long getTemplateVersion();
|
||||
|
||||
public abstract String getVariantId();
|
||||
|
||||
public CrashlyticsReport.Session.Event.RolloutAssignment toReportProto() {
|
||||
return CrashlyticsReport.Session.Event.RolloutAssignment.builder().setRolloutVariant(CrashlyticsReport.Session.Event.RolloutAssignment.RolloutVariant.builder().setVariantId(getVariantId()).setRolloutId(getRolloutId()).build()).setParameterKey(getParameterKey()).setParameterValue(getParameterValue()).setTemplateVersion(getTemplateVersion()).build();
|
||||
}
|
||||
|
||||
public static RolloutAssignment create(String str) throws JSONException {
|
||||
JSONObject jSONObject = new JSONObject(str);
|
||||
return create(jSONObject.getString(ConfigContainer.ROLLOUT_METADATA_ID), jSONObject.getString("parameterKey"), jSONObject.getString("parameterValue"), jSONObject.getString("variantId"), jSONObject.getLong(RemoteConfigConstants.ResponseFieldKey.TEMPLATE_VERSION_NUMBER));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.Logger;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class RolloutAssignmentList {
|
||||
static final String ROLLOUTS_STATE = "rolloutsState";
|
||||
private final int maxEntries;
|
||||
private final List<RolloutAssignment> rolloutsState = new ArrayList();
|
||||
|
||||
public RolloutAssignmentList(int i) {
|
||||
this.maxEntries = i;
|
||||
}
|
||||
|
||||
public List<CrashlyticsReport.Session.Event.RolloutAssignment> getReportRolloutsState() {
|
||||
List<RolloutAssignment> rolloutAssignmentList = getRolloutAssignmentList();
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (int i = 0; i < rolloutAssignmentList.size(); i++) {
|
||||
arrayList.add(rolloutAssignmentList.get(i).toReportProto());
|
||||
}
|
||||
return arrayList;
|
||||
}
|
||||
|
||||
public synchronized List<RolloutAssignment> getRolloutAssignmentList() {
|
||||
return Collections.unmodifiableList(new ArrayList(this.rolloutsState));
|
||||
}
|
||||
|
||||
public synchronized boolean updateRolloutAssignmentList(List<RolloutAssignment> list) {
|
||||
this.rolloutsState.clear();
|
||||
if (list.size() <= this.maxEntries) {
|
||||
return this.rolloutsState.addAll(list);
|
||||
}
|
||||
Logger.getLogger().w("Ignored 0 entries when adding rollout assignments. Maximum allowable: " + this.maxEntries);
|
||||
return this.rolloutsState.addAll(list.subList(0, this.maxEntries));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,238 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.common.CommonUtils;
|
||||
import com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import com.google.firebase.crashlytics.internal.persistence.FileStore;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.atomic.AtomicMarkableReference;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class UserMetadata {
|
||||
public static final String INTERNAL_KEYDATA_FILENAME = "internal-keys";
|
||||
public static final String KEYDATA_FILENAME = "keys";
|
||||
public static final int MAX_ATTRIBUTES = 64;
|
||||
public static final int MAX_ATTRIBUTE_SIZE = 1024;
|
||||
public static final int MAX_INTERNAL_KEY_SIZE = 8192;
|
||||
public static final int MAX_ROLLOUT_ASSIGNMENTS = 128;
|
||||
public static final String ROLLOUTS_STATE_FILENAME = "rollouts-state";
|
||||
public static final String USERDATA_FILENAME = "user-data";
|
||||
private final CrashlyticsBackgroundWorker backgroundWorker;
|
||||
private final MetaDataStore metaDataStore;
|
||||
private String sessionIdentifier;
|
||||
private final SerializeableKeysMap customKeys = new SerializeableKeysMap(false);
|
||||
private final SerializeableKeysMap internalKeys = new SerializeableKeysMap(true);
|
||||
private final RolloutAssignmentList rolloutsState = new RolloutAssignmentList(128);
|
||||
private final AtomicMarkableReference<String> userId = new AtomicMarkableReference<>(null, false);
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class SerializeableKeysMap {
|
||||
private final boolean isInternal;
|
||||
final AtomicMarkableReference<KeysMap> map;
|
||||
private final AtomicReference<Callable<Void>> queuedSerializer = new AtomicReference<>(null);
|
||||
|
||||
public SerializeableKeysMap(boolean z3) {
|
||||
this.isInternal = z3;
|
||||
this.map = new AtomicMarkableReference<>(new KeysMap(64, z3 ? 8192 : 1024), false);
|
||||
}
|
||||
|
||||
public /* synthetic */ Void lambda$scheduleSerializationTaskIfNeeded$0() throws Exception {
|
||||
this.queuedSerializer.set(null);
|
||||
serializeIfMarked();
|
||||
return null;
|
||||
}
|
||||
|
||||
private void scheduleSerializationTaskIfNeeded() {
|
||||
b bVar = new b(this, 0);
|
||||
AtomicReference<Callable<Void>> atomicReference = this.queuedSerializer;
|
||||
while (!atomicReference.compareAndSet(null, bVar)) {
|
||||
if (atomicReference.get() != null) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
UserMetadata.this.backgroundWorker.submit(bVar);
|
||||
}
|
||||
|
||||
private void serializeIfMarked() {
|
||||
Map<String, String> map;
|
||||
synchronized (this) {
|
||||
try {
|
||||
if (this.map.isMarked()) {
|
||||
map = this.map.getReference().getKeys();
|
||||
AtomicMarkableReference<KeysMap> atomicMarkableReference = this.map;
|
||||
atomicMarkableReference.set(atomicMarkableReference.getReference(), false);
|
||||
} else {
|
||||
map = null;
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
if (map != null) {
|
||||
UserMetadata.this.metaDataStore.writeKeyData(UserMetadata.this.sessionIdentifier, map, this.isInternal);
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, String> getKeys() {
|
||||
return this.map.getReference().getKeys();
|
||||
}
|
||||
|
||||
public boolean setKey(String str, String str2) {
|
||||
synchronized (this) {
|
||||
try {
|
||||
if (!this.map.getReference().setKey(str, str2)) {
|
||||
return false;
|
||||
}
|
||||
AtomicMarkableReference<KeysMap> atomicMarkableReference = this.map;
|
||||
atomicMarkableReference.set(atomicMarkableReference.getReference(), true);
|
||||
scheduleSerializationTaskIfNeeded();
|
||||
return true;
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setKeys(Map<String, String> map) {
|
||||
synchronized (this) {
|
||||
this.map.getReference().setKeys(map);
|
||||
AtomicMarkableReference<KeysMap> atomicMarkableReference = this.map;
|
||||
atomicMarkableReference.set(atomicMarkableReference.getReference(), true);
|
||||
}
|
||||
scheduleSerializationTaskIfNeeded();
|
||||
}
|
||||
}
|
||||
|
||||
public UserMetadata(String str, FileStore fileStore, CrashlyticsBackgroundWorker crashlyticsBackgroundWorker) {
|
||||
this.sessionIdentifier = str;
|
||||
this.metaDataStore = new MetaDataStore(fileStore);
|
||||
this.backgroundWorker = crashlyticsBackgroundWorker;
|
||||
}
|
||||
|
||||
public /* synthetic */ Object lambda$setUserId$0() throws Exception {
|
||||
serializeUserDataIfNeeded();
|
||||
return null;
|
||||
}
|
||||
|
||||
public /* synthetic */ Object lambda$updateRolloutsState$1(List list) throws Exception {
|
||||
this.metaDataStore.writeRolloutState(this.sessionIdentifier, list);
|
||||
return null;
|
||||
}
|
||||
|
||||
public static UserMetadata loadFromExistingSession(String str, FileStore fileStore, CrashlyticsBackgroundWorker crashlyticsBackgroundWorker) {
|
||||
MetaDataStore metaDataStore = new MetaDataStore(fileStore);
|
||||
UserMetadata userMetadata = new UserMetadata(str, fileStore, crashlyticsBackgroundWorker);
|
||||
userMetadata.customKeys.map.getReference().setKeys(metaDataStore.readKeyData(str, false));
|
||||
userMetadata.internalKeys.map.getReference().setKeys(metaDataStore.readKeyData(str, true));
|
||||
userMetadata.userId.set(metaDataStore.readUserId(str), false);
|
||||
userMetadata.rolloutsState.updateRolloutAssignmentList(metaDataStore.readRolloutsState(str));
|
||||
return userMetadata;
|
||||
}
|
||||
|
||||
public static String readUserId(String str, FileStore fileStore) {
|
||||
return new MetaDataStore(fileStore).readUserId(str);
|
||||
}
|
||||
|
||||
private void serializeUserDataIfNeeded() {
|
||||
boolean z3;
|
||||
String str;
|
||||
synchronized (this.userId) {
|
||||
try {
|
||||
z3 = false;
|
||||
if (this.userId.isMarked()) {
|
||||
str = getUserId();
|
||||
this.userId.set(str, false);
|
||||
z3 = true;
|
||||
} else {
|
||||
str = null;
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
if (z3) {
|
||||
this.metaDataStore.writeUserData(this.sessionIdentifier, str);
|
||||
}
|
||||
}
|
||||
|
||||
public Map<String, String> getCustomKeys() {
|
||||
return this.customKeys.getKeys();
|
||||
}
|
||||
|
||||
public Map<String, String> getInternalKeys() {
|
||||
return this.internalKeys.getKeys();
|
||||
}
|
||||
|
||||
public List<CrashlyticsReport.Session.Event.RolloutAssignment> getRolloutsState() {
|
||||
return this.rolloutsState.getReportRolloutsState();
|
||||
}
|
||||
|
||||
public String getUserId() {
|
||||
return this.userId.getReference();
|
||||
}
|
||||
|
||||
public boolean setCustomKey(String str, String str2) {
|
||||
return this.customKeys.setKey(str, str2);
|
||||
}
|
||||
|
||||
public void setCustomKeys(Map<String, String> map) {
|
||||
this.customKeys.setKeys(map);
|
||||
}
|
||||
|
||||
public boolean setInternalKey(String str, String str2) {
|
||||
return this.internalKeys.setKey(str, str2);
|
||||
}
|
||||
|
||||
public void setNewSession(String str) {
|
||||
synchronized (this.sessionIdentifier) {
|
||||
try {
|
||||
this.sessionIdentifier = str;
|
||||
Map<String, String> keys = this.customKeys.getKeys();
|
||||
List<RolloutAssignment> rolloutAssignmentList = this.rolloutsState.getRolloutAssignmentList();
|
||||
if (getUserId() != null) {
|
||||
this.metaDataStore.writeUserData(str, getUserId());
|
||||
}
|
||||
if (!keys.isEmpty()) {
|
||||
this.metaDataStore.writeKeyData(str, keys);
|
||||
}
|
||||
if (!rolloutAssignmentList.isEmpty()) {
|
||||
this.metaDataStore.writeRolloutState(str, rolloutAssignmentList);
|
||||
}
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setUserId(String str) {
|
||||
String sanitizeString = KeysMap.sanitizeString(str, 1024);
|
||||
synchronized (this.userId) {
|
||||
try {
|
||||
if (CommonUtils.nullSafeEquals(sanitizeString, this.userId.getReference())) {
|
||||
return;
|
||||
}
|
||||
this.userId.set(sanitizeString, true);
|
||||
this.backgroundWorker.submit(new b(this, 1));
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean updateRolloutsState(List<RolloutAssignment> list) {
|
||||
synchronized (this.rolloutsState) {
|
||||
try {
|
||||
if (!this.rolloutsState.updateRolloutAssignmentList(list)) {
|
||||
return false;
|
||||
}
|
||||
this.backgroundWorker.submit(new a(0, this, this.rolloutsState.getRolloutAssignmentList()));
|
||||
return true;
|
||||
} catch (Throwable th) {
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
|
||||
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings;
|
||||
import com.google.firebase.remoteconfig.internal.ConfigCacheClient;
|
||||
import com.google.firebase.remoteconfig.internal.ConfigContainer;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* synthetic */ class a implements Callable {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ int f5972a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final /* synthetic */ Object f5973b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final /* synthetic */ Object f5974c;
|
||||
|
||||
public /* synthetic */ a(int i, Object obj, Object obj2) {
|
||||
this.f5972a = i;
|
||||
this.f5973b = obj;
|
||||
this.f5974c = obj2;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public final Object call() {
|
||||
Object lambda$updateRolloutsState$1;
|
||||
Void lambda$setConfigSettingsAsync$5;
|
||||
switch (this.f5972a) {
|
||||
case 0:
|
||||
lambda$updateRolloutsState$1 = ((UserMetadata) this.f5973b).lambda$updateRolloutsState$1((List) this.f5974c);
|
||||
return lambda$updateRolloutsState$1;
|
||||
case 1:
|
||||
lambda$setConfigSettingsAsync$5 = ((FirebaseRemoteConfig) this.f5973b).lambda$setConfigSettingsAsync$5((FirebaseRemoteConfigSettings) this.f5974c);
|
||||
return lambda$setConfigSettingsAsync$5;
|
||||
default:
|
||||
return ConfigCacheClient.b((ConfigCacheClient) this.f5973b, (ConfigContainer) this.f5974c);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.google.firebase.crashlytics.internal.metadata;
|
||||
|
||||
import com.google.firebase.crashlytics.internal.metadata.UserMetadata;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final /* synthetic */ class b implements Callable {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ int f5975a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final /* synthetic */ Object f5976b;
|
||||
|
||||
public /* synthetic */ b(Object obj, int i) {
|
||||
this.f5975a = i;
|
||||
this.f5976b = obj;
|
||||
}
|
||||
|
||||
@Override // java.util.concurrent.Callable
|
||||
public final Object call() {
|
||||
int i = this.f5975a;
|
||||
Object obj = this.f5976b;
|
||||
switch (i) {
|
||||
case 0:
|
||||
return UserMetadata.SerializeableKeysMap.a((UserMetadata.SerializeableKeysMap) obj);
|
||||
default:
|
||||
return UserMetadata.b((UserMetadata) obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,654 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import com.google.android.gms.measurement.api.AppMeasurementSdk;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import com.google.firebase.encoders.FieldDescriptor;
|
||||
import com.google.firebase.encoders.ObjectEncoder;
|
||||
import com.google.firebase.encoders.ObjectEncoderContext;
|
||||
import com.google.firebase.encoders.config.Configurator;
|
||||
import com.google.firebase.encoders.config.EncoderConfig;
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import com.google.firebase.remoteconfig.internal.ConfigContainer;
|
||||
import java.io.IOException;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public final class AutoCrashlyticsReportEncoder implements Configurator {
|
||||
public static final int CODEGEN_VERSION = 2;
|
||||
public static final Configurator CONFIG = new AutoCrashlyticsReportEncoder();
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportApplicationExitInfoBuildIdMappingForArchEncoder implements ObjectEncoder<CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch> {
|
||||
static final CrashlyticsReportApplicationExitInfoBuildIdMappingForArchEncoder INSTANCE = new CrashlyticsReportApplicationExitInfoBuildIdMappingForArchEncoder();
|
||||
private static final FieldDescriptor ARCH_DESCRIPTOR = FieldDescriptor.of("arch");
|
||||
private static final FieldDescriptor LIBRARYNAME_DESCRIPTOR = FieldDescriptor.of("libraryName");
|
||||
private static final FieldDescriptor BUILDID_DESCRIPTOR = FieldDescriptor.of("buildId");
|
||||
|
||||
private CrashlyticsReportApplicationExitInfoBuildIdMappingForArchEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch buildIdMappingForArch, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(ARCH_DESCRIPTOR, buildIdMappingForArch.getArch());
|
||||
objectEncoderContext.add(LIBRARYNAME_DESCRIPTOR, buildIdMappingForArch.getLibraryName());
|
||||
objectEncoderContext.add(BUILDID_DESCRIPTOR, buildIdMappingForArch.getBuildId());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportApplicationExitInfoEncoder implements ObjectEncoder<CrashlyticsReport.ApplicationExitInfo> {
|
||||
static final CrashlyticsReportApplicationExitInfoEncoder INSTANCE = new CrashlyticsReportApplicationExitInfoEncoder();
|
||||
private static final FieldDescriptor PID_DESCRIPTOR = FieldDescriptor.of("pid");
|
||||
private static final FieldDescriptor PROCESSNAME_DESCRIPTOR = FieldDescriptor.of("processName");
|
||||
private static final FieldDescriptor REASONCODE_DESCRIPTOR = FieldDescriptor.of("reasonCode");
|
||||
private static final FieldDescriptor IMPORTANCE_DESCRIPTOR = FieldDescriptor.of("importance");
|
||||
private static final FieldDescriptor PSS_DESCRIPTOR = FieldDescriptor.of("pss");
|
||||
private static final FieldDescriptor RSS_DESCRIPTOR = FieldDescriptor.of("rss");
|
||||
private static final FieldDescriptor TIMESTAMP_DESCRIPTOR = FieldDescriptor.of("timestamp");
|
||||
private static final FieldDescriptor TRACEFILE_DESCRIPTOR = FieldDescriptor.of("traceFile");
|
||||
private static final FieldDescriptor BUILDIDMAPPINGFORARCH_DESCRIPTOR = FieldDescriptor.of("buildIdMappingForArch");
|
||||
|
||||
private CrashlyticsReportApplicationExitInfoEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.ApplicationExitInfo applicationExitInfo, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(PID_DESCRIPTOR, applicationExitInfo.getPid());
|
||||
objectEncoderContext.add(PROCESSNAME_DESCRIPTOR, applicationExitInfo.getProcessName());
|
||||
objectEncoderContext.add(REASONCODE_DESCRIPTOR, applicationExitInfo.getReasonCode());
|
||||
objectEncoderContext.add(IMPORTANCE_DESCRIPTOR, applicationExitInfo.getImportance());
|
||||
objectEncoderContext.add(PSS_DESCRIPTOR, applicationExitInfo.getPss());
|
||||
objectEncoderContext.add(RSS_DESCRIPTOR, applicationExitInfo.getRss());
|
||||
objectEncoderContext.add(TIMESTAMP_DESCRIPTOR, applicationExitInfo.getTimestamp());
|
||||
objectEncoderContext.add(TRACEFILE_DESCRIPTOR, applicationExitInfo.getTraceFile());
|
||||
objectEncoderContext.add(BUILDIDMAPPINGFORARCH_DESCRIPTOR, applicationExitInfo.getBuildIdMappingForArch());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportCustomAttributeEncoder implements ObjectEncoder<CrashlyticsReport.CustomAttribute> {
|
||||
static final CrashlyticsReportCustomAttributeEncoder INSTANCE = new CrashlyticsReportCustomAttributeEncoder();
|
||||
private static final FieldDescriptor KEY_DESCRIPTOR = FieldDescriptor.of("key");
|
||||
private static final FieldDescriptor VALUE_DESCRIPTOR = FieldDescriptor.of("value");
|
||||
|
||||
private CrashlyticsReportCustomAttributeEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.CustomAttribute customAttribute, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(KEY_DESCRIPTOR, customAttribute.getKey());
|
||||
objectEncoderContext.add(VALUE_DESCRIPTOR, customAttribute.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportEncoder implements ObjectEncoder<CrashlyticsReport> {
|
||||
static final CrashlyticsReportEncoder INSTANCE = new CrashlyticsReportEncoder();
|
||||
private static final FieldDescriptor SDKVERSION_DESCRIPTOR = FieldDescriptor.of(RemoteConfigConstants.RequestFieldKey.SDK_VERSION);
|
||||
private static final FieldDescriptor GMPAPPID_DESCRIPTOR = FieldDescriptor.of("gmpAppId");
|
||||
private static final FieldDescriptor PLATFORM_DESCRIPTOR = FieldDescriptor.of("platform");
|
||||
private static final FieldDescriptor INSTALLATIONUUID_DESCRIPTOR = FieldDescriptor.of("installationUuid");
|
||||
private static final FieldDescriptor FIREBASEINSTALLATIONID_DESCRIPTOR = FieldDescriptor.of("firebaseInstallationId");
|
||||
private static final FieldDescriptor APPQUALITYSESSIONID_DESCRIPTOR = FieldDescriptor.of("appQualitySessionId");
|
||||
private static final FieldDescriptor BUILDVERSION_DESCRIPTOR = FieldDescriptor.of("buildVersion");
|
||||
private static final FieldDescriptor DISPLAYVERSION_DESCRIPTOR = FieldDescriptor.of("displayVersion");
|
||||
private static final FieldDescriptor SESSION_DESCRIPTOR = FieldDescriptor.of("session");
|
||||
private static final FieldDescriptor NDKPAYLOAD_DESCRIPTOR = FieldDescriptor.of("ndkPayload");
|
||||
private static final FieldDescriptor APPEXITINFO_DESCRIPTOR = FieldDescriptor.of("appExitInfo");
|
||||
|
||||
private CrashlyticsReportEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport crashlyticsReport, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(SDKVERSION_DESCRIPTOR, crashlyticsReport.getSdkVersion());
|
||||
objectEncoderContext.add(GMPAPPID_DESCRIPTOR, crashlyticsReport.getGmpAppId());
|
||||
objectEncoderContext.add(PLATFORM_DESCRIPTOR, crashlyticsReport.getPlatform());
|
||||
objectEncoderContext.add(INSTALLATIONUUID_DESCRIPTOR, crashlyticsReport.getInstallationUuid());
|
||||
objectEncoderContext.add(FIREBASEINSTALLATIONID_DESCRIPTOR, crashlyticsReport.getFirebaseInstallationId());
|
||||
objectEncoderContext.add(APPQUALITYSESSIONID_DESCRIPTOR, crashlyticsReport.getAppQualitySessionId());
|
||||
objectEncoderContext.add(BUILDVERSION_DESCRIPTOR, crashlyticsReport.getBuildVersion());
|
||||
objectEncoderContext.add(DISPLAYVERSION_DESCRIPTOR, crashlyticsReport.getDisplayVersion());
|
||||
objectEncoderContext.add(SESSION_DESCRIPTOR, crashlyticsReport.getSession());
|
||||
objectEncoderContext.add(NDKPAYLOAD_DESCRIPTOR, crashlyticsReport.getNdkPayload());
|
||||
objectEncoderContext.add(APPEXITINFO_DESCRIPTOR, crashlyticsReport.getAppExitInfo());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportFilesPayloadEncoder implements ObjectEncoder<CrashlyticsReport.FilesPayload> {
|
||||
static final CrashlyticsReportFilesPayloadEncoder INSTANCE = new CrashlyticsReportFilesPayloadEncoder();
|
||||
private static final FieldDescriptor FILES_DESCRIPTOR = FieldDescriptor.of("files");
|
||||
private static final FieldDescriptor ORGID_DESCRIPTOR = FieldDescriptor.of("orgId");
|
||||
|
||||
private CrashlyticsReportFilesPayloadEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.FilesPayload filesPayload, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(FILES_DESCRIPTOR, filesPayload.getFiles());
|
||||
objectEncoderContext.add(ORGID_DESCRIPTOR, filesPayload.getOrgId());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportFilesPayloadFileEncoder implements ObjectEncoder<CrashlyticsReport.FilesPayload.File> {
|
||||
static final CrashlyticsReportFilesPayloadFileEncoder INSTANCE = new CrashlyticsReportFilesPayloadFileEncoder();
|
||||
private static final FieldDescriptor FILENAME_DESCRIPTOR = FieldDescriptor.of("filename");
|
||||
private static final FieldDescriptor CONTENTS_DESCRIPTOR = FieldDescriptor.of("contents");
|
||||
|
||||
private CrashlyticsReportFilesPayloadFileEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.FilesPayload.File file, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(FILENAME_DESCRIPTOR, file.getFilename());
|
||||
objectEncoderContext.add(CONTENTS_DESCRIPTOR, file.getContents());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionApplicationEncoder implements ObjectEncoder<CrashlyticsReport.Session.Application> {
|
||||
static final CrashlyticsReportSessionApplicationEncoder INSTANCE = new CrashlyticsReportSessionApplicationEncoder();
|
||||
private static final FieldDescriptor IDENTIFIER_DESCRIPTOR = FieldDescriptor.of("identifier");
|
||||
private static final FieldDescriptor VERSION_DESCRIPTOR = FieldDescriptor.of("version");
|
||||
private static final FieldDescriptor DISPLAYVERSION_DESCRIPTOR = FieldDescriptor.of("displayVersion");
|
||||
private static final FieldDescriptor ORGANIZATION_DESCRIPTOR = FieldDescriptor.of("organization");
|
||||
private static final FieldDescriptor INSTALLATIONUUID_DESCRIPTOR = FieldDescriptor.of("installationUuid");
|
||||
private static final FieldDescriptor DEVELOPMENTPLATFORM_DESCRIPTOR = FieldDescriptor.of("developmentPlatform");
|
||||
private static final FieldDescriptor DEVELOPMENTPLATFORMVERSION_DESCRIPTOR = FieldDescriptor.of("developmentPlatformVersion");
|
||||
|
||||
private CrashlyticsReportSessionApplicationEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Application application, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(IDENTIFIER_DESCRIPTOR, application.getIdentifier());
|
||||
objectEncoderContext.add(VERSION_DESCRIPTOR, application.getVersion());
|
||||
objectEncoderContext.add(DISPLAYVERSION_DESCRIPTOR, application.getDisplayVersion());
|
||||
objectEncoderContext.add(ORGANIZATION_DESCRIPTOR, application.getOrganization());
|
||||
objectEncoderContext.add(INSTALLATIONUUID_DESCRIPTOR, application.getInstallationUuid());
|
||||
objectEncoderContext.add(DEVELOPMENTPLATFORM_DESCRIPTOR, application.getDevelopmentPlatform());
|
||||
objectEncoderContext.add(DEVELOPMENTPLATFORMVERSION_DESCRIPTOR, application.getDevelopmentPlatformVersion());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionApplicationOrganizationEncoder implements ObjectEncoder<CrashlyticsReport.Session.Application.Organization> {
|
||||
static final CrashlyticsReportSessionApplicationOrganizationEncoder INSTANCE = new CrashlyticsReportSessionApplicationOrganizationEncoder();
|
||||
private static final FieldDescriptor CLSID_DESCRIPTOR = FieldDescriptor.of("clsId");
|
||||
|
||||
private CrashlyticsReportSessionApplicationOrganizationEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Application.Organization organization, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(CLSID_DESCRIPTOR, organization.getClsId());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionDeviceEncoder implements ObjectEncoder<CrashlyticsReport.Session.Device> {
|
||||
static final CrashlyticsReportSessionDeviceEncoder INSTANCE = new CrashlyticsReportSessionDeviceEncoder();
|
||||
private static final FieldDescriptor ARCH_DESCRIPTOR = FieldDescriptor.of("arch");
|
||||
private static final FieldDescriptor MODEL_DESCRIPTOR = FieldDescriptor.of("model");
|
||||
private static final FieldDescriptor CORES_DESCRIPTOR = FieldDescriptor.of("cores");
|
||||
private static final FieldDescriptor RAM_DESCRIPTOR = FieldDescriptor.of("ram");
|
||||
private static final FieldDescriptor DISKSPACE_DESCRIPTOR = FieldDescriptor.of("diskSpace");
|
||||
private static final FieldDescriptor SIMULATOR_DESCRIPTOR = FieldDescriptor.of("simulator");
|
||||
private static final FieldDescriptor STATE_DESCRIPTOR = FieldDescriptor.of(RemoteConfigConstants.ResponseFieldKey.STATE);
|
||||
private static final FieldDescriptor MANUFACTURER_DESCRIPTOR = FieldDescriptor.of("manufacturer");
|
||||
private static final FieldDescriptor MODELCLASS_DESCRIPTOR = FieldDescriptor.of("modelClass");
|
||||
|
||||
private CrashlyticsReportSessionDeviceEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Device device, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(ARCH_DESCRIPTOR, device.getArch());
|
||||
objectEncoderContext.add(MODEL_DESCRIPTOR, device.getModel());
|
||||
objectEncoderContext.add(CORES_DESCRIPTOR, device.getCores());
|
||||
objectEncoderContext.add(RAM_DESCRIPTOR, device.getRam());
|
||||
objectEncoderContext.add(DISKSPACE_DESCRIPTOR, device.getDiskSpace());
|
||||
objectEncoderContext.add(SIMULATOR_DESCRIPTOR, device.isSimulator());
|
||||
objectEncoderContext.add(STATE_DESCRIPTOR, device.getState());
|
||||
objectEncoderContext.add(MANUFACTURER_DESCRIPTOR, device.getManufacturer());
|
||||
objectEncoderContext.add(MODELCLASS_DESCRIPTOR, device.getModelClass());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEncoder implements ObjectEncoder<CrashlyticsReport.Session> {
|
||||
static final CrashlyticsReportSessionEncoder INSTANCE = new CrashlyticsReportSessionEncoder();
|
||||
private static final FieldDescriptor GENERATOR_DESCRIPTOR = FieldDescriptor.of("generator");
|
||||
private static final FieldDescriptor IDENTIFIER_DESCRIPTOR = FieldDescriptor.of("identifier");
|
||||
private static final FieldDescriptor APPQUALITYSESSIONID_DESCRIPTOR = FieldDescriptor.of("appQualitySessionId");
|
||||
private static final FieldDescriptor STARTEDAT_DESCRIPTOR = FieldDescriptor.of("startedAt");
|
||||
private static final FieldDescriptor ENDEDAT_DESCRIPTOR = FieldDescriptor.of("endedAt");
|
||||
private static final FieldDescriptor CRASHED_DESCRIPTOR = FieldDescriptor.of("crashed");
|
||||
private static final FieldDescriptor APP_DESCRIPTOR = FieldDescriptor.of("app");
|
||||
private static final FieldDescriptor USER_DESCRIPTOR = FieldDescriptor.of("user");
|
||||
private static final FieldDescriptor OS_DESCRIPTOR = FieldDescriptor.of("os");
|
||||
private static final FieldDescriptor DEVICE_DESCRIPTOR = FieldDescriptor.of("device");
|
||||
private static final FieldDescriptor EVENTS_DESCRIPTOR = FieldDescriptor.of("events");
|
||||
private static final FieldDescriptor GENERATORTYPE_DESCRIPTOR = FieldDescriptor.of("generatorType");
|
||||
|
||||
private CrashlyticsReportSessionEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session session, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(GENERATOR_DESCRIPTOR, session.getGenerator());
|
||||
objectEncoderContext.add(IDENTIFIER_DESCRIPTOR, session.getIdentifierUtf8Bytes());
|
||||
objectEncoderContext.add(APPQUALITYSESSIONID_DESCRIPTOR, session.getAppQualitySessionId());
|
||||
objectEncoderContext.add(STARTEDAT_DESCRIPTOR, session.getStartedAt());
|
||||
objectEncoderContext.add(ENDEDAT_DESCRIPTOR, session.getEndedAt());
|
||||
objectEncoderContext.add(CRASHED_DESCRIPTOR, session.isCrashed());
|
||||
objectEncoderContext.add(APP_DESCRIPTOR, session.getApp());
|
||||
objectEncoderContext.add(USER_DESCRIPTOR, session.getUser());
|
||||
objectEncoderContext.add(OS_DESCRIPTOR, session.getOs());
|
||||
objectEncoderContext.add(DEVICE_DESCRIPTOR, session.getDevice());
|
||||
objectEncoderContext.add(EVENTS_DESCRIPTOR, session.getEvents());
|
||||
objectEncoderContext.add(GENERATORTYPE_DESCRIPTOR, session.getGeneratorType());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventApplicationEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.Application> {
|
||||
static final CrashlyticsReportSessionEventApplicationEncoder INSTANCE = new CrashlyticsReportSessionEventApplicationEncoder();
|
||||
private static final FieldDescriptor EXECUTION_DESCRIPTOR = FieldDescriptor.of("execution");
|
||||
private static final FieldDescriptor CUSTOMATTRIBUTES_DESCRIPTOR = FieldDescriptor.of("customAttributes");
|
||||
private static final FieldDescriptor INTERNALKEYS_DESCRIPTOR = FieldDescriptor.of("internalKeys");
|
||||
private static final FieldDescriptor BACKGROUND_DESCRIPTOR = FieldDescriptor.of("background");
|
||||
private static final FieldDescriptor CURRENTPROCESSDETAILS_DESCRIPTOR = FieldDescriptor.of("currentProcessDetails");
|
||||
private static final FieldDescriptor APPPROCESSDETAILS_DESCRIPTOR = FieldDescriptor.of("appProcessDetails");
|
||||
private static final FieldDescriptor UIORIENTATION_DESCRIPTOR = FieldDescriptor.of("uiOrientation");
|
||||
|
||||
private CrashlyticsReportSessionEventApplicationEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.Application application, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(EXECUTION_DESCRIPTOR, application.getExecution());
|
||||
objectEncoderContext.add(CUSTOMATTRIBUTES_DESCRIPTOR, application.getCustomAttributes());
|
||||
objectEncoderContext.add(INTERNALKEYS_DESCRIPTOR, application.getInternalKeys());
|
||||
objectEncoderContext.add(BACKGROUND_DESCRIPTOR, application.getBackground());
|
||||
objectEncoderContext.add(CURRENTPROCESSDETAILS_DESCRIPTOR, application.getCurrentProcessDetails());
|
||||
objectEncoderContext.add(APPPROCESSDETAILS_DESCRIPTOR, application.getAppProcessDetails());
|
||||
objectEncoderContext.add(UIORIENTATION_DESCRIPTOR, application.getUiOrientation());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.Application.Execution.BinaryImage> {
|
||||
static final CrashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder INSTANCE = new CrashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder();
|
||||
private static final FieldDescriptor BASEADDRESS_DESCRIPTOR = FieldDescriptor.of("baseAddress");
|
||||
private static final FieldDescriptor SIZE_DESCRIPTOR = FieldDescriptor.of("size");
|
||||
private static final FieldDescriptor NAME_DESCRIPTOR = FieldDescriptor.of(AppMeasurementSdk.ConditionalUserProperty.NAME);
|
||||
private static final FieldDescriptor UUID_DESCRIPTOR = FieldDescriptor.of("uuid");
|
||||
|
||||
private CrashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.Application.Execution.BinaryImage binaryImage, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(BASEADDRESS_DESCRIPTOR, binaryImage.getBaseAddress());
|
||||
objectEncoderContext.add(SIZE_DESCRIPTOR, binaryImage.getSize());
|
||||
objectEncoderContext.add(NAME_DESCRIPTOR, binaryImage.getName());
|
||||
objectEncoderContext.add(UUID_DESCRIPTOR, binaryImage.getUuidUtf8Bytes());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventApplicationExecutionEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.Application.Execution> {
|
||||
static final CrashlyticsReportSessionEventApplicationExecutionEncoder INSTANCE = new CrashlyticsReportSessionEventApplicationExecutionEncoder();
|
||||
private static final FieldDescriptor THREADS_DESCRIPTOR = FieldDescriptor.of("threads");
|
||||
private static final FieldDescriptor EXCEPTION_DESCRIPTOR = FieldDescriptor.of("exception");
|
||||
private static final FieldDescriptor APPEXITINFO_DESCRIPTOR = FieldDescriptor.of("appExitInfo");
|
||||
private static final FieldDescriptor SIGNAL_DESCRIPTOR = FieldDescriptor.of("signal");
|
||||
private static final FieldDescriptor BINARIES_DESCRIPTOR = FieldDescriptor.of("binaries");
|
||||
|
||||
private CrashlyticsReportSessionEventApplicationExecutionEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.Application.Execution execution, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(THREADS_DESCRIPTOR, execution.getThreads());
|
||||
objectEncoderContext.add(EXCEPTION_DESCRIPTOR, execution.getException());
|
||||
objectEncoderContext.add(APPEXITINFO_DESCRIPTOR, execution.getAppExitInfo());
|
||||
objectEncoderContext.add(SIGNAL_DESCRIPTOR, execution.getSignal());
|
||||
objectEncoderContext.add(BINARIES_DESCRIPTOR, execution.getBinaries());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventApplicationExecutionExceptionEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.Application.Execution.Exception> {
|
||||
static final CrashlyticsReportSessionEventApplicationExecutionExceptionEncoder INSTANCE = new CrashlyticsReportSessionEventApplicationExecutionExceptionEncoder();
|
||||
private static final FieldDescriptor TYPE_DESCRIPTOR = FieldDescriptor.of("type");
|
||||
private static final FieldDescriptor REASON_DESCRIPTOR = FieldDescriptor.of("reason");
|
||||
private static final FieldDescriptor FRAMES_DESCRIPTOR = FieldDescriptor.of("frames");
|
||||
private static final FieldDescriptor CAUSEDBY_DESCRIPTOR = FieldDescriptor.of("causedBy");
|
||||
private static final FieldDescriptor OVERFLOWCOUNT_DESCRIPTOR = FieldDescriptor.of("overflowCount");
|
||||
|
||||
private CrashlyticsReportSessionEventApplicationExecutionExceptionEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.Application.Execution.Exception exception, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(TYPE_DESCRIPTOR, exception.getType());
|
||||
objectEncoderContext.add(REASON_DESCRIPTOR, exception.getReason());
|
||||
objectEncoderContext.add(FRAMES_DESCRIPTOR, exception.getFrames());
|
||||
objectEncoderContext.add(CAUSEDBY_DESCRIPTOR, exception.getCausedBy());
|
||||
objectEncoderContext.add(OVERFLOWCOUNT_DESCRIPTOR, exception.getOverflowCount());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventApplicationExecutionSignalEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.Application.Execution.Signal> {
|
||||
static final CrashlyticsReportSessionEventApplicationExecutionSignalEncoder INSTANCE = new CrashlyticsReportSessionEventApplicationExecutionSignalEncoder();
|
||||
private static final FieldDescriptor NAME_DESCRIPTOR = FieldDescriptor.of(AppMeasurementSdk.ConditionalUserProperty.NAME);
|
||||
private static final FieldDescriptor CODE_DESCRIPTOR = FieldDescriptor.of("code");
|
||||
private static final FieldDescriptor ADDRESS_DESCRIPTOR = FieldDescriptor.of("address");
|
||||
|
||||
private CrashlyticsReportSessionEventApplicationExecutionSignalEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.Application.Execution.Signal signal, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(NAME_DESCRIPTOR, signal.getName());
|
||||
objectEncoderContext.add(CODE_DESCRIPTOR, signal.getCode());
|
||||
objectEncoderContext.add(ADDRESS_DESCRIPTOR, signal.getAddress());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventApplicationExecutionThreadEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.Application.Execution.Thread> {
|
||||
static final CrashlyticsReportSessionEventApplicationExecutionThreadEncoder INSTANCE = new CrashlyticsReportSessionEventApplicationExecutionThreadEncoder();
|
||||
private static final FieldDescriptor NAME_DESCRIPTOR = FieldDescriptor.of(AppMeasurementSdk.ConditionalUserProperty.NAME);
|
||||
private static final FieldDescriptor IMPORTANCE_DESCRIPTOR = FieldDescriptor.of("importance");
|
||||
private static final FieldDescriptor FRAMES_DESCRIPTOR = FieldDescriptor.of("frames");
|
||||
|
||||
private CrashlyticsReportSessionEventApplicationExecutionThreadEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.Application.Execution.Thread thread, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(NAME_DESCRIPTOR, thread.getName());
|
||||
objectEncoderContext.add(IMPORTANCE_DESCRIPTOR, thread.getImportance());
|
||||
objectEncoderContext.add(FRAMES_DESCRIPTOR, thread.getFrames());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> {
|
||||
static final CrashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder INSTANCE = new CrashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder();
|
||||
private static final FieldDescriptor PC_DESCRIPTOR = FieldDescriptor.of("pc");
|
||||
private static final FieldDescriptor SYMBOL_DESCRIPTOR = FieldDescriptor.of("symbol");
|
||||
private static final FieldDescriptor FILE_DESCRIPTOR = FieldDescriptor.of("file");
|
||||
private static final FieldDescriptor OFFSET_DESCRIPTOR = FieldDescriptor.of("offset");
|
||||
private static final FieldDescriptor IMPORTANCE_DESCRIPTOR = FieldDescriptor.of("importance");
|
||||
|
||||
private CrashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame frame, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(PC_DESCRIPTOR, frame.getPc());
|
||||
objectEncoderContext.add(SYMBOL_DESCRIPTOR, frame.getSymbol());
|
||||
objectEncoderContext.add(FILE_DESCRIPTOR, frame.getFile());
|
||||
objectEncoderContext.add(OFFSET_DESCRIPTOR, frame.getOffset());
|
||||
objectEncoderContext.add(IMPORTANCE_DESCRIPTOR, frame.getImportance());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventApplicationProcessDetailsEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.Application.ProcessDetails> {
|
||||
static final CrashlyticsReportSessionEventApplicationProcessDetailsEncoder INSTANCE = new CrashlyticsReportSessionEventApplicationProcessDetailsEncoder();
|
||||
private static final FieldDescriptor PROCESSNAME_DESCRIPTOR = FieldDescriptor.of("processName");
|
||||
private static final FieldDescriptor PID_DESCRIPTOR = FieldDescriptor.of("pid");
|
||||
private static final FieldDescriptor IMPORTANCE_DESCRIPTOR = FieldDescriptor.of("importance");
|
||||
private static final FieldDescriptor DEFAULTPROCESS_DESCRIPTOR = FieldDescriptor.of("defaultProcess");
|
||||
|
||||
private CrashlyticsReportSessionEventApplicationProcessDetailsEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.Application.ProcessDetails processDetails, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(PROCESSNAME_DESCRIPTOR, processDetails.getProcessName());
|
||||
objectEncoderContext.add(PID_DESCRIPTOR, processDetails.getPid());
|
||||
objectEncoderContext.add(IMPORTANCE_DESCRIPTOR, processDetails.getImportance());
|
||||
objectEncoderContext.add(DEFAULTPROCESS_DESCRIPTOR, processDetails.isDefaultProcess());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventDeviceEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.Device> {
|
||||
static final CrashlyticsReportSessionEventDeviceEncoder INSTANCE = new CrashlyticsReportSessionEventDeviceEncoder();
|
||||
private static final FieldDescriptor BATTERYLEVEL_DESCRIPTOR = FieldDescriptor.of("batteryLevel");
|
||||
private static final FieldDescriptor BATTERYVELOCITY_DESCRIPTOR = FieldDescriptor.of("batteryVelocity");
|
||||
private static final FieldDescriptor PROXIMITYON_DESCRIPTOR = FieldDescriptor.of("proximityOn");
|
||||
private static final FieldDescriptor ORIENTATION_DESCRIPTOR = FieldDescriptor.of("orientation");
|
||||
private static final FieldDescriptor RAMUSED_DESCRIPTOR = FieldDescriptor.of("ramUsed");
|
||||
private static final FieldDescriptor DISKUSED_DESCRIPTOR = FieldDescriptor.of("diskUsed");
|
||||
|
||||
private CrashlyticsReportSessionEventDeviceEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.Device device, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(BATTERYLEVEL_DESCRIPTOR, device.getBatteryLevel());
|
||||
objectEncoderContext.add(BATTERYVELOCITY_DESCRIPTOR, device.getBatteryVelocity());
|
||||
objectEncoderContext.add(PROXIMITYON_DESCRIPTOR, device.isProximityOn());
|
||||
objectEncoderContext.add(ORIENTATION_DESCRIPTOR, device.getOrientation());
|
||||
objectEncoderContext.add(RAMUSED_DESCRIPTOR, device.getRamUsed());
|
||||
objectEncoderContext.add(DISKUSED_DESCRIPTOR, device.getDiskUsed());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event> {
|
||||
static final CrashlyticsReportSessionEventEncoder INSTANCE = new CrashlyticsReportSessionEventEncoder();
|
||||
private static final FieldDescriptor TIMESTAMP_DESCRIPTOR = FieldDescriptor.of("timestamp");
|
||||
private static final FieldDescriptor TYPE_DESCRIPTOR = FieldDescriptor.of("type");
|
||||
private static final FieldDescriptor APP_DESCRIPTOR = FieldDescriptor.of("app");
|
||||
private static final FieldDescriptor DEVICE_DESCRIPTOR = FieldDescriptor.of("device");
|
||||
private static final FieldDescriptor LOG_DESCRIPTOR = FieldDescriptor.of("log");
|
||||
private static final FieldDescriptor ROLLOUTS_DESCRIPTOR = FieldDescriptor.of("rollouts");
|
||||
|
||||
private CrashlyticsReportSessionEventEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event event, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(TIMESTAMP_DESCRIPTOR, event.getTimestamp());
|
||||
objectEncoderContext.add(TYPE_DESCRIPTOR, event.getType());
|
||||
objectEncoderContext.add(APP_DESCRIPTOR, event.getApp());
|
||||
objectEncoderContext.add(DEVICE_DESCRIPTOR, event.getDevice());
|
||||
objectEncoderContext.add(LOG_DESCRIPTOR, event.getLog());
|
||||
objectEncoderContext.add(ROLLOUTS_DESCRIPTOR, event.getRollouts());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventLogEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.Log> {
|
||||
static final CrashlyticsReportSessionEventLogEncoder INSTANCE = new CrashlyticsReportSessionEventLogEncoder();
|
||||
private static final FieldDescriptor CONTENT_DESCRIPTOR = FieldDescriptor.of(FirebaseAnalytics.Param.CONTENT);
|
||||
|
||||
private CrashlyticsReportSessionEventLogEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.Log log, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(CONTENT_DESCRIPTOR, log.getContent());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventRolloutAssignmentEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.RolloutAssignment> {
|
||||
static final CrashlyticsReportSessionEventRolloutAssignmentEncoder INSTANCE = new CrashlyticsReportSessionEventRolloutAssignmentEncoder();
|
||||
private static final FieldDescriptor ROLLOUTVARIANT_DESCRIPTOR = FieldDescriptor.of("rolloutVariant");
|
||||
private static final FieldDescriptor PARAMETERKEY_DESCRIPTOR = FieldDescriptor.of("parameterKey");
|
||||
private static final FieldDescriptor PARAMETERVALUE_DESCRIPTOR = FieldDescriptor.of("parameterValue");
|
||||
private static final FieldDescriptor TEMPLATEVERSION_DESCRIPTOR = FieldDescriptor.of(RemoteConfigConstants.ResponseFieldKey.TEMPLATE_VERSION_NUMBER);
|
||||
|
||||
private CrashlyticsReportSessionEventRolloutAssignmentEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.RolloutAssignment rolloutAssignment, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(ROLLOUTVARIANT_DESCRIPTOR, rolloutAssignment.getRolloutVariant());
|
||||
objectEncoderContext.add(PARAMETERKEY_DESCRIPTOR, rolloutAssignment.getParameterKey());
|
||||
objectEncoderContext.add(PARAMETERVALUE_DESCRIPTOR, rolloutAssignment.getParameterValue());
|
||||
objectEncoderContext.add(TEMPLATEVERSION_DESCRIPTOR, rolloutAssignment.getTemplateVersion());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventRolloutAssignmentRolloutVariantEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.RolloutAssignment.RolloutVariant> {
|
||||
static final CrashlyticsReportSessionEventRolloutAssignmentRolloutVariantEncoder INSTANCE = new CrashlyticsReportSessionEventRolloutAssignmentRolloutVariantEncoder();
|
||||
private static final FieldDescriptor ROLLOUTID_DESCRIPTOR = FieldDescriptor.of(ConfigContainer.ROLLOUT_METADATA_ID);
|
||||
private static final FieldDescriptor VARIANTID_DESCRIPTOR = FieldDescriptor.of("variantId");
|
||||
|
||||
private CrashlyticsReportSessionEventRolloutAssignmentRolloutVariantEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.RolloutAssignment.RolloutVariant rolloutVariant, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(ROLLOUTID_DESCRIPTOR, rolloutVariant.getRolloutId());
|
||||
objectEncoderContext.add(VARIANTID_DESCRIPTOR, rolloutVariant.getVariantId());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionEventRolloutsStateEncoder implements ObjectEncoder<CrashlyticsReport.Session.Event.RolloutsState> {
|
||||
static final CrashlyticsReportSessionEventRolloutsStateEncoder INSTANCE = new CrashlyticsReportSessionEventRolloutsStateEncoder();
|
||||
private static final FieldDescriptor ASSIGNMENTS_DESCRIPTOR = FieldDescriptor.of("assignments");
|
||||
|
||||
private CrashlyticsReportSessionEventRolloutsStateEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.Event.RolloutsState rolloutsState, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(ASSIGNMENTS_DESCRIPTOR, rolloutsState.getRolloutAssignments());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionOperatingSystemEncoder implements ObjectEncoder<CrashlyticsReport.Session.OperatingSystem> {
|
||||
static final CrashlyticsReportSessionOperatingSystemEncoder INSTANCE = new CrashlyticsReportSessionOperatingSystemEncoder();
|
||||
private static final FieldDescriptor PLATFORM_DESCRIPTOR = FieldDescriptor.of("platform");
|
||||
private static final FieldDescriptor VERSION_DESCRIPTOR = FieldDescriptor.of("version");
|
||||
private static final FieldDescriptor BUILDVERSION_DESCRIPTOR = FieldDescriptor.of("buildVersion");
|
||||
private static final FieldDescriptor JAILBROKEN_DESCRIPTOR = FieldDescriptor.of("jailbroken");
|
||||
|
||||
private CrashlyticsReportSessionOperatingSystemEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.OperatingSystem operatingSystem, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(PLATFORM_DESCRIPTOR, operatingSystem.getPlatform());
|
||||
objectEncoderContext.add(VERSION_DESCRIPTOR, operatingSystem.getVersion());
|
||||
objectEncoderContext.add(BUILDVERSION_DESCRIPTOR, operatingSystem.getBuildVersion());
|
||||
objectEncoderContext.add(JAILBROKEN_DESCRIPTOR, operatingSystem.isJailbroken());
|
||||
}
|
||||
}
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class CrashlyticsReportSessionUserEncoder implements ObjectEncoder<CrashlyticsReport.Session.User> {
|
||||
static final CrashlyticsReportSessionUserEncoder INSTANCE = new CrashlyticsReportSessionUserEncoder();
|
||||
private static final FieldDescriptor IDENTIFIER_DESCRIPTOR = FieldDescriptor.of("identifier");
|
||||
|
||||
private CrashlyticsReportSessionUserEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.Encoder
|
||||
public void encode(CrashlyticsReport.Session.User user, ObjectEncoderContext objectEncoderContext) throws IOException {
|
||||
objectEncoderContext.add(IDENTIFIER_DESCRIPTOR, user.getIdentifier());
|
||||
}
|
||||
}
|
||||
|
||||
private AutoCrashlyticsReportEncoder() {
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.encoders.config.Configurator
|
||||
public void configure(EncoderConfig<?> encoderConfig) {
|
||||
CrashlyticsReportEncoder crashlyticsReportEncoder = CrashlyticsReportEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.class, crashlyticsReportEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport.class, crashlyticsReportEncoder);
|
||||
CrashlyticsReportSessionEncoder crashlyticsReportSessionEncoder = CrashlyticsReportSessionEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.class, crashlyticsReportSessionEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session.class, crashlyticsReportSessionEncoder);
|
||||
CrashlyticsReportSessionApplicationEncoder crashlyticsReportSessionApplicationEncoder = CrashlyticsReportSessionApplicationEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Application.class, crashlyticsReportSessionApplicationEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Application.class, crashlyticsReportSessionApplicationEncoder);
|
||||
CrashlyticsReportSessionApplicationOrganizationEncoder crashlyticsReportSessionApplicationOrganizationEncoder = CrashlyticsReportSessionApplicationOrganizationEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Application.Organization.class, crashlyticsReportSessionApplicationOrganizationEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Application_Organization.class, crashlyticsReportSessionApplicationOrganizationEncoder);
|
||||
CrashlyticsReportSessionUserEncoder crashlyticsReportSessionUserEncoder = CrashlyticsReportSessionUserEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.User.class, crashlyticsReportSessionUserEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_User.class, crashlyticsReportSessionUserEncoder);
|
||||
CrashlyticsReportSessionOperatingSystemEncoder crashlyticsReportSessionOperatingSystemEncoder = CrashlyticsReportSessionOperatingSystemEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.OperatingSystem.class, crashlyticsReportSessionOperatingSystemEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_OperatingSystem.class, crashlyticsReportSessionOperatingSystemEncoder);
|
||||
CrashlyticsReportSessionDeviceEncoder crashlyticsReportSessionDeviceEncoder = CrashlyticsReportSessionDeviceEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Device.class, crashlyticsReportSessionDeviceEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Device.class, crashlyticsReportSessionDeviceEncoder);
|
||||
CrashlyticsReportSessionEventEncoder crashlyticsReportSessionEventEncoder = CrashlyticsReportSessionEventEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.class, crashlyticsReportSessionEventEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event.class, crashlyticsReportSessionEventEncoder);
|
||||
CrashlyticsReportSessionEventApplicationEncoder crashlyticsReportSessionEventApplicationEncoder = CrashlyticsReportSessionEventApplicationEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.Application.class, crashlyticsReportSessionEventApplicationEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_Application.class, crashlyticsReportSessionEventApplicationEncoder);
|
||||
CrashlyticsReportSessionEventApplicationExecutionEncoder crashlyticsReportSessionEventApplicationExecutionEncoder = CrashlyticsReportSessionEventApplicationExecutionEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.Application.Execution.class, crashlyticsReportSessionEventApplicationExecutionEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_Application_Execution.class, crashlyticsReportSessionEventApplicationExecutionEncoder);
|
||||
CrashlyticsReportSessionEventApplicationExecutionThreadEncoder crashlyticsReportSessionEventApplicationExecutionThreadEncoder = CrashlyticsReportSessionEventApplicationExecutionThreadEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.Application.Execution.Thread.class, crashlyticsReportSessionEventApplicationExecutionThreadEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread.class, crashlyticsReportSessionEventApplicationExecutionThreadEncoder);
|
||||
CrashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder crashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder = CrashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.class, crashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame.class, crashlyticsReportSessionEventApplicationExecutionThreadFrameEncoder);
|
||||
CrashlyticsReportSessionEventApplicationExecutionExceptionEncoder crashlyticsReportSessionEventApplicationExecutionExceptionEncoder = CrashlyticsReportSessionEventApplicationExecutionExceptionEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.Application.Execution.Exception.class, crashlyticsReportSessionEventApplicationExecutionExceptionEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception.class, crashlyticsReportSessionEventApplicationExecutionExceptionEncoder);
|
||||
CrashlyticsReportApplicationExitInfoEncoder crashlyticsReportApplicationExitInfoEncoder = CrashlyticsReportApplicationExitInfoEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.ApplicationExitInfo.class, crashlyticsReportApplicationExitInfoEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_ApplicationExitInfo.class, crashlyticsReportApplicationExitInfoEncoder);
|
||||
CrashlyticsReportApplicationExitInfoBuildIdMappingForArchEncoder crashlyticsReportApplicationExitInfoBuildIdMappingForArchEncoder = CrashlyticsReportApplicationExitInfoBuildIdMappingForArchEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch.class, crashlyticsReportApplicationExitInfoBuildIdMappingForArchEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_ApplicationExitInfo_BuildIdMappingForArch.class, crashlyticsReportApplicationExitInfoBuildIdMappingForArchEncoder);
|
||||
CrashlyticsReportSessionEventApplicationExecutionSignalEncoder crashlyticsReportSessionEventApplicationExecutionSignalEncoder = CrashlyticsReportSessionEventApplicationExecutionSignalEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.Application.Execution.Signal.class, crashlyticsReportSessionEventApplicationExecutionSignalEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal.class, crashlyticsReportSessionEventApplicationExecutionSignalEncoder);
|
||||
CrashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder crashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder = CrashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.class, crashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage.class, crashlyticsReportSessionEventApplicationExecutionBinaryImageEncoder);
|
||||
CrashlyticsReportCustomAttributeEncoder crashlyticsReportCustomAttributeEncoder = CrashlyticsReportCustomAttributeEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.CustomAttribute.class, crashlyticsReportCustomAttributeEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_CustomAttribute.class, crashlyticsReportCustomAttributeEncoder);
|
||||
CrashlyticsReportSessionEventApplicationProcessDetailsEncoder crashlyticsReportSessionEventApplicationProcessDetailsEncoder = CrashlyticsReportSessionEventApplicationProcessDetailsEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.Application.ProcessDetails.class, crashlyticsReportSessionEventApplicationProcessDetailsEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_Application_ProcessDetails.class, crashlyticsReportSessionEventApplicationProcessDetailsEncoder);
|
||||
CrashlyticsReportSessionEventDeviceEncoder crashlyticsReportSessionEventDeviceEncoder = CrashlyticsReportSessionEventDeviceEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.Device.class, crashlyticsReportSessionEventDeviceEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_Device.class, crashlyticsReportSessionEventDeviceEncoder);
|
||||
CrashlyticsReportSessionEventLogEncoder crashlyticsReportSessionEventLogEncoder = CrashlyticsReportSessionEventLogEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.Log.class, crashlyticsReportSessionEventLogEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_Log.class, crashlyticsReportSessionEventLogEncoder);
|
||||
CrashlyticsReportSessionEventRolloutsStateEncoder crashlyticsReportSessionEventRolloutsStateEncoder = CrashlyticsReportSessionEventRolloutsStateEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.RolloutsState.class, crashlyticsReportSessionEventRolloutsStateEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_RolloutsState.class, crashlyticsReportSessionEventRolloutsStateEncoder);
|
||||
CrashlyticsReportSessionEventRolloutAssignmentEncoder crashlyticsReportSessionEventRolloutAssignmentEncoder = CrashlyticsReportSessionEventRolloutAssignmentEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.RolloutAssignment.class, crashlyticsReportSessionEventRolloutAssignmentEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_RolloutAssignment.class, crashlyticsReportSessionEventRolloutAssignmentEncoder);
|
||||
CrashlyticsReportSessionEventRolloutAssignmentRolloutVariantEncoder crashlyticsReportSessionEventRolloutAssignmentRolloutVariantEncoder = CrashlyticsReportSessionEventRolloutAssignmentRolloutVariantEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.Session.Event.RolloutAssignment.RolloutVariant.class, crashlyticsReportSessionEventRolloutAssignmentRolloutVariantEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_Session_Event_RolloutAssignment_RolloutVariant.class, crashlyticsReportSessionEventRolloutAssignmentRolloutVariantEncoder);
|
||||
CrashlyticsReportFilesPayloadEncoder crashlyticsReportFilesPayloadEncoder = CrashlyticsReportFilesPayloadEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.FilesPayload.class, crashlyticsReportFilesPayloadEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_FilesPayload.class, crashlyticsReportFilesPayloadEncoder);
|
||||
CrashlyticsReportFilesPayloadFileEncoder crashlyticsReportFilesPayloadFileEncoder = CrashlyticsReportFilesPayloadFileEncoder.INSTANCE;
|
||||
encoderConfig.registerEncoder(CrashlyticsReport.FilesPayload.File.class, crashlyticsReportFilesPayloadFileEncoder);
|
||||
encoderConfig.registerEncoder(AutoValue_CrashlyticsReport_FilesPayload_File.class, crashlyticsReportFilesPayloadFileEncoder);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,266 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport extends CrashlyticsReport {
|
||||
private final CrashlyticsReport.ApplicationExitInfo appExitInfo;
|
||||
private final String appQualitySessionId;
|
||||
private final String buildVersion;
|
||||
private final String displayVersion;
|
||||
private final String firebaseInstallationId;
|
||||
private final String gmpAppId;
|
||||
private final String installationUuid;
|
||||
private final CrashlyticsReport.FilesPayload ndkPayload;
|
||||
private final int platform;
|
||||
private final String sdkVersion;
|
||||
private final CrashlyticsReport.Session session;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Builder {
|
||||
private CrashlyticsReport.ApplicationExitInfo appExitInfo;
|
||||
private String appQualitySessionId;
|
||||
private String buildVersion;
|
||||
private String displayVersion;
|
||||
private String firebaseInstallationId;
|
||||
private String gmpAppId;
|
||||
private String installationUuid;
|
||||
private CrashlyticsReport.FilesPayload ndkPayload;
|
||||
private Integer platform;
|
||||
private String sdkVersion;
|
||||
private CrashlyticsReport.Session session;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport build() {
|
||||
String str = this.sdkVersion == null ? " sdkVersion" : "";
|
||||
if (this.gmpAppId == null) {
|
||||
str = w.n(str, " gmpAppId");
|
||||
}
|
||||
if (this.platform == null) {
|
||||
str = w.n(str, " platform");
|
||||
}
|
||||
if (this.installationUuid == null) {
|
||||
str = w.n(str, " installationUuid");
|
||||
}
|
||||
if (this.buildVersion == null) {
|
||||
str = w.n(str, " buildVersion");
|
||||
}
|
||||
if (this.displayVersion == null) {
|
||||
str = w.n(str, " displayVersion");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport(this.sdkVersion, this.gmpAppId, this.platform.intValue(), this.installationUuid, this.firebaseInstallationId, this.appQualitySessionId, this.buildVersion, this.displayVersion, this.session, this.ndkPayload, this.appExitInfo);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setAppExitInfo(CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
|
||||
this.appExitInfo = applicationExitInfo;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setAppQualitySessionId(String str) {
|
||||
this.appQualitySessionId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setBuildVersion(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null buildVersion");
|
||||
}
|
||||
this.buildVersion = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setDisplayVersion(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null displayVersion");
|
||||
}
|
||||
this.displayVersion = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setFirebaseInstallationId(String str) {
|
||||
this.firebaseInstallationId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setGmpAppId(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null gmpAppId");
|
||||
}
|
||||
this.gmpAppId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setInstallationUuid(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null installationUuid");
|
||||
}
|
||||
this.installationUuid = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setNdkPayload(CrashlyticsReport.FilesPayload filesPayload) {
|
||||
this.ndkPayload = filesPayload;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setPlatform(int i) {
|
||||
this.platform = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setSdkVersion(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null sdkVersion");
|
||||
}
|
||||
this.sdkVersion = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Builder
|
||||
public CrashlyticsReport.Builder setSession(CrashlyticsReport.Session session) {
|
||||
this.session = session;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
private Builder(CrashlyticsReport crashlyticsReport) {
|
||||
this.sdkVersion = crashlyticsReport.getSdkVersion();
|
||||
this.gmpAppId = crashlyticsReport.getGmpAppId();
|
||||
this.platform = Integer.valueOf(crashlyticsReport.getPlatform());
|
||||
this.installationUuid = crashlyticsReport.getInstallationUuid();
|
||||
this.firebaseInstallationId = crashlyticsReport.getFirebaseInstallationId();
|
||||
this.appQualitySessionId = crashlyticsReport.getAppQualitySessionId();
|
||||
this.buildVersion = crashlyticsReport.getBuildVersion();
|
||||
this.displayVersion = crashlyticsReport.getDisplayVersion();
|
||||
this.session = crashlyticsReport.getSession();
|
||||
this.ndkPayload = crashlyticsReport.getNdkPayload();
|
||||
this.appExitInfo = crashlyticsReport.getAppExitInfo();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
String str;
|
||||
String str2;
|
||||
CrashlyticsReport.Session session;
|
||||
CrashlyticsReport.FilesPayload filesPayload;
|
||||
CrashlyticsReport.ApplicationExitInfo applicationExitInfo;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport) {
|
||||
CrashlyticsReport crashlyticsReport = (CrashlyticsReport) obj;
|
||||
if (this.sdkVersion.equals(crashlyticsReport.getSdkVersion()) && this.gmpAppId.equals(crashlyticsReport.getGmpAppId()) && this.platform == crashlyticsReport.getPlatform() && this.installationUuid.equals(crashlyticsReport.getInstallationUuid()) && ((str = this.firebaseInstallationId) != null ? str.equals(crashlyticsReport.getFirebaseInstallationId()) : crashlyticsReport.getFirebaseInstallationId() == null) && ((str2 = this.appQualitySessionId) != null ? str2.equals(crashlyticsReport.getAppQualitySessionId()) : crashlyticsReport.getAppQualitySessionId() == null) && this.buildVersion.equals(crashlyticsReport.getBuildVersion()) && this.displayVersion.equals(crashlyticsReport.getDisplayVersion()) && ((session = this.session) != null ? session.equals(crashlyticsReport.getSession()) : crashlyticsReport.getSession() == null) && ((filesPayload = this.ndkPayload) != null ? filesPayload.equals(crashlyticsReport.getNdkPayload()) : crashlyticsReport.getNdkPayload() == null) && ((applicationExitInfo = this.appExitInfo) != null ? applicationExitInfo.equals(crashlyticsReport.getAppExitInfo()) : crashlyticsReport.getAppExitInfo() == null)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public CrashlyticsReport.ApplicationExitInfo getAppExitInfo() {
|
||||
return this.appExitInfo;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public String getAppQualitySessionId() {
|
||||
return this.appQualitySessionId;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public String getBuildVersion() {
|
||||
return this.buildVersion;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public String getDisplayVersion() {
|
||||
return this.displayVersion;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public String getFirebaseInstallationId() {
|
||||
return this.firebaseInstallationId;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public String getGmpAppId() {
|
||||
return this.gmpAppId;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public String getInstallationUuid() {
|
||||
return this.installationUuid;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public CrashlyticsReport.FilesPayload getNdkPayload() {
|
||||
return this.ndkPayload;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public int getPlatform() {
|
||||
return this.platform;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public String getSdkVersion() {
|
||||
return this.sdkVersion;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public CrashlyticsReport.Session getSession() {
|
||||
return this.session;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (((((((this.sdkVersion.hashCode() ^ 1000003) * 1000003) ^ this.gmpAppId.hashCode()) * 1000003) ^ this.platform) * 1000003) ^ this.installationUuid.hashCode()) * 1000003;
|
||||
String str = this.firebaseInstallationId;
|
||||
int hashCode2 = (hashCode ^ (str == null ? 0 : str.hashCode())) * 1000003;
|
||||
String str2 = this.appQualitySessionId;
|
||||
int hashCode3 = (((((hashCode2 ^ (str2 == null ? 0 : str2.hashCode())) * 1000003) ^ this.buildVersion.hashCode()) * 1000003) ^ this.displayVersion.hashCode()) * 1000003;
|
||||
CrashlyticsReport.Session session = this.session;
|
||||
int hashCode4 = (hashCode3 ^ (session == null ? 0 : session.hashCode())) * 1000003;
|
||||
CrashlyticsReport.FilesPayload filesPayload = this.ndkPayload;
|
||||
int hashCode5 = (hashCode4 ^ (filesPayload == null ? 0 : filesPayload.hashCode())) * 1000003;
|
||||
CrashlyticsReport.ApplicationExitInfo applicationExitInfo = this.appExitInfo;
|
||||
return hashCode5 ^ (applicationExitInfo != null ? applicationExitInfo.hashCode() : 0);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport
|
||||
public CrashlyticsReport.Builder toBuilder() {
|
||||
return new Builder(this);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "CrashlyticsReport{sdkVersion=" + this.sdkVersion + ", gmpAppId=" + this.gmpAppId + ", platform=" + this.platform + ", installationUuid=" + this.installationUuid + ", firebaseInstallationId=" + this.firebaseInstallationId + ", appQualitySessionId=" + this.appQualitySessionId + ", buildVersion=" + this.buildVersion + ", displayVersion=" + this.displayVersion + ", session=" + this.session + ", ndkPayload=" + this.ndkPayload + ", appExitInfo=" + this.appExitInfo + "}";
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport(String str, String str2, int i, String str3, String str4, String str5, String str6, String str7, CrashlyticsReport.Session session, CrashlyticsReport.FilesPayload filesPayload, CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
|
||||
this.sdkVersion = str;
|
||||
this.gmpAppId = str2;
|
||||
this.platform = i;
|
||||
this.installationUuid = str3;
|
||||
this.firebaseInstallationId = str4;
|
||||
this.appQualitySessionId = str5;
|
||||
this.buildVersion = str6;
|
||||
this.displayVersion = str7;
|
||||
this.session = session;
|
||||
this.ndkPayload = filesPayload;
|
||||
this.appExitInfo = applicationExitInfo;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_ApplicationExitInfo extends CrashlyticsReport.ApplicationExitInfo {
|
||||
private final List<CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch> buildIdMappingForArch;
|
||||
private final int importance;
|
||||
private final int pid;
|
||||
private final String processName;
|
||||
private final long pss;
|
||||
private final int reasonCode;
|
||||
private final long rss;
|
||||
private final long timestamp;
|
||||
private final String traceFile;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.ApplicationExitInfo.Builder {
|
||||
private List<CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch> buildIdMappingForArch;
|
||||
private Integer importance;
|
||||
private Integer pid;
|
||||
private String processName;
|
||||
private Long pss;
|
||||
private Integer reasonCode;
|
||||
private Long rss;
|
||||
private Long timestamp;
|
||||
private String traceFile;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo build() {
|
||||
String str = this.pid == null ? " pid" : "";
|
||||
if (this.processName == null) {
|
||||
str = w.n(str, " processName");
|
||||
}
|
||||
if (this.reasonCode == null) {
|
||||
str = w.n(str, " reasonCode");
|
||||
}
|
||||
if (this.importance == null) {
|
||||
str = w.n(str, " importance");
|
||||
}
|
||||
if (this.pss == null) {
|
||||
str = w.n(str, " pss");
|
||||
}
|
||||
if (this.rss == null) {
|
||||
str = w.n(str, " rss");
|
||||
}
|
||||
if (this.timestamp == null) {
|
||||
str = w.n(str, " timestamp");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_ApplicationExitInfo(this.pid.intValue(), this.processName, this.reasonCode.intValue(), this.importance.intValue(), this.pss.longValue(), this.rss.longValue(), this.timestamp.longValue(), this.traceFile, this.buildIdMappingForArch);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.Builder setBuildIdMappingForArch(List<CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch> list) {
|
||||
this.buildIdMappingForArch = list;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.Builder setImportance(int i) {
|
||||
this.importance = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.Builder setPid(int i) {
|
||||
this.pid = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.Builder setProcessName(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null processName");
|
||||
}
|
||||
this.processName = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.Builder setPss(long j4) {
|
||||
this.pss = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.Builder setReasonCode(int i) {
|
||||
this.reasonCode = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.Builder setRss(long j4) {
|
||||
this.rss = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.Builder setTimestamp(long j4) {
|
||||
this.timestamp = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.Builder setTraceFile(String str) {
|
||||
this.traceFile = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
String str;
|
||||
List<CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch> list;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.ApplicationExitInfo) {
|
||||
CrashlyticsReport.ApplicationExitInfo applicationExitInfo = (CrashlyticsReport.ApplicationExitInfo) obj;
|
||||
if (this.pid == applicationExitInfo.getPid() && this.processName.equals(applicationExitInfo.getProcessName()) && this.reasonCode == applicationExitInfo.getReasonCode() && this.importance == applicationExitInfo.getImportance() && this.pss == applicationExitInfo.getPss() && this.rss == applicationExitInfo.getRss() && this.timestamp == applicationExitInfo.getTimestamp() && ((str = this.traceFile) != null ? str.equals(applicationExitInfo.getTraceFile()) : applicationExitInfo.getTraceFile() == null) && ((list = this.buildIdMappingForArch) != null ? list.equals(applicationExitInfo.getBuildIdMappingForArch()) : applicationExitInfo.getBuildIdMappingForArch() == null)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo
|
||||
public List<CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch> getBuildIdMappingForArch() {
|
||||
return this.buildIdMappingForArch;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo
|
||||
public int getImportance() {
|
||||
return this.importance;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo
|
||||
public int getPid() {
|
||||
return this.pid;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo
|
||||
public String getProcessName() {
|
||||
return this.processName;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo
|
||||
public long getPss() {
|
||||
return this.pss;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo
|
||||
public int getReasonCode() {
|
||||
return this.reasonCode;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo
|
||||
public long getRss() {
|
||||
return this.rss;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo
|
||||
public long getTimestamp() {
|
||||
return this.timestamp;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo
|
||||
public String getTraceFile() {
|
||||
return this.traceFile;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (((((((this.pid ^ 1000003) * 1000003) ^ this.processName.hashCode()) * 1000003) ^ this.reasonCode) * 1000003) ^ this.importance) * 1000003;
|
||||
long j4 = this.pss;
|
||||
int i = (hashCode ^ ((int) (j4 ^ (j4 >>> 32)))) * 1000003;
|
||||
long j5 = this.rss;
|
||||
int i4 = (i ^ ((int) (j5 ^ (j5 >>> 32)))) * 1000003;
|
||||
long j6 = this.timestamp;
|
||||
int i5 = (i4 ^ ((int) (j6 ^ (j6 >>> 32)))) * 1000003;
|
||||
String str = this.traceFile;
|
||||
int hashCode2 = (i5 ^ (str == null ? 0 : str.hashCode())) * 1000003;
|
||||
List<CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch> list = this.buildIdMappingForArch;
|
||||
return hashCode2 ^ (list != null ? list.hashCode() : 0);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "ApplicationExitInfo{pid=" + this.pid + ", processName=" + this.processName + ", reasonCode=" + this.reasonCode + ", importance=" + this.importance + ", pss=" + this.pss + ", rss=" + this.rss + ", timestamp=" + this.timestamp + ", traceFile=" + this.traceFile + ", buildIdMappingForArch=" + this.buildIdMappingForArch + "}";
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_ApplicationExitInfo(int i, String str, int i4, int i5, long j4, long j5, long j6, String str2, List<CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch> list) {
|
||||
this.pid = i;
|
||||
this.processName = str;
|
||||
this.reasonCode = i4;
|
||||
this.importance = i5;
|
||||
this.pss = j4;
|
||||
this.rss = j5;
|
||||
this.timestamp = j6;
|
||||
this.traceFile = str2;
|
||||
this.buildIdMappingForArch = list;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_ApplicationExitInfo_BuildIdMappingForArch extends CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch {
|
||||
private final String arch;
|
||||
private final String buildId;
|
||||
private final String libraryName;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch.Builder {
|
||||
private String arch;
|
||||
private String buildId;
|
||||
private String libraryName;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch build() {
|
||||
String str = this.arch == null ? " arch" : "";
|
||||
if (this.libraryName == null) {
|
||||
str = w.n(str, " libraryName");
|
||||
}
|
||||
if (this.buildId == null) {
|
||||
str = w.n(str, " buildId");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_ApplicationExitInfo_BuildIdMappingForArch(this.arch, this.libraryName, this.buildId);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch.Builder setArch(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null arch");
|
||||
}
|
||||
this.arch = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch.Builder setBuildId(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null buildId");
|
||||
}
|
||||
this.buildId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch.Builder
|
||||
public CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch.Builder setLibraryName(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null libraryName");
|
||||
}
|
||||
this.libraryName = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch) {
|
||||
CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch buildIdMappingForArch = (CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch) obj;
|
||||
if (this.arch.equals(buildIdMappingForArch.getArch()) && this.libraryName.equals(buildIdMappingForArch.getLibraryName()) && this.buildId.equals(buildIdMappingForArch.getBuildId())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch
|
||||
public String getArch() {
|
||||
return this.arch;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch
|
||||
public String getBuildId() {
|
||||
return this.buildId;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.ApplicationExitInfo.BuildIdMappingForArch
|
||||
public String getLibraryName() {
|
||||
return this.libraryName;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.buildId.hashCode() ^ ((((this.arch.hashCode() ^ 1000003) * 1000003) ^ this.libraryName.hashCode()) * 1000003);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("BuildIdMappingForArch{arch=");
|
||||
sb.append(this.arch);
|
||||
sb.append(", libraryName=");
|
||||
sb.append(this.libraryName);
|
||||
sb.append(", buildId=");
|
||||
return w.r(sb, this.buildId, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_ApplicationExitInfo_BuildIdMappingForArch(String str, String str2, String str3) {
|
||||
this.arch = str;
|
||||
this.libraryName = str2;
|
||||
this.buildId = str3;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_CustomAttribute extends CrashlyticsReport.CustomAttribute {
|
||||
private final String key;
|
||||
private final String value;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.CustomAttribute.Builder {
|
||||
private String key;
|
||||
private String value;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.CustomAttribute.Builder
|
||||
public CrashlyticsReport.CustomAttribute build() {
|
||||
String str = this.key == null ? " key" : "";
|
||||
if (this.value == null) {
|
||||
str = w.n(str, " value");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_CustomAttribute(this.key, this.value);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.CustomAttribute.Builder
|
||||
public CrashlyticsReport.CustomAttribute.Builder setKey(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null key");
|
||||
}
|
||||
this.key = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.CustomAttribute.Builder
|
||||
public CrashlyticsReport.CustomAttribute.Builder setValue(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null value");
|
||||
}
|
||||
this.value = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.CustomAttribute) {
|
||||
CrashlyticsReport.CustomAttribute customAttribute = (CrashlyticsReport.CustomAttribute) obj;
|
||||
if (this.key.equals(customAttribute.getKey()) && this.value.equals(customAttribute.getValue())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.CustomAttribute
|
||||
public String getKey() {
|
||||
return this.key;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.CustomAttribute
|
||||
public String getValue() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.value.hashCode() ^ ((this.key.hashCode() ^ 1000003) * 1000003);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("CustomAttribute{key=");
|
||||
sb.append(this.key);
|
||||
sb.append(", value=");
|
||||
return w.r(sb, this.value, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_CustomAttribute(String str, String str2) {
|
||||
this.key = str;
|
||||
this.value = str2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_FilesPayload extends CrashlyticsReport.FilesPayload {
|
||||
private final List<CrashlyticsReport.FilesPayload.File> files;
|
||||
private final String orgId;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.FilesPayload.Builder {
|
||||
private List<CrashlyticsReport.FilesPayload.File> files;
|
||||
private String orgId;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload.Builder
|
||||
public CrashlyticsReport.FilesPayload build() {
|
||||
String str = this.files == null ? " files" : "";
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_FilesPayload(this.files, this.orgId);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload.Builder
|
||||
public CrashlyticsReport.FilesPayload.Builder setFiles(List<CrashlyticsReport.FilesPayload.File> list) {
|
||||
if (list == null) {
|
||||
throw new NullPointerException("Null files");
|
||||
}
|
||||
this.files = list;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload.Builder
|
||||
public CrashlyticsReport.FilesPayload.Builder setOrgId(String str) {
|
||||
this.orgId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
private Builder(CrashlyticsReport.FilesPayload filesPayload) {
|
||||
this.files = filesPayload.getFiles();
|
||||
this.orgId = filesPayload.getOrgId();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
String str;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.FilesPayload) {
|
||||
CrashlyticsReport.FilesPayload filesPayload = (CrashlyticsReport.FilesPayload) obj;
|
||||
if (this.files.equals(filesPayload.getFiles()) && ((str = this.orgId) != null ? str.equals(filesPayload.getOrgId()) : filesPayload.getOrgId() == null)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload
|
||||
public List<CrashlyticsReport.FilesPayload.File> getFiles() {
|
||||
return this.files;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload
|
||||
public String getOrgId() {
|
||||
return this.orgId;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (this.files.hashCode() ^ 1000003) * 1000003;
|
||||
String str = this.orgId;
|
||||
return (str == null ? 0 : str.hashCode()) ^ hashCode;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload
|
||||
public CrashlyticsReport.FilesPayload.Builder toBuilder() {
|
||||
return new Builder(this);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("FilesPayload{files=");
|
||||
sb.append(this.files);
|
||||
sb.append(", orgId=");
|
||||
return w.r(sb, this.orgId, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_FilesPayload(List<CrashlyticsReport.FilesPayload.File> list, String str) {
|
||||
this.files = list;
|
||||
this.orgId = str;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.util.Arrays;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_FilesPayload_File extends CrashlyticsReport.FilesPayload.File {
|
||||
private final byte[] contents;
|
||||
private final String filename;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.FilesPayload.File.Builder {
|
||||
private byte[] contents;
|
||||
private String filename;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload.File.Builder
|
||||
public CrashlyticsReport.FilesPayload.File build() {
|
||||
String str = this.filename == null ? " filename" : "";
|
||||
if (this.contents == null) {
|
||||
str = w.n(str, " contents");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_FilesPayload_File(this.filename, this.contents);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload.File.Builder
|
||||
public CrashlyticsReport.FilesPayload.File.Builder setContents(byte[] bArr) {
|
||||
if (bArr == null) {
|
||||
throw new NullPointerException("Null contents");
|
||||
}
|
||||
this.contents = bArr;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload.File.Builder
|
||||
public CrashlyticsReport.FilesPayload.File.Builder setFilename(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null filename");
|
||||
}
|
||||
this.filename = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.FilesPayload.File) {
|
||||
CrashlyticsReport.FilesPayload.File file = (CrashlyticsReport.FilesPayload.File) obj;
|
||||
if (this.filename.equals(file.getFilename())) {
|
||||
if (Arrays.equals(this.contents, file instanceof AutoValue_CrashlyticsReport_FilesPayload_File ? ((AutoValue_CrashlyticsReport_FilesPayload_File) file).contents : file.getContents())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload.File
|
||||
public byte[] getContents() {
|
||||
return this.contents;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.FilesPayload.File
|
||||
public String getFilename() {
|
||||
return this.filename;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return Arrays.hashCode(this.contents) ^ ((this.filename.hashCode() ^ 1000003) * 1000003);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "File{filename=" + this.filename + ", contents=" + Arrays.toString(this.contents) + "}";
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_FilesPayload_File(String str, byte[] bArr) {
|
||||
this.filename = str;
|
||||
this.contents = bArr;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,307 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.android.gms.measurement.internal.a;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import com.google.firebase.encoders.annotations.Encodable;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session extends CrashlyticsReport.Session {
|
||||
private final CrashlyticsReport.Session.Application app;
|
||||
private final String appQualitySessionId;
|
||||
private final boolean crashed;
|
||||
private final CrashlyticsReport.Session.Device device;
|
||||
private final Long endedAt;
|
||||
private final List<CrashlyticsReport.Session.Event> events;
|
||||
private final String generator;
|
||||
private final int generatorType;
|
||||
private final String identifier;
|
||||
private final CrashlyticsReport.Session.OperatingSystem os;
|
||||
private final long startedAt;
|
||||
private final CrashlyticsReport.Session.User user;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Builder {
|
||||
private CrashlyticsReport.Session.Application app;
|
||||
private String appQualitySessionId;
|
||||
private Boolean crashed;
|
||||
private CrashlyticsReport.Session.Device device;
|
||||
private Long endedAt;
|
||||
private List<CrashlyticsReport.Session.Event> events;
|
||||
private String generator;
|
||||
private Integer generatorType;
|
||||
private String identifier;
|
||||
private CrashlyticsReport.Session.OperatingSystem os;
|
||||
private Long startedAt;
|
||||
private CrashlyticsReport.Session.User user;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session build() {
|
||||
String str = this.generator == null ? " generator" : "";
|
||||
if (this.identifier == null) {
|
||||
str = w.n(str, " identifier");
|
||||
}
|
||||
if (this.startedAt == null) {
|
||||
str = w.n(str, " startedAt");
|
||||
}
|
||||
if (this.crashed == null) {
|
||||
str = w.n(str, " crashed");
|
||||
}
|
||||
if (this.app == null) {
|
||||
str = w.n(str, " app");
|
||||
}
|
||||
if (this.generatorType == null) {
|
||||
str = w.n(str, " generatorType");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session(this.generator, this.identifier, this.appQualitySessionId, this.startedAt.longValue(), this.endedAt, this.crashed.booleanValue(), this.app, this.user, this.os, this.device, this.events, this.generatorType.intValue());
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setApp(CrashlyticsReport.Session.Application application) {
|
||||
if (application == null) {
|
||||
throw new NullPointerException("Null app");
|
||||
}
|
||||
this.app = application;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setAppQualitySessionId(String str) {
|
||||
this.appQualitySessionId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setCrashed(boolean z3) {
|
||||
this.crashed = Boolean.valueOf(z3);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setDevice(CrashlyticsReport.Session.Device device) {
|
||||
this.device = device;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setEndedAt(Long l4) {
|
||||
this.endedAt = l4;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setEvents(List<CrashlyticsReport.Session.Event> list) {
|
||||
this.events = list;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setGenerator(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null generator");
|
||||
}
|
||||
this.generator = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setGeneratorType(int i) {
|
||||
this.generatorType = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setIdentifier(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null identifier");
|
||||
}
|
||||
this.identifier = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setOs(CrashlyticsReport.Session.OperatingSystem operatingSystem) {
|
||||
this.os = operatingSystem;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setStartedAt(long j4) {
|
||||
this.startedAt = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Builder
|
||||
public CrashlyticsReport.Session.Builder setUser(CrashlyticsReport.Session.User user) {
|
||||
this.user = user;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
private Builder(CrashlyticsReport.Session session) {
|
||||
this.generator = session.getGenerator();
|
||||
this.identifier = session.getIdentifier();
|
||||
this.appQualitySessionId = session.getAppQualitySessionId();
|
||||
this.startedAt = Long.valueOf(session.getStartedAt());
|
||||
this.endedAt = session.getEndedAt();
|
||||
this.crashed = Boolean.valueOf(session.isCrashed());
|
||||
this.app = session.getApp();
|
||||
this.user = session.getUser();
|
||||
this.os = session.getOs();
|
||||
this.device = session.getDevice();
|
||||
this.events = session.getEvents();
|
||||
this.generatorType = Integer.valueOf(session.getGeneratorType());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
String str;
|
||||
Long l4;
|
||||
CrashlyticsReport.Session.User user;
|
||||
CrashlyticsReport.Session.OperatingSystem operatingSystem;
|
||||
CrashlyticsReport.Session.Device device;
|
||||
List<CrashlyticsReport.Session.Event> list;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session) {
|
||||
CrashlyticsReport.Session session = (CrashlyticsReport.Session) obj;
|
||||
if (this.generator.equals(session.getGenerator()) && this.identifier.equals(session.getIdentifier()) && ((str = this.appQualitySessionId) != null ? str.equals(session.getAppQualitySessionId()) : session.getAppQualitySessionId() == null) && this.startedAt == session.getStartedAt() && ((l4 = this.endedAt) != null ? l4.equals(session.getEndedAt()) : session.getEndedAt() == null) && this.crashed == session.isCrashed() && this.app.equals(session.getApp()) && ((user = this.user) != null ? user.equals(session.getUser()) : session.getUser() == null) && ((operatingSystem = this.os) != null ? operatingSystem.equals(session.getOs()) : session.getOs() == null) && ((device = this.device) != null ? device.equals(session.getDevice()) : session.getDevice() == null) && ((list = this.events) != null ? list.equals(session.getEvents()) : session.getEvents() == null) && this.generatorType == session.getGeneratorType()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public CrashlyticsReport.Session.Application getApp() {
|
||||
return this.app;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public String getAppQualitySessionId() {
|
||||
return this.appQualitySessionId;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public CrashlyticsReport.Session.Device getDevice() {
|
||||
return this.device;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public Long getEndedAt() {
|
||||
return this.endedAt;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public List<CrashlyticsReport.Session.Event> getEvents() {
|
||||
return this.events;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public String getGenerator() {
|
||||
return this.generator;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public int getGeneratorType() {
|
||||
return this.generatorType;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
@Encodable.Ignore
|
||||
public String getIdentifier() {
|
||||
return this.identifier;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public CrashlyticsReport.Session.OperatingSystem getOs() {
|
||||
return this.os;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public long getStartedAt() {
|
||||
return this.startedAt;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public CrashlyticsReport.Session.User getUser() {
|
||||
return this.user;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (((this.generator.hashCode() ^ 1000003) * 1000003) ^ this.identifier.hashCode()) * 1000003;
|
||||
String str = this.appQualitySessionId;
|
||||
int hashCode2 = str == null ? 0 : str.hashCode();
|
||||
long j4 = this.startedAt;
|
||||
int i = (((hashCode ^ hashCode2) * 1000003) ^ ((int) (j4 ^ (j4 >>> 32)))) * 1000003;
|
||||
Long l4 = this.endedAt;
|
||||
int hashCode3 = (((((i ^ (l4 == null ? 0 : l4.hashCode())) * 1000003) ^ (this.crashed ? 1231 : 1237)) * 1000003) ^ this.app.hashCode()) * 1000003;
|
||||
CrashlyticsReport.Session.User user = this.user;
|
||||
int hashCode4 = (hashCode3 ^ (user == null ? 0 : user.hashCode())) * 1000003;
|
||||
CrashlyticsReport.Session.OperatingSystem operatingSystem = this.os;
|
||||
int hashCode5 = (hashCode4 ^ (operatingSystem == null ? 0 : operatingSystem.hashCode())) * 1000003;
|
||||
CrashlyticsReport.Session.Device device = this.device;
|
||||
int hashCode6 = (hashCode5 ^ (device == null ? 0 : device.hashCode())) * 1000003;
|
||||
List<CrashlyticsReport.Session.Event> list = this.events;
|
||||
return this.generatorType ^ ((hashCode6 ^ (list != null ? list.hashCode() : 0)) * 1000003);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public boolean isCrashed() {
|
||||
return this.crashed;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session
|
||||
public CrashlyticsReport.Session.Builder toBuilder() {
|
||||
return new Builder(this);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("Session{generator=");
|
||||
sb.append(this.generator);
|
||||
sb.append(", identifier=");
|
||||
sb.append(this.identifier);
|
||||
sb.append(", appQualitySessionId=");
|
||||
sb.append(this.appQualitySessionId);
|
||||
sb.append(", startedAt=");
|
||||
sb.append(this.startedAt);
|
||||
sb.append(", endedAt=");
|
||||
sb.append(this.endedAt);
|
||||
sb.append(", crashed=");
|
||||
sb.append(this.crashed);
|
||||
sb.append(", app=");
|
||||
sb.append(this.app);
|
||||
sb.append(", user=");
|
||||
sb.append(this.user);
|
||||
sb.append(", os=");
|
||||
sb.append(this.os);
|
||||
sb.append(", device=");
|
||||
sb.append(this.device);
|
||||
sb.append(", events=");
|
||||
sb.append(this.events);
|
||||
sb.append(", generatorType=");
|
||||
return a.m(sb, this.generatorType, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session(String str, String str2, String str3, long j4, Long l4, boolean z3, CrashlyticsReport.Session.Application application, CrashlyticsReport.Session.User user, CrashlyticsReport.Session.OperatingSystem operatingSystem, CrashlyticsReport.Session.Device device, List<CrashlyticsReport.Session.Event> list, int i) {
|
||||
this.generator = str;
|
||||
this.identifier = str2;
|
||||
this.appQualitySessionId = str3;
|
||||
this.startedAt = j4;
|
||||
this.endedAt = l4;
|
||||
this.crashed = z3;
|
||||
this.app = application;
|
||||
this.user = user;
|
||||
this.os = operatingSystem;
|
||||
this.device = device;
|
||||
this.events = list;
|
||||
this.generatorType = i;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,198 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Application extends CrashlyticsReport.Session.Application {
|
||||
private final String developmentPlatform;
|
||||
private final String developmentPlatformVersion;
|
||||
private final String displayVersion;
|
||||
private final String identifier;
|
||||
private final String installationUuid;
|
||||
private final CrashlyticsReport.Session.Application.Organization organization;
|
||||
private final String version;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Application.Builder {
|
||||
private String developmentPlatform;
|
||||
private String developmentPlatformVersion;
|
||||
private String displayVersion;
|
||||
private String identifier;
|
||||
private String installationUuid;
|
||||
private CrashlyticsReport.Session.Application.Organization organization;
|
||||
private String version;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Builder
|
||||
public CrashlyticsReport.Session.Application build() {
|
||||
String str = this.identifier == null ? " identifier" : "";
|
||||
if (this.version == null) {
|
||||
str = w.n(str, " version");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Application(this.identifier, this.version, this.displayVersion, this.organization, this.installationUuid, this.developmentPlatform, this.developmentPlatformVersion);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Builder
|
||||
public CrashlyticsReport.Session.Application.Builder setDevelopmentPlatform(String str) {
|
||||
this.developmentPlatform = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Builder
|
||||
public CrashlyticsReport.Session.Application.Builder setDevelopmentPlatformVersion(String str) {
|
||||
this.developmentPlatformVersion = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Builder
|
||||
public CrashlyticsReport.Session.Application.Builder setDisplayVersion(String str) {
|
||||
this.displayVersion = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Builder
|
||||
public CrashlyticsReport.Session.Application.Builder setIdentifier(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null identifier");
|
||||
}
|
||||
this.identifier = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Builder
|
||||
public CrashlyticsReport.Session.Application.Builder setInstallationUuid(String str) {
|
||||
this.installationUuid = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Builder
|
||||
public CrashlyticsReport.Session.Application.Builder setOrganization(CrashlyticsReport.Session.Application.Organization organization) {
|
||||
this.organization = organization;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Builder
|
||||
public CrashlyticsReport.Session.Application.Builder setVersion(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null version");
|
||||
}
|
||||
this.version = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
private Builder(CrashlyticsReport.Session.Application application) {
|
||||
this.identifier = application.getIdentifier();
|
||||
this.version = application.getVersion();
|
||||
this.displayVersion = application.getDisplayVersion();
|
||||
this.organization = application.getOrganization();
|
||||
this.installationUuid = application.getInstallationUuid();
|
||||
this.developmentPlatform = application.getDevelopmentPlatform();
|
||||
this.developmentPlatformVersion = application.getDevelopmentPlatformVersion();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
String str;
|
||||
CrashlyticsReport.Session.Application.Organization organization;
|
||||
String str2;
|
||||
String str3;
|
||||
String str4;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Application) {
|
||||
CrashlyticsReport.Session.Application application = (CrashlyticsReport.Session.Application) obj;
|
||||
if (this.identifier.equals(application.getIdentifier()) && this.version.equals(application.getVersion()) && ((str = this.displayVersion) != null ? str.equals(application.getDisplayVersion()) : application.getDisplayVersion() == null) && ((organization = this.organization) != null ? organization.equals(application.getOrganization()) : application.getOrganization() == null) && ((str2 = this.installationUuid) != null ? str2.equals(application.getInstallationUuid()) : application.getInstallationUuid() == null) && ((str3 = this.developmentPlatform) != null ? str3.equals(application.getDevelopmentPlatform()) : application.getDevelopmentPlatform() == null) && ((str4 = this.developmentPlatformVersion) != null ? str4.equals(application.getDevelopmentPlatformVersion()) : application.getDevelopmentPlatformVersion() == null)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application
|
||||
public String getDevelopmentPlatform() {
|
||||
return this.developmentPlatform;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application
|
||||
public String getDevelopmentPlatformVersion() {
|
||||
return this.developmentPlatformVersion;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application
|
||||
public String getDisplayVersion() {
|
||||
return this.displayVersion;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application
|
||||
public String getIdentifier() {
|
||||
return this.identifier;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application
|
||||
public String getInstallationUuid() {
|
||||
return this.installationUuid;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application
|
||||
public CrashlyticsReport.Session.Application.Organization getOrganization() {
|
||||
return this.organization;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application
|
||||
public String getVersion() {
|
||||
return this.version;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (((this.identifier.hashCode() ^ 1000003) * 1000003) ^ this.version.hashCode()) * 1000003;
|
||||
String str = this.displayVersion;
|
||||
int hashCode2 = (hashCode ^ (str == null ? 0 : str.hashCode())) * 1000003;
|
||||
CrashlyticsReport.Session.Application.Organization organization = this.organization;
|
||||
int hashCode3 = (hashCode2 ^ (organization == null ? 0 : organization.hashCode())) * 1000003;
|
||||
String str2 = this.installationUuid;
|
||||
int hashCode4 = (hashCode3 ^ (str2 == null ? 0 : str2.hashCode())) * 1000003;
|
||||
String str3 = this.developmentPlatform;
|
||||
int hashCode5 = (hashCode4 ^ (str3 == null ? 0 : str3.hashCode())) * 1000003;
|
||||
String str4 = this.developmentPlatformVersion;
|
||||
return hashCode5 ^ (str4 != null ? str4.hashCode() : 0);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application
|
||||
public CrashlyticsReport.Session.Application.Builder toBuilder() {
|
||||
return new Builder(this);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("Application{identifier=");
|
||||
sb.append(this.identifier);
|
||||
sb.append(", version=");
|
||||
sb.append(this.version);
|
||||
sb.append(", displayVersion=");
|
||||
sb.append(this.displayVersion);
|
||||
sb.append(", organization=");
|
||||
sb.append(this.organization);
|
||||
sb.append(", installationUuid=");
|
||||
sb.append(this.installationUuid);
|
||||
sb.append(", developmentPlatform=");
|
||||
sb.append(this.developmentPlatform);
|
||||
sb.append(", developmentPlatformVersion=");
|
||||
return w.r(sb, this.developmentPlatformVersion, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Application(String str, String str2, String str3, CrashlyticsReport.Session.Application.Organization organization, String str4, String str5, String str6) {
|
||||
this.identifier = str;
|
||||
this.version = str2;
|
||||
this.displayVersion = str3;
|
||||
this.organization = organization;
|
||||
this.installationUuid = str4;
|
||||
this.developmentPlatform = str5;
|
||||
this.developmentPlatformVersion = str6;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Application_Organization extends CrashlyticsReport.Session.Application.Organization {
|
||||
private final String clsId;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Application.Organization.Builder {
|
||||
private String clsId;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Organization.Builder
|
||||
public CrashlyticsReport.Session.Application.Organization build() {
|
||||
String str = this.clsId == null ? " clsId" : "";
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Application_Organization(this.clsId);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Organization.Builder
|
||||
public CrashlyticsReport.Session.Application.Organization.Builder setClsId(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null clsId");
|
||||
}
|
||||
this.clsId = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
private Builder(CrashlyticsReport.Session.Application.Organization organization) {
|
||||
this.clsId = organization.getClsId();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Application.Organization) {
|
||||
return this.clsId.equals(((CrashlyticsReport.Session.Application.Organization) obj).getClsId());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Organization
|
||||
public String getClsId() {
|
||||
return this.clsId;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.clsId.hashCode() ^ 1000003;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Application.Organization
|
||||
public CrashlyticsReport.Session.Application.Organization.Builder toBuilder() {
|
||||
return new Builder(this);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return w.r(new StringBuilder("Organization{clsId="), this.clsId, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Application_Organization(String str) {
|
||||
this.clsId = str;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,225 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Device extends CrashlyticsReport.Session.Device {
|
||||
private final int arch;
|
||||
private final int cores;
|
||||
private final long diskSpace;
|
||||
private final String manufacturer;
|
||||
private final String model;
|
||||
private final String modelClass;
|
||||
private final long ram;
|
||||
private final boolean simulator;
|
||||
private final int state;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Device.Builder {
|
||||
private Integer arch;
|
||||
private Integer cores;
|
||||
private Long diskSpace;
|
||||
private String manufacturer;
|
||||
private String model;
|
||||
private String modelClass;
|
||||
private Long ram;
|
||||
private Boolean simulator;
|
||||
private Integer state;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device.Builder
|
||||
public CrashlyticsReport.Session.Device build() {
|
||||
String str = this.arch == null ? " arch" : "";
|
||||
if (this.model == null) {
|
||||
str = w.n(str, " model");
|
||||
}
|
||||
if (this.cores == null) {
|
||||
str = w.n(str, " cores");
|
||||
}
|
||||
if (this.ram == null) {
|
||||
str = w.n(str, " ram");
|
||||
}
|
||||
if (this.diskSpace == null) {
|
||||
str = w.n(str, " diskSpace");
|
||||
}
|
||||
if (this.simulator == null) {
|
||||
str = w.n(str, " simulator");
|
||||
}
|
||||
if (this.state == null) {
|
||||
str = w.n(str, " state");
|
||||
}
|
||||
if (this.manufacturer == null) {
|
||||
str = w.n(str, " manufacturer");
|
||||
}
|
||||
if (this.modelClass == null) {
|
||||
str = w.n(str, " modelClass");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Device(this.arch.intValue(), this.model, this.cores.intValue(), this.ram.longValue(), this.diskSpace.longValue(), this.simulator.booleanValue(), this.state.intValue(), this.manufacturer, this.modelClass);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device.Builder
|
||||
public CrashlyticsReport.Session.Device.Builder setArch(int i) {
|
||||
this.arch = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device.Builder
|
||||
public CrashlyticsReport.Session.Device.Builder setCores(int i) {
|
||||
this.cores = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device.Builder
|
||||
public CrashlyticsReport.Session.Device.Builder setDiskSpace(long j4) {
|
||||
this.diskSpace = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device.Builder
|
||||
public CrashlyticsReport.Session.Device.Builder setManufacturer(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null manufacturer");
|
||||
}
|
||||
this.manufacturer = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device.Builder
|
||||
public CrashlyticsReport.Session.Device.Builder setModel(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null model");
|
||||
}
|
||||
this.model = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device.Builder
|
||||
public CrashlyticsReport.Session.Device.Builder setModelClass(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null modelClass");
|
||||
}
|
||||
this.modelClass = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device.Builder
|
||||
public CrashlyticsReport.Session.Device.Builder setRam(long j4) {
|
||||
this.ram = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device.Builder
|
||||
public CrashlyticsReport.Session.Device.Builder setSimulator(boolean z3) {
|
||||
this.simulator = Boolean.valueOf(z3);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device.Builder
|
||||
public CrashlyticsReport.Session.Device.Builder setState(int i) {
|
||||
this.state = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Device) {
|
||||
CrashlyticsReport.Session.Device device = (CrashlyticsReport.Session.Device) obj;
|
||||
if (this.arch == device.getArch() && this.model.equals(device.getModel()) && this.cores == device.getCores() && this.ram == device.getRam() && this.diskSpace == device.getDiskSpace() && this.simulator == device.isSimulator() && this.state == device.getState() && this.manufacturer.equals(device.getManufacturer()) && this.modelClass.equals(device.getModelClass())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device
|
||||
public int getArch() {
|
||||
return this.arch;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device
|
||||
public int getCores() {
|
||||
return this.cores;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device
|
||||
public long getDiskSpace() {
|
||||
return this.diskSpace;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device
|
||||
public String getManufacturer() {
|
||||
return this.manufacturer;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device
|
||||
public String getModel() {
|
||||
return this.model;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device
|
||||
public String getModelClass() {
|
||||
return this.modelClass;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device
|
||||
public long getRam() {
|
||||
return this.ram;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device
|
||||
public int getState() {
|
||||
return this.state;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (((((this.arch ^ 1000003) * 1000003) ^ this.model.hashCode()) * 1000003) ^ this.cores) * 1000003;
|
||||
long j4 = this.ram;
|
||||
int i = (hashCode ^ ((int) (j4 ^ (j4 >>> 32)))) * 1000003;
|
||||
long j5 = this.diskSpace;
|
||||
return this.modelClass.hashCode() ^ ((((((((i ^ ((int) (j5 ^ (j5 >>> 32)))) * 1000003) ^ (this.simulator ? 1231 : 1237)) * 1000003) ^ this.state) * 1000003) ^ this.manufacturer.hashCode()) * 1000003);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Device
|
||||
public boolean isSimulator() {
|
||||
return this.simulator;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("Device{arch=");
|
||||
sb.append(this.arch);
|
||||
sb.append(", model=");
|
||||
sb.append(this.model);
|
||||
sb.append(", cores=");
|
||||
sb.append(this.cores);
|
||||
sb.append(", ram=");
|
||||
sb.append(this.ram);
|
||||
sb.append(", diskSpace=");
|
||||
sb.append(this.diskSpace);
|
||||
sb.append(", simulator=");
|
||||
sb.append(this.simulator);
|
||||
sb.append(", state=");
|
||||
sb.append(this.state);
|
||||
sb.append(", manufacturer=");
|
||||
sb.append(this.manufacturer);
|
||||
sb.append(", modelClass=");
|
||||
return w.r(sb, this.modelClass, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Device(int i, String str, int i4, long j4, long j5, boolean z3, int i5, String str2, String str3) {
|
||||
this.arch = i;
|
||||
this.model = str;
|
||||
this.cores = i4;
|
||||
this.ram = j4;
|
||||
this.diskSpace = j5;
|
||||
this.simulator = z3;
|
||||
this.state = i5;
|
||||
this.manufacturer = str2;
|
||||
this.modelClass = str3;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event extends CrashlyticsReport.Session.Event {
|
||||
private final CrashlyticsReport.Session.Event.Application app;
|
||||
private final CrashlyticsReport.Session.Event.Device device;
|
||||
private final CrashlyticsReport.Session.Event.Log log;
|
||||
private final CrashlyticsReport.Session.Event.RolloutsState rollouts;
|
||||
private final long timestamp;
|
||||
private final String type;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Builder {
|
||||
private CrashlyticsReport.Session.Event.Application app;
|
||||
private CrashlyticsReport.Session.Event.Device device;
|
||||
private CrashlyticsReport.Session.Event.Log log;
|
||||
private CrashlyticsReport.Session.Event.RolloutsState rollouts;
|
||||
private Long timestamp;
|
||||
private String type;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Builder
|
||||
public CrashlyticsReport.Session.Event build() {
|
||||
String str = this.timestamp == null ? " timestamp" : "";
|
||||
if (this.type == null) {
|
||||
str = w.n(str, " type");
|
||||
}
|
||||
if (this.app == null) {
|
||||
str = w.n(str, " app");
|
||||
}
|
||||
if (this.device == null) {
|
||||
str = w.n(str, " device");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event(this.timestamp.longValue(), this.type, this.app, this.device, this.log, this.rollouts);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Builder
|
||||
public CrashlyticsReport.Session.Event.Builder setApp(CrashlyticsReport.Session.Event.Application application) {
|
||||
if (application == null) {
|
||||
throw new NullPointerException("Null app");
|
||||
}
|
||||
this.app = application;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Builder
|
||||
public CrashlyticsReport.Session.Event.Builder setDevice(CrashlyticsReport.Session.Event.Device device) {
|
||||
if (device == null) {
|
||||
throw new NullPointerException("Null device");
|
||||
}
|
||||
this.device = device;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Builder
|
||||
public CrashlyticsReport.Session.Event.Builder setLog(CrashlyticsReport.Session.Event.Log log) {
|
||||
this.log = log;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Builder
|
||||
public CrashlyticsReport.Session.Event.Builder setRollouts(CrashlyticsReport.Session.Event.RolloutsState rolloutsState) {
|
||||
this.rollouts = rolloutsState;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Builder
|
||||
public CrashlyticsReport.Session.Event.Builder setTimestamp(long j4) {
|
||||
this.timestamp = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Builder
|
||||
public CrashlyticsReport.Session.Event.Builder setType(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null type");
|
||||
}
|
||||
this.type = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
private Builder(CrashlyticsReport.Session.Event event) {
|
||||
this.timestamp = Long.valueOf(event.getTimestamp());
|
||||
this.type = event.getType();
|
||||
this.app = event.getApp();
|
||||
this.device = event.getDevice();
|
||||
this.log = event.getLog();
|
||||
this.rollouts = event.getRollouts();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
CrashlyticsReport.Session.Event.Log log;
|
||||
CrashlyticsReport.Session.Event.RolloutsState rolloutsState;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event) {
|
||||
CrashlyticsReport.Session.Event event = (CrashlyticsReport.Session.Event) obj;
|
||||
if (this.timestamp == event.getTimestamp() && this.type.equals(event.getType()) && this.app.equals(event.getApp()) && this.device.equals(event.getDevice()) && ((log = this.log) != null ? log.equals(event.getLog()) : event.getLog() == null) && ((rolloutsState = this.rollouts) != null ? rolloutsState.equals(event.getRollouts()) : event.getRollouts() == null)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event
|
||||
public CrashlyticsReport.Session.Event.Application getApp() {
|
||||
return this.app;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event
|
||||
public CrashlyticsReport.Session.Event.Device getDevice() {
|
||||
return this.device;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event
|
||||
public CrashlyticsReport.Session.Event.Log getLog() {
|
||||
return this.log;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event
|
||||
public CrashlyticsReport.Session.Event.RolloutsState getRollouts() {
|
||||
return this.rollouts;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event
|
||||
public long getTimestamp() {
|
||||
return this.timestamp;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event
|
||||
public String getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
long j4 = this.timestamp;
|
||||
int hashCode = (((((((((int) (j4 ^ (j4 >>> 32))) ^ 1000003) * 1000003) ^ this.type.hashCode()) * 1000003) ^ this.app.hashCode()) * 1000003) ^ this.device.hashCode()) * 1000003;
|
||||
CrashlyticsReport.Session.Event.Log log = this.log;
|
||||
int hashCode2 = (hashCode ^ (log == null ? 0 : log.hashCode())) * 1000003;
|
||||
CrashlyticsReport.Session.Event.RolloutsState rolloutsState = this.rollouts;
|
||||
return hashCode2 ^ (rolloutsState != null ? rolloutsState.hashCode() : 0);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event
|
||||
public CrashlyticsReport.Session.Event.Builder toBuilder() {
|
||||
return new Builder(this);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Event{timestamp=" + this.timestamp + ", type=" + this.type + ", app=" + this.app + ", device=" + this.device + ", log=" + this.log + ", rollouts=" + this.rollouts + "}";
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event(long j4, String str, CrashlyticsReport.Session.Event.Application application, CrashlyticsReport.Session.Event.Device device, CrashlyticsReport.Session.Event.Log log, CrashlyticsReport.Session.Event.RolloutsState rolloutsState) {
|
||||
this.timestamp = j4;
|
||||
this.type = str;
|
||||
this.app = application;
|
||||
this.device = device;
|
||||
this.log = log;
|
||||
this.rollouts = rolloutsState;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,197 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.android.gms.measurement.internal.a;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event_Application extends CrashlyticsReport.Session.Event.Application {
|
||||
private final List<CrashlyticsReport.Session.Event.Application.ProcessDetails> appProcessDetails;
|
||||
private final Boolean background;
|
||||
private final CrashlyticsReport.Session.Event.Application.ProcessDetails currentProcessDetails;
|
||||
private final List<CrashlyticsReport.CustomAttribute> customAttributes;
|
||||
private final CrashlyticsReport.Session.Event.Application.Execution execution;
|
||||
private final List<CrashlyticsReport.CustomAttribute> internalKeys;
|
||||
private final int uiOrientation;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Application.Builder {
|
||||
private List<CrashlyticsReport.Session.Event.Application.ProcessDetails> appProcessDetails;
|
||||
private Boolean background;
|
||||
private CrashlyticsReport.Session.Event.Application.ProcessDetails currentProcessDetails;
|
||||
private List<CrashlyticsReport.CustomAttribute> customAttributes;
|
||||
private CrashlyticsReport.Session.Event.Application.Execution execution;
|
||||
private List<CrashlyticsReport.CustomAttribute> internalKeys;
|
||||
private Integer uiOrientation;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Builder
|
||||
public CrashlyticsReport.Session.Event.Application build() {
|
||||
String str = this.execution == null ? " execution" : "";
|
||||
if (this.uiOrientation == null) {
|
||||
str = w.n(str, " uiOrientation");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event_Application(this.execution, this.customAttributes, this.internalKeys, this.background, this.currentProcessDetails, this.appProcessDetails, this.uiOrientation.intValue());
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Builder setAppProcessDetails(List<CrashlyticsReport.Session.Event.Application.ProcessDetails> list) {
|
||||
this.appProcessDetails = list;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Builder setBackground(Boolean bool) {
|
||||
this.background = bool;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Builder setCurrentProcessDetails(CrashlyticsReport.Session.Event.Application.ProcessDetails processDetails) {
|
||||
this.currentProcessDetails = processDetails;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Builder setCustomAttributes(List<CrashlyticsReport.CustomAttribute> list) {
|
||||
this.customAttributes = list;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Builder setExecution(CrashlyticsReport.Session.Event.Application.Execution execution) {
|
||||
if (execution == null) {
|
||||
throw new NullPointerException("Null execution");
|
||||
}
|
||||
this.execution = execution;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Builder setInternalKeys(List<CrashlyticsReport.CustomAttribute> list) {
|
||||
this.internalKeys = list;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Builder setUiOrientation(int i) {
|
||||
this.uiOrientation = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder() {
|
||||
}
|
||||
|
||||
private Builder(CrashlyticsReport.Session.Event.Application application) {
|
||||
this.execution = application.getExecution();
|
||||
this.customAttributes = application.getCustomAttributes();
|
||||
this.internalKeys = application.getInternalKeys();
|
||||
this.background = application.getBackground();
|
||||
this.currentProcessDetails = application.getCurrentProcessDetails();
|
||||
this.appProcessDetails = application.getAppProcessDetails();
|
||||
this.uiOrientation = Integer.valueOf(application.getUiOrientation());
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
List<CrashlyticsReport.CustomAttribute> list;
|
||||
List<CrashlyticsReport.CustomAttribute> list2;
|
||||
Boolean bool;
|
||||
CrashlyticsReport.Session.Event.Application.ProcessDetails processDetails;
|
||||
List<CrashlyticsReport.Session.Event.Application.ProcessDetails> list3;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event.Application) {
|
||||
CrashlyticsReport.Session.Event.Application application = (CrashlyticsReport.Session.Event.Application) obj;
|
||||
if (this.execution.equals(application.getExecution()) && ((list = this.customAttributes) != null ? list.equals(application.getCustomAttributes()) : application.getCustomAttributes() == null) && ((list2 = this.internalKeys) != null ? list2.equals(application.getInternalKeys()) : application.getInternalKeys() == null) && ((bool = this.background) != null ? bool.equals(application.getBackground()) : application.getBackground() == null) && ((processDetails = this.currentProcessDetails) != null ? processDetails.equals(application.getCurrentProcessDetails()) : application.getCurrentProcessDetails() == null) && ((list3 = this.appProcessDetails) != null ? list3.equals(application.getAppProcessDetails()) : application.getAppProcessDetails() == null) && this.uiOrientation == application.getUiOrientation()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application
|
||||
public List<CrashlyticsReport.Session.Event.Application.ProcessDetails> getAppProcessDetails() {
|
||||
return this.appProcessDetails;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application
|
||||
public Boolean getBackground() {
|
||||
return this.background;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application
|
||||
public CrashlyticsReport.Session.Event.Application.ProcessDetails getCurrentProcessDetails() {
|
||||
return this.currentProcessDetails;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application
|
||||
public List<CrashlyticsReport.CustomAttribute> getCustomAttributes() {
|
||||
return this.customAttributes;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application
|
||||
public CrashlyticsReport.Session.Event.Application.Execution getExecution() {
|
||||
return this.execution;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application
|
||||
public List<CrashlyticsReport.CustomAttribute> getInternalKeys() {
|
||||
return this.internalKeys;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application
|
||||
public int getUiOrientation() {
|
||||
return this.uiOrientation;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (this.execution.hashCode() ^ 1000003) * 1000003;
|
||||
List<CrashlyticsReport.CustomAttribute> list = this.customAttributes;
|
||||
int hashCode2 = (hashCode ^ (list == null ? 0 : list.hashCode())) * 1000003;
|
||||
List<CrashlyticsReport.CustomAttribute> list2 = this.internalKeys;
|
||||
int hashCode3 = (hashCode2 ^ (list2 == null ? 0 : list2.hashCode())) * 1000003;
|
||||
Boolean bool = this.background;
|
||||
int hashCode4 = (hashCode3 ^ (bool == null ? 0 : bool.hashCode())) * 1000003;
|
||||
CrashlyticsReport.Session.Event.Application.ProcessDetails processDetails = this.currentProcessDetails;
|
||||
int hashCode5 = (hashCode4 ^ (processDetails == null ? 0 : processDetails.hashCode())) * 1000003;
|
||||
List<CrashlyticsReport.Session.Event.Application.ProcessDetails> list3 = this.appProcessDetails;
|
||||
return this.uiOrientation ^ ((hashCode5 ^ (list3 != null ? list3.hashCode() : 0)) * 1000003);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application
|
||||
public CrashlyticsReport.Session.Event.Application.Builder toBuilder() {
|
||||
return new Builder(this);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("Application{execution=");
|
||||
sb.append(this.execution);
|
||||
sb.append(", customAttributes=");
|
||||
sb.append(this.customAttributes);
|
||||
sb.append(", internalKeys=");
|
||||
sb.append(this.internalKeys);
|
||||
sb.append(", background=");
|
||||
sb.append(this.background);
|
||||
sb.append(", currentProcessDetails=");
|
||||
sb.append(this.currentProcessDetails);
|
||||
sb.append(", appProcessDetails=");
|
||||
sb.append(this.appProcessDetails);
|
||||
sb.append(", uiOrientation=");
|
||||
return a.m(sb, this.uiOrientation, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event_Application(CrashlyticsReport.Session.Event.Application.Execution execution, List<CrashlyticsReport.CustomAttribute> list, List<CrashlyticsReport.CustomAttribute> list2, Boolean bool, CrashlyticsReport.Session.Event.Application.ProcessDetails processDetails, List<CrashlyticsReport.Session.Event.Application.ProcessDetails> list3, int i) {
|
||||
this.execution = execution;
|
||||
this.customAttributes = list;
|
||||
this.internalKeys = list2;
|
||||
this.background = bool;
|
||||
this.currentProcessDetails = processDetails;
|
||||
this.appProcessDetails = list3;
|
||||
this.uiOrientation = i;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event_Application_Execution extends CrashlyticsReport.Session.Event.Application.Execution {
|
||||
private final CrashlyticsReport.ApplicationExitInfo appExitInfo;
|
||||
private final List<CrashlyticsReport.Session.Event.Application.Execution.BinaryImage> binaries;
|
||||
private final CrashlyticsReport.Session.Event.Application.Execution.Exception exception;
|
||||
private final CrashlyticsReport.Session.Event.Application.Execution.Signal signal;
|
||||
private final List<CrashlyticsReport.Session.Event.Application.Execution.Thread> threads;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Application.Execution.Builder {
|
||||
private CrashlyticsReport.ApplicationExitInfo appExitInfo;
|
||||
private List<CrashlyticsReport.Session.Event.Application.Execution.BinaryImage> binaries;
|
||||
private CrashlyticsReport.Session.Event.Application.Execution.Exception exception;
|
||||
private CrashlyticsReport.Session.Event.Application.Execution.Signal signal;
|
||||
private List<CrashlyticsReport.Session.Event.Application.Execution.Thread> threads;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution build() {
|
||||
String str = this.signal == null ? " signal" : "";
|
||||
if (this.binaries == null) {
|
||||
str = w.n(str, " binaries");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event_Application_Execution(this.threads, this.exception, this.appExitInfo, this.signal, this.binaries);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Builder setAppExitInfo(CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
|
||||
this.appExitInfo = applicationExitInfo;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Builder setBinaries(List<CrashlyticsReport.Session.Event.Application.Execution.BinaryImage> list) {
|
||||
if (list == null) {
|
||||
throw new NullPointerException("Null binaries");
|
||||
}
|
||||
this.binaries = list;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Builder setException(CrashlyticsReport.Session.Event.Application.Execution.Exception exception) {
|
||||
this.exception = exception;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Builder setSignal(CrashlyticsReport.Session.Event.Application.Execution.Signal signal) {
|
||||
if (signal == null) {
|
||||
throw new NullPointerException("Null signal");
|
||||
}
|
||||
this.signal = signal;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Builder setThreads(List<CrashlyticsReport.Session.Event.Application.Execution.Thread> list) {
|
||||
this.threads = list;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event.Application.Execution) {
|
||||
CrashlyticsReport.Session.Event.Application.Execution execution = (CrashlyticsReport.Session.Event.Application.Execution) obj;
|
||||
List<CrashlyticsReport.Session.Event.Application.Execution.Thread> list = this.threads;
|
||||
if (list != null ? list.equals(execution.getThreads()) : execution.getThreads() == null) {
|
||||
CrashlyticsReport.Session.Event.Application.Execution.Exception exception = this.exception;
|
||||
if (exception != null ? exception.equals(execution.getException()) : execution.getException() == null) {
|
||||
CrashlyticsReport.ApplicationExitInfo applicationExitInfo = this.appExitInfo;
|
||||
if (applicationExitInfo != null ? applicationExitInfo.equals(execution.getAppExitInfo()) : execution.getAppExitInfo() == null) {
|
||||
if (this.signal.equals(execution.getSignal()) && this.binaries.equals(execution.getBinaries())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution
|
||||
public CrashlyticsReport.ApplicationExitInfo getAppExitInfo() {
|
||||
return this.appExitInfo;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution
|
||||
public List<CrashlyticsReport.Session.Event.Application.Execution.BinaryImage> getBinaries() {
|
||||
return this.binaries;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Exception getException() {
|
||||
return this.exception;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Signal getSignal() {
|
||||
return this.signal;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution
|
||||
public List<CrashlyticsReport.Session.Event.Application.Execution.Thread> getThreads() {
|
||||
return this.threads;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
List<CrashlyticsReport.Session.Event.Application.Execution.Thread> list = this.threads;
|
||||
int hashCode = ((list == null ? 0 : list.hashCode()) ^ 1000003) * 1000003;
|
||||
CrashlyticsReport.Session.Event.Application.Execution.Exception exception = this.exception;
|
||||
int hashCode2 = (hashCode ^ (exception == null ? 0 : exception.hashCode())) * 1000003;
|
||||
CrashlyticsReport.ApplicationExitInfo applicationExitInfo = this.appExitInfo;
|
||||
return this.binaries.hashCode() ^ ((((hashCode2 ^ (applicationExitInfo != null ? applicationExitInfo.hashCode() : 0)) * 1000003) ^ this.signal.hashCode()) * 1000003);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Execution{threads=" + this.threads + ", exception=" + this.exception + ", appExitInfo=" + this.appExitInfo + ", signal=" + this.signal + ", binaries=" + this.binaries + "}";
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event_Application_Execution(List<CrashlyticsReport.Session.Event.Application.Execution.Thread> list, CrashlyticsReport.Session.Event.Application.Execution.Exception exception, CrashlyticsReport.ApplicationExitInfo applicationExitInfo, CrashlyticsReport.Session.Event.Application.Execution.Signal signal, List<CrashlyticsReport.Session.Event.Application.Execution.BinaryImage> list2) {
|
||||
this.threads = list;
|
||||
this.exception = exception;
|
||||
this.appExitInfo = applicationExitInfo;
|
||||
this.signal = signal;
|
||||
this.binaries = list2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import com.google.firebase.encoders.annotations.Encodable;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage extends CrashlyticsReport.Session.Event.Application.Execution.BinaryImage {
|
||||
private final long baseAddress;
|
||||
private final String name;
|
||||
private final long size;
|
||||
private final String uuid;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.Builder {
|
||||
private Long baseAddress;
|
||||
private String name;
|
||||
private Long size;
|
||||
private String uuid;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.BinaryImage build() {
|
||||
String str = this.baseAddress == null ? " baseAddress" : "";
|
||||
if (this.size == null) {
|
||||
str = w.n(str, " size");
|
||||
}
|
||||
if (this.name == null) {
|
||||
str = w.n(str, " name");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage(this.baseAddress.longValue(), this.size.longValue(), this.name, this.uuid);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.Builder setBaseAddress(long j4) {
|
||||
this.baseAddress = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.Builder setName(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null name");
|
||||
}
|
||||
this.name = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.Builder setSize(long j4) {
|
||||
this.size = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.BinaryImage.Builder setUuid(String str) {
|
||||
this.uuid = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
String str;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event.Application.Execution.BinaryImage) {
|
||||
CrashlyticsReport.Session.Event.Application.Execution.BinaryImage binaryImage = (CrashlyticsReport.Session.Event.Application.Execution.BinaryImage) obj;
|
||||
if (this.baseAddress == binaryImage.getBaseAddress() && this.size == binaryImage.getSize() && this.name.equals(binaryImage.getName()) && ((str = this.uuid) != null ? str.equals(binaryImage.getUuid()) : binaryImage.getUuid() == null)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.BinaryImage
|
||||
public long getBaseAddress() {
|
||||
return this.baseAddress;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.BinaryImage
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.BinaryImage
|
||||
public long getSize() {
|
||||
return this.size;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.BinaryImage
|
||||
@Encodable.Ignore
|
||||
public String getUuid() {
|
||||
return this.uuid;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
long j4 = this.baseAddress;
|
||||
long j5 = this.size;
|
||||
int hashCode = (((((((int) (j4 ^ (j4 >>> 32))) ^ 1000003) * 1000003) ^ ((int) ((j5 >>> 32) ^ j5))) * 1000003) ^ this.name.hashCode()) * 1000003;
|
||||
String str = this.uuid;
|
||||
return (str == null ? 0 : str.hashCode()) ^ hashCode;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("BinaryImage{baseAddress=");
|
||||
sb.append(this.baseAddress);
|
||||
sb.append(", size=");
|
||||
sb.append(this.size);
|
||||
sb.append(", name=");
|
||||
sb.append(this.name);
|
||||
sb.append(", uuid=");
|
||||
return w.r(sb, this.uuid, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage(long j4, long j5, String str, String str2) {
|
||||
this.baseAddress = j4;
|
||||
this.size = j5;
|
||||
this.name = str;
|
||||
this.uuid = str2;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.android.gms.measurement.internal.a;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception extends CrashlyticsReport.Session.Event.Application.Execution.Exception {
|
||||
private final CrashlyticsReport.Session.Event.Application.Execution.Exception causedBy;
|
||||
private final List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> frames;
|
||||
private final int overflowCount;
|
||||
private final String reason;
|
||||
private final String type;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder {
|
||||
private CrashlyticsReport.Session.Event.Application.Execution.Exception causedBy;
|
||||
private List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> frames;
|
||||
private Integer overflowCount;
|
||||
private String reason;
|
||||
private String type;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Exception build() {
|
||||
String str = this.type == null ? " type" : "";
|
||||
if (this.frames == null) {
|
||||
str = w.n(str, " frames");
|
||||
}
|
||||
if (this.overflowCount == null) {
|
||||
str = w.n(str, " overflowCount");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception(this.type, this.reason, this.frames, this.causedBy, this.overflowCount.intValue());
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder setCausedBy(CrashlyticsReport.Session.Event.Application.Execution.Exception exception) {
|
||||
this.causedBy = exception;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder setFrames(List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> list) {
|
||||
if (list == null) {
|
||||
throw new NullPointerException("Null frames");
|
||||
}
|
||||
this.frames = list;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder setOverflowCount(int i) {
|
||||
this.overflowCount = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder setReason(String str) {
|
||||
this.reason = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Exception.Builder setType(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null type");
|
||||
}
|
||||
this.type = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
String str;
|
||||
CrashlyticsReport.Session.Event.Application.Execution.Exception exception;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event.Application.Execution.Exception) {
|
||||
CrashlyticsReport.Session.Event.Application.Execution.Exception exception2 = (CrashlyticsReport.Session.Event.Application.Execution.Exception) obj;
|
||||
if (this.type.equals(exception2.getType()) && ((str = this.reason) != null ? str.equals(exception2.getReason()) : exception2.getReason() == null) && this.frames.equals(exception2.getFrames()) && ((exception = this.causedBy) != null ? exception.equals(exception2.getCausedBy()) : exception2.getCausedBy() == null) && this.overflowCount == exception2.getOverflowCount()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Exception getCausedBy() {
|
||||
return this.causedBy;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception
|
||||
public List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> getFrames() {
|
||||
return this.frames;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception
|
||||
public int getOverflowCount() {
|
||||
return this.overflowCount;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception
|
||||
public String getReason() {
|
||||
return this.reason;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Exception
|
||||
public String getType() {
|
||||
return this.type;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (this.type.hashCode() ^ 1000003) * 1000003;
|
||||
String str = this.reason;
|
||||
int hashCode2 = (((hashCode ^ (str == null ? 0 : str.hashCode())) * 1000003) ^ this.frames.hashCode()) * 1000003;
|
||||
CrashlyticsReport.Session.Event.Application.Execution.Exception exception = this.causedBy;
|
||||
return this.overflowCount ^ ((hashCode2 ^ (exception != null ? exception.hashCode() : 0)) * 1000003);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("Exception{type=");
|
||||
sb.append(this.type);
|
||||
sb.append(", reason=");
|
||||
sb.append(this.reason);
|
||||
sb.append(", frames=");
|
||||
sb.append(this.frames);
|
||||
sb.append(", causedBy=");
|
||||
sb.append(this.causedBy);
|
||||
sb.append(", overflowCount=");
|
||||
return a.m(sb, this.overflowCount, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception(String str, String str2, List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> list, CrashlyticsReport.Session.Event.Application.Execution.Exception exception, int i) {
|
||||
this.type = str;
|
||||
this.reason = str2;
|
||||
this.frames = list;
|
||||
this.causedBy = exception;
|
||||
this.overflowCount = i;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal extends CrashlyticsReport.Session.Event.Application.Execution.Signal {
|
||||
private final long address;
|
||||
private final String code;
|
||||
private final String name;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Application.Execution.Signal.Builder {
|
||||
private Long address;
|
||||
private String code;
|
||||
private String name;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Signal.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Signal build() {
|
||||
String str = this.name == null ? " name" : "";
|
||||
if (this.code == null) {
|
||||
str = w.n(str, " code");
|
||||
}
|
||||
if (this.address == null) {
|
||||
str = w.n(str, " address");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal(this.name, this.code, this.address.longValue());
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Signal.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Signal.Builder setAddress(long j4) {
|
||||
this.address = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Signal.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Signal.Builder setCode(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null code");
|
||||
}
|
||||
this.code = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Signal.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Signal.Builder setName(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null name");
|
||||
}
|
||||
this.name = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event.Application.Execution.Signal) {
|
||||
CrashlyticsReport.Session.Event.Application.Execution.Signal signal = (CrashlyticsReport.Session.Event.Application.Execution.Signal) obj;
|
||||
if (this.name.equals(signal.getName()) && this.code.equals(signal.getCode()) && this.address == signal.getAddress()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Signal
|
||||
public long getAddress() {
|
||||
return this.address;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Signal
|
||||
public String getCode() {
|
||||
return this.code;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Signal
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int hashCode = (((this.name.hashCode() ^ 1000003) * 1000003) ^ this.code.hashCode()) * 1000003;
|
||||
long j4 = this.address;
|
||||
return ((int) (j4 ^ (j4 >>> 32))) ^ hashCode;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("Signal{name=");
|
||||
sb.append(this.name);
|
||||
sb.append(", code=");
|
||||
sb.append(this.code);
|
||||
sb.append(", address=");
|
||||
return w.q(sb, this.address, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal(String str, String str2, long j4) {
|
||||
this.name = str;
|
||||
this.code = str2;
|
||||
this.address = j4;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread extends CrashlyticsReport.Session.Event.Application.Execution.Thread {
|
||||
private final List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> frames;
|
||||
private final int importance;
|
||||
private final String name;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Application.Execution.Thread.Builder {
|
||||
private List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> frames;
|
||||
private Integer importance;
|
||||
private String name;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Thread build() {
|
||||
String str = this.name == null ? " name" : "";
|
||||
if (this.importance == null) {
|
||||
str = w.n(str, " importance");
|
||||
}
|
||||
if (this.frames == null) {
|
||||
str = w.n(str, " frames");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread(this.name, this.importance.intValue(), this.frames);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Thread.Builder setFrames(List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> list) {
|
||||
if (list == null) {
|
||||
throw new NullPointerException("Null frames");
|
||||
}
|
||||
this.frames = list;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Thread.Builder setImportance(int i) {
|
||||
this.importance = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Thread.Builder setName(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null name");
|
||||
}
|
||||
this.name = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event.Application.Execution.Thread) {
|
||||
CrashlyticsReport.Session.Event.Application.Execution.Thread thread = (CrashlyticsReport.Session.Event.Application.Execution.Thread) obj;
|
||||
if (this.name.equals(thread.getName()) && this.importance == thread.getImportance() && this.frames.equals(thread.getFrames())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread
|
||||
public List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> getFrames() {
|
||||
return this.frames;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread
|
||||
public int getImportance() {
|
||||
return this.importance;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread
|
||||
public String getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.frames.hashCode() ^ ((((this.name.hashCode() ^ 1000003) * 1000003) ^ this.importance) * 1000003);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "Thread{name=" + this.name + ", importance=" + this.importance + ", frames=" + this.frames + "}";
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread(String str, int i, List<CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame> list) {
|
||||
this.name = str;
|
||||
this.importance = i;
|
||||
this.frames = list;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.android.gms.measurement.internal.a;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame extends CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame {
|
||||
private final String file;
|
||||
private final int importance;
|
||||
private final long offset;
|
||||
private final long pc;
|
||||
private final String symbol;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder {
|
||||
private String file;
|
||||
private Integer importance;
|
||||
private Long offset;
|
||||
private Long pc;
|
||||
private String symbol;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame build() {
|
||||
String str = this.pc == null ? " pc" : "";
|
||||
if (this.symbol == null) {
|
||||
str = w.n(str, " symbol");
|
||||
}
|
||||
if (this.offset == null) {
|
||||
str = w.n(str, " offset");
|
||||
}
|
||||
if (this.importance == null) {
|
||||
str = w.n(str, " importance");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame(this.pc.longValue(), this.symbol, this.file, this.offset.longValue(), this.importance.intValue());
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder setFile(String str) {
|
||||
this.file = str;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder setImportance(int i) {
|
||||
this.importance = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder setOffset(long j4) {
|
||||
this.offset = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder setPc(long j4) {
|
||||
this.pc = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame.Builder setSymbol(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null symbol");
|
||||
}
|
||||
this.symbol = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
String str;
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame) {
|
||||
CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame frame = (CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame) obj;
|
||||
if (this.pc == frame.getPc() && this.symbol.equals(frame.getSymbol()) && ((str = this.file) != null ? str.equals(frame.getFile()) : frame.getFile() == null) && this.offset == frame.getOffset() && this.importance == frame.getImportance()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame
|
||||
public String getFile() {
|
||||
return this.file;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame
|
||||
public int getImportance() {
|
||||
return this.importance;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame
|
||||
public long getOffset() {
|
||||
return this.offset;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame
|
||||
public long getPc() {
|
||||
return this.pc;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.Execution.Thread.Frame
|
||||
public String getSymbol() {
|
||||
return this.symbol;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
long j4 = this.pc;
|
||||
int hashCode = (((((int) (j4 ^ (j4 >>> 32))) ^ 1000003) * 1000003) ^ this.symbol.hashCode()) * 1000003;
|
||||
String str = this.file;
|
||||
int hashCode2 = (hashCode ^ (str == null ? 0 : str.hashCode())) * 1000003;
|
||||
long j5 = this.offset;
|
||||
return this.importance ^ ((hashCode2 ^ ((int) ((j5 >>> 32) ^ j5))) * 1000003);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("Frame{pc=");
|
||||
sb.append(this.pc);
|
||||
sb.append(", symbol=");
|
||||
sb.append(this.symbol);
|
||||
sb.append(", file=");
|
||||
sb.append(this.file);
|
||||
sb.append(", offset=");
|
||||
sb.append(this.offset);
|
||||
sb.append(", importance=");
|
||||
return a.m(sb, this.importance, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame(long j4, String str, String str2, long j5, int i) {
|
||||
this.pc = j4;
|
||||
this.symbol = str;
|
||||
this.file = str2;
|
||||
this.offset = j5;
|
||||
this.importance = i;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event_Application_ProcessDetails extends CrashlyticsReport.Session.Event.Application.ProcessDetails {
|
||||
private final boolean defaultProcess;
|
||||
private final int importance;
|
||||
private final int pid;
|
||||
private final String processName;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Application.ProcessDetails.Builder {
|
||||
private Boolean defaultProcess;
|
||||
private Integer importance;
|
||||
private Integer pid;
|
||||
private String processName;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.ProcessDetails.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.ProcessDetails build() {
|
||||
String str = this.processName == null ? " processName" : "";
|
||||
if (this.pid == null) {
|
||||
str = w.n(str, " pid");
|
||||
}
|
||||
if (this.importance == null) {
|
||||
str = w.n(str, " importance");
|
||||
}
|
||||
if (this.defaultProcess == null) {
|
||||
str = w.n(str, " defaultProcess");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event_Application_ProcessDetails(this.processName, this.pid.intValue(), this.importance.intValue(), this.defaultProcess.booleanValue());
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.ProcessDetails.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.ProcessDetails.Builder setDefaultProcess(boolean z3) {
|
||||
this.defaultProcess = Boolean.valueOf(z3);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.ProcessDetails.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.ProcessDetails.Builder setImportance(int i) {
|
||||
this.importance = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.ProcessDetails.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.ProcessDetails.Builder setPid(int i) {
|
||||
this.pid = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.ProcessDetails.Builder
|
||||
public CrashlyticsReport.Session.Event.Application.ProcessDetails.Builder setProcessName(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null processName");
|
||||
}
|
||||
this.processName = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event.Application.ProcessDetails) {
|
||||
CrashlyticsReport.Session.Event.Application.ProcessDetails processDetails = (CrashlyticsReport.Session.Event.Application.ProcessDetails) obj;
|
||||
if (this.processName.equals(processDetails.getProcessName()) && this.pid == processDetails.getPid() && this.importance == processDetails.getImportance() && this.defaultProcess == processDetails.isDefaultProcess()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.ProcessDetails
|
||||
public int getImportance() {
|
||||
return this.importance;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.ProcessDetails
|
||||
public int getPid() {
|
||||
return this.pid;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.ProcessDetails
|
||||
public String getProcessName() {
|
||||
return this.processName;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return (this.defaultProcess ? 1231 : 1237) ^ ((((((this.processName.hashCode() ^ 1000003) * 1000003) ^ this.pid) * 1000003) ^ this.importance) * 1000003);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Application.ProcessDetails
|
||||
public boolean isDefaultProcess() {
|
||||
return this.defaultProcess;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "ProcessDetails{processName=" + this.processName + ", pid=" + this.pid + ", importance=" + this.importance + ", defaultProcess=" + this.defaultProcess + "}";
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event_Application_ProcessDetails(String str, int i, int i4, boolean z3) {
|
||||
this.processName = str;
|
||||
this.pid = i;
|
||||
this.importance = i4;
|
||||
this.defaultProcess = z3;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,159 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event_Device extends CrashlyticsReport.Session.Event.Device {
|
||||
private final Double batteryLevel;
|
||||
private final int batteryVelocity;
|
||||
private final long diskUsed;
|
||||
private final int orientation;
|
||||
private final boolean proximityOn;
|
||||
private final long ramUsed;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Device.Builder {
|
||||
private Double batteryLevel;
|
||||
private Integer batteryVelocity;
|
||||
private Long diskUsed;
|
||||
private Integer orientation;
|
||||
private Boolean proximityOn;
|
||||
private Long ramUsed;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device.Builder
|
||||
public CrashlyticsReport.Session.Event.Device build() {
|
||||
String str = this.batteryVelocity == null ? " batteryVelocity" : "";
|
||||
if (this.proximityOn == null) {
|
||||
str = w.n(str, " proximityOn");
|
||||
}
|
||||
if (this.orientation == null) {
|
||||
str = w.n(str, " orientation");
|
||||
}
|
||||
if (this.ramUsed == null) {
|
||||
str = w.n(str, " ramUsed");
|
||||
}
|
||||
if (this.diskUsed == null) {
|
||||
str = w.n(str, " diskUsed");
|
||||
}
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event_Device(this.batteryLevel, this.batteryVelocity.intValue(), this.proximityOn.booleanValue(), this.orientation.intValue(), this.ramUsed.longValue(), this.diskUsed.longValue());
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device.Builder
|
||||
public CrashlyticsReport.Session.Event.Device.Builder setBatteryLevel(Double d4) {
|
||||
this.batteryLevel = d4;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device.Builder
|
||||
public CrashlyticsReport.Session.Event.Device.Builder setBatteryVelocity(int i) {
|
||||
this.batteryVelocity = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device.Builder
|
||||
public CrashlyticsReport.Session.Event.Device.Builder setDiskUsed(long j4) {
|
||||
this.diskUsed = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device.Builder
|
||||
public CrashlyticsReport.Session.Event.Device.Builder setOrientation(int i) {
|
||||
this.orientation = Integer.valueOf(i);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device.Builder
|
||||
public CrashlyticsReport.Session.Event.Device.Builder setProximityOn(boolean z3) {
|
||||
this.proximityOn = Boolean.valueOf(z3);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device.Builder
|
||||
public CrashlyticsReport.Session.Event.Device.Builder setRamUsed(long j4) {
|
||||
this.ramUsed = Long.valueOf(j4);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event.Device) {
|
||||
CrashlyticsReport.Session.Event.Device device = (CrashlyticsReport.Session.Event.Device) obj;
|
||||
Double d4 = this.batteryLevel;
|
||||
if (d4 != null ? d4.equals(device.getBatteryLevel()) : device.getBatteryLevel() == null) {
|
||||
if (this.batteryVelocity == device.getBatteryVelocity() && this.proximityOn == device.isProximityOn() && this.orientation == device.getOrientation() && this.ramUsed == device.getRamUsed() && this.diskUsed == device.getDiskUsed()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device
|
||||
public Double getBatteryLevel() {
|
||||
return this.batteryLevel;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device
|
||||
public int getBatteryVelocity() {
|
||||
return this.batteryVelocity;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device
|
||||
public long getDiskUsed() {
|
||||
return this.diskUsed;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device
|
||||
public int getOrientation() {
|
||||
return this.orientation;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device
|
||||
public long getRamUsed() {
|
||||
return this.ramUsed;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
Double d4 = this.batteryLevel;
|
||||
int hashCode = ((((((((d4 == null ? 0 : d4.hashCode()) ^ 1000003) * 1000003) ^ this.batteryVelocity) * 1000003) ^ (this.proximityOn ? 1231 : 1237)) * 1000003) ^ this.orientation) * 1000003;
|
||||
long j4 = this.ramUsed;
|
||||
long j5 = this.diskUsed;
|
||||
return ((int) (j5 ^ (j5 >>> 32))) ^ ((hashCode ^ ((int) (j4 ^ (j4 >>> 32)))) * 1000003);
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Device
|
||||
public boolean isProximityOn() {
|
||||
return this.proximityOn;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("Device{batteryLevel=");
|
||||
sb.append(this.batteryLevel);
|
||||
sb.append(", batteryVelocity=");
|
||||
sb.append(this.batteryVelocity);
|
||||
sb.append(", proximityOn=");
|
||||
sb.append(this.proximityOn);
|
||||
sb.append(", orientation=");
|
||||
sb.append(this.orientation);
|
||||
sb.append(", ramUsed=");
|
||||
sb.append(this.ramUsed);
|
||||
sb.append(", diskUsed=");
|
||||
return w.q(sb, this.diskUsed, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event_Device(Double d4, int i, boolean z3, int i4, long j4, long j5) {
|
||||
this.batteryLevel = d4;
|
||||
this.batteryVelocity = i;
|
||||
this.proximityOn = z3;
|
||||
this.orientation = i4;
|
||||
this.ramUsed = j4;
|
||||
this.diskUsed = j5;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.google.firebase.crashlytics.internal.model;
|
||||
|
||||
import C.w;
|
||||
import com.google.firebase.crashlytics.internal.model.CrashlyticsReport;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class AutoValue_CrashlyticsReport_Session_Event_Log extends CrashlyticsReport.Session.Event.Log {
|
||||
private final String content;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Builder extends CrashlyticsReport.Session.Event.Log.Builder {
|
||||
private String content;
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Log.Builder
|
||||
public CrashlyticsReport.Session.Event.Log build() {
|
||||
String str = this.content == null ? " content" : "";
|
||||
if (str.isEmpty()) {
|
||||
return new AutoValue_CrashlyticsReport_Session_Event_Log(this.content);
|
||||
}
|
||||
throw new IllegalStateException("Missing required properties:".concat(str));
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Log.Builder
|
||||
public CrashlyticsReport.Session.Event.Log.Builder setContent(String str) {
|
||||
if (str == null) {
|
||||
throw new NullPointerException("Null content");
|
||||
}
|
||||
this.content = str;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (obj == this) {
|
||||
return true;
|
||||
}
|
||||
if (obj instanceof CrashlyticsReport.Session.Event.Log) {
|
||||
return this.content.equals(((CrashlyticsReport.Session.Event.Log) obj).getContent());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // com.google.firebase.crashlytics.internal.model.CrashlyticsReport.Session.Event.Log
|
||||
public String getContent() {
|
||||
return this.content;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return this.content.hashCode() ^ 1000003;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return w.r(new StringBuilder("Log{content="), this.content, "}");
|
||||
}
|
||||
|
||||
private AutoValue_CrashlyticsReport_Session_Event_Log(String str) {
|
||||
this.content = str;
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user