Files
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

174 lines
8.4 KiB
Java

package com.facebook.appevents.internal;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import androidx.work.PeriodicWorkRequest;
import com.facebook.FacebookSdk;
import com.facebook.LoggingBehavior;
import com.facebook.appevents.AppEventsConstants;
import com.facebook.appevents.AppEventsLogger;
import com.facebook.appevents.InternalAppEventsLogger;
import com.facebook.internal.Logger;
import com.facebook.internal.instrument.crashshield.CrashShieldHandler;
import com.facebook.internal.security.CertificateUtil;
import com.vungle.ads.internal.signals.SignalManager;
import java.util.Arrays;
import java.util.Locale;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.StringCompanionObject;
/* loaded from: classes2.dex */
public final class SessionLogger {
private static final String PACKAGE_CHECKSUM = "PCKGCHKSUM";
public static final SessionLogger INSTANCE = new SessionLogger();
private static final String TAG = SessionLogger.class.getCanonicalName();
private static final long[] INACTIVE_SECONDS_QUANTA = {PeriodicWorkRequest.MIN_PERIODIC_FLEX_MILLIS, PeriodicWorkRequest.MIN_PERIODIC_INTERVAL_MILLIS, 1800000, 3600000, 21600000, 43200000, SignalManager.TWENTY_FOUR_HOURS_MILLIS, 172800000, 259200000, 604800000, 1209600000, 1814400000, 2419200000L, 5184000000L, 7776000000L, 10368000000L, 12960000000L, 15552000000L, 31536000000L};
private SessionLogger() {
}
public static final void logActivateApp(String activityName, SourceApplicationInfo sourceApplicationInfo, String str, Context context) {
String sourceApplicationInfo2;
if (CrashShieldHandler.isObjectCrashing(SessionLogger.class)) {
return;
}
try {
Intrinsics.checkNotNullParameter(activityName, "activityName");
Intrinsics.checkNotNullParameter(context, "context");
String str2 = "Unclassified";
if (sourceApplicationInfo != null && (sourceApplicationInfo2 = sourceApplicationInfo.toString()) != null) {
str2 = sourceApplicationInfo2;
}
Bundle bundle = new Bundle();
bundle.putString(AppEventsConstants.EVENT_PARAM_SOURCE_APPLICATION, str2);
bundle.putString(AppEventsConstants.EVENT_PARAM_PACKAGE_FP, INSTANCE.computePackageChecksum(context));
bundle.putString(AppEventsConstants.EVENT_PARAM_APP_CERT_HASH, CertificateUtil.getCertificateHash(context));
InternalAppEventsLogger.Companion companion = InternalAppEventsLogger.Companion;
InternalAppEventsLogger createInstance = companion.createInstance(activityName, str, null);
createInstance.logEvent(AppEventsConstants.EVENT_NAME_ACTIVATED_APP, bundle);
if (companion.getFlushBehavior() != AppEventsLogger.FlushBehavior.EXPLICIT_ONLY) {
createInstance.flush();
}
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, SessionLogger.class);
}
}
public static final void logDeactivateApp(String activityName, SessionInfo sessionInfo, String str) {
long longValue;
String sourceApplicationInfo;
if (CrashShieldHandler.isObjectCrashing(SessionLogger.class)) {
return;
}
try {
Intrinsics.checkNotNullParameter(activityName, "activityName");
if (sessionInfo == null) {
return;
}
Long diskRestoreTime = sessionInfo.getDiskRestoreTime();
long j = 0;
if (diskRestoreTime == null) {
Long sessionLastEventTime = sessionInfo.getSessionLastEventTime();
longValue = 0 - (sessionLastEventTime == null ? 0L : sessionLastEventTime.longValue());
} else {
longValue = diskRestoreTime.longValue();
}
if (longValue < 0) {
INSTANCE.logClockSkewEvent();
longValue = 0;
}
long sessionLength = sessionInfo.getSessionLength();
if (sessionLength < 0) {
INSTANCE.logClockSkewEvent();
sessionLength = 0;
}
Bundle bundle = new Bundle();
bundle.putInt(AppEventsConstants.EVENT_NAME_SESSION_INTERRUPTIONS, sessionInfo.getInterruptionCount());
StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE;
String format = String.format(Locale.ROOT, "session_quanta_%d", Arrays.copyOf(new Object[]{Integer.valueOf(getQuantaIndex(longValue))}, 1));
Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(locale, format, *args)");
bundle.putString(AppEventsConstants.EVENT_NAME_TIME_BETWEEN_SESSIONS, format);
SourceApplicationInfo sourceApplicationInfo2 = sessionInfo.getSourceApplicationInfo();
String str2 = "Unclassified";
if (sourceApplicationInfo2 != null && (sourceApplicationInfo = sourceApplicationInfo2.toString()) != null) {
str2 = sourceApplicationInfo;
}
bundle.putString(AppEventsConstants.EVENT_PARAM_SOURCE_APPLICATION, str2);
Long sessionLastEventTime2 = sessionInfo.getSessionLastEventTime();
if (sessionLastEventTime2 != null) {
j = sessionLastEventTime2.longValue();
}
bundle.putLong(Constants.LOG_TIME_APP_EVENT_KEY, j / 1000);
InternalAppEventsLogger.Companion.createInstance(activityName, str, null).logEvent(AppEventsConstants.EVENT_NAME_DEACTIVATED_APP, sessionLength / 1000, bundle);
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, SessionLogger.class);
}
}
private final void logClockSkewEvent() {
if (CrashShieldHandler.isObjectCrashing(this)) {
return;
}
try {
Logger.Companion companion = Logger.Companion;
LoggingBehavior loggingBehavior = LoggingBehavior.APP_EVENTS;
String str = TAG;
Intrinsics.checkNotNull(str);
companion.log(loggingBehavior, str, "Clock skew detected");
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, this);
}
}
public static final int getQuantaIndex(long j) {
if (CrashShieldHandler.isObjectCrashing(SessionLogger.class)) {
return 0;
}
int i = 0;
while (true) {
try {
long[] jArr = INACTIVE_SECONDS_QUANTA;
if (i >= jArr.length || jArr[i] >= j) {
break;
}
i++;
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, SessionLogger.class);
return 0;
}
}
return i;
}
private final String computePackageChecksum(Context context) {
if (CrashShieldHandler.isObjectCrashing(this)) {
return null;
}
try {
PackageManager packageManager = context.getPackageManager();
String stringPlus = Intrinsics.stringPlus("PCKGCHKSUM;", packageManager.getPackageInfo(context.getPackageName(), 0).versionName);
SharedPreferences sharedPreferences = context.getSharedPreferences(FacebookSdk.APP_EVENT_PREFERENCES, 0);
String string = sharedPreferences.getString(stringPlus, null);
if (string != null && string.length() == 32) {
return string;
}
String computeChecksumWithPackageManager = HashUtils.computeChecksumWithPackageManager(context, null);
if (computeChecksumWithPackageManager == null) {
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(context.getPackageName(), 0);
Intrinsics.checkNotNullExpressionValue(applicationInfo, "pm.getApplicationInfo(context.packageName, 0)");
computeChecksumWithPackageManager = HashUtils.computeChecksum(applicationInfo.sourceDir);
}
sharedPreferences.edit().putString(stringPlus, computeChecksumWithPackageManager).apply();
return computeChecksumWithPackageManager;
} catch (Exception unused) {
return null;
} catch (Throwable th) {
CrashShieldHandler.handleThrowable(th, this);
return null;
}
}
}