Initial import of ADIF API reverse-engineering toolkit
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user