- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
81 lines
3.4 KiB
Java
81 lines
3.4 KiB
Java
package androidx.work.impl.utils;
|
|
|
|
import android.annotation.SuppressLint;
|
|
import android.app.ActivityManager;
|
|
import android.content.Context;
|
|
import android.os.Build;
|
|
import android.os.Process;
|
|
import androidx.work.Configuration;
|
|
import androidx.work.Logger;
|
|
import androidx.work.WorkManager;
|
|
import java.lang.reflect.Method;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.jvm.internal.SourceDebugExtension;
|
|
|
|
@SourceDebugExtension({"SMAP\nProcessUtils.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ProcessUtils.kt\nandroidx/work/impl/utils/ProcessUtils\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,73:1\n1#2:74\n*E\n"})
|
|
/* loaded from: classes.dex */
|
|
public final class ProcessUtils {
|
|
private static final String TAG;
|
|
|
|
static {
|
|
String tagWithPrefix = Logger.tagWithPrefix("ProcessUtils");
|
|
Intrinsics.checkNotNullExpressionValue(tagWithPrefix, "tagWithPrefix(\"ProcessUtils\")");
|
|
TAG = tagWithPrefix;
|
|
}
|
|
|
|
public static final boolean isDefaultProcess(Context context, Configuration configuration) {
|
|
Intrinsics.checkNotNullParameter(context, "context");
|
|
Intrinsics.checkNotNullParameter(configuration, "configuration");
|
|
String processName = getProcessName(context);
|
|
String defaultProcessName = configuration.getDefaultProcessName();
|
|
if (defaultProcessName != null && defaultProcessName.length() != 0) {
|
|
return Intrinsics.areEqual(processName, configuration.getDefaultProcessName());
|
|
}
|
|
return Intrinsics.areEqual(processName, context.getApplicationInfo().processName);
|
|
}
|
|
|
|
@SuppressLint({"PrivateApi", "DiscouragedPrivateApi"})
|
|
private static final String getProcessName(Context context) {
|
|
Object obj;
|
|
if (Build.VERSION.SDK_INT >= 28) {
|
|
return Api28Impl.INSTANCE.getProcessName();
|
|
}
|
|
try {
|
|
Method declaredMethod = Class.forName("android.app.ActivityThread", false, WorkManager.class.getClassLoader()).getDeclaredMethod("currentProcessName", new Class[0]);
|
|
declaredMethod.setAccessible(true);
|
|
Object invoke = declaredMethod.invoke(null, new Object[0]);
|
|
Intrinsics.checkNotNull(invoke);
|
|
if (invoke instanceof String) {
|
|
return (String) invoke;
|
|
}
|
|
} catch (Throwable th) {
|
|
Logger.get().debug(TAG, "Unable to check ActivityThread for processName", th);
|
|
}
|
|
int myPid = Process.myPid();
|
|
Object systemService = context.getSystemService("activity");
|
|
Intrinsics.checkNotNull(systemService, "null cannot be cast to non-null type android.app.ActivityManager");
|
|
List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = ((ActivityManager) systemService).getRunningAppProcesses();
|
|
if (runningAppProcesses == null) {
|
|
return null;
|
|
}
|
|
Iterator<T> it = runningAppProcesses.iterator();
|
|
while (true) {
|
|
if (!it.hasNext()) {
|
|
obj = null;
|
|
break;
|
|
}
|
|
obj = it.next();
|
|
if (((ActivityManager.RunningAppProcessInfo) obj).pid == myPid) {
|
|
break;
|
|
}
|
|
}
|
|
ActivityManager.RunningAppProcessInfo runningAppProcessInfo = (ActivityManager.RunningAppProcessInfo) obj;
|
|
if (runningAppProcessInfo != null) {
|
|
return runningAppProcessInfo.processName;
|
|
}
|
|
return null;
|
|
}
|
|
}
|