Initial import of ADIF API reverse-engineering toolkit

This commit is contained in:
2025-12-16 08:37:56 +01:00
commit 60388529c1
11486 changed files with 1086536 additions and 0 deletions

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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();
}
}
}

View File

@@ -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");
}
}

View File

@@ -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);
}
}

View File

@@ -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");
}
}