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>
This commit is contained in:
2026-02-18 14:52:23 -08:00
parent cc210a65ea
commit f9d20bb3fc
26991 changed files with 2541449 additions and 0 deletions

View File

@@ -0,0 +1,270 @@
package com.facebook.ads.internal.util.activity;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import com.applovin.exoplayer2.common.base.Ascii;
import com.facebook.ads.internal.util.common.ANActivityLifecycleCallbacksListener;
import com.facebook.ads.redexgen.core.C0702Im;
import com.facebook.ads.redexgen.core.C0757Kw;
import com.facebook.ads.redexgen.core.C1138Zr;
import com.facebook.ads.redexgen.core.C1139Zs;
import com.facebook.ads.redexgen.core.C8E;
import com.facebook.ads.redexgen.core.C8F;
import com.facebook.ads.redexgen.core.ExecutorC0784Lx;
import com.facebook.ads.redexgen.core.InterfaceC0755Ks;
import com.facebook.ads.redexgen.core.RunnableC0754Kr;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.ConcurrentModificationException;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.WeakHashMap;
/* loaded from: assets/audience_network.dex */
public final class ActivityUtils implements Application.ActivityLifecycleCallbacks {
public static Context A01;
public static C1138Zr A02;
public static byte[] A03;
public static String[] A04 = {"92eOfmmmV4HUmtBKNwX5jODUm9snbisL", "83A6RHTc3uHHgwZu0l", "xT8NDmJO40EcDZzCFYpPknxtJdrIGRIs", "yd9OYuKBF31VEKohInrUKVptjNnIlgtF", "ffDhLNnwXMIpP", "gJJ", "YtTChd0N7kYfN", "CHt0mr4gyt"};
public static final C0757Kw A05;
public static final List<InterfaceC0755Ks> A06;
public static final List<Runnable> A07;
public static final Map<Activity, Integer> A08;
public final Class<? extends Activity> A00;
public static String A01(int i, int i2, int i3) {
byte[] copyOfRange = Arrays.copyOfRange(A03, i, i + i2);
for (int i4 = 0; i4 < copyOfRange.length; i4++) {
copyOfRange[i4] = (byte) ((copyOfRange[i4] - i3) - 121);
}
return new String(copyOfRange);
}
public static void A02() {
byte[] bArr = {Ascii.SO, 2, 35, 69, 86, 75, 88, 75, 86, 91, Ascii.FS, 2, -90, -102, -20, -33, -32, -76, -102, 6, 40, 57, 46, 59, 46, 57, 62, -27, 41, 46, 56, 40, 55, 42, 53, 38, 51, 40, 46, 42, 56, -13, 56, 103, 103, 58, 102, 101, 107, 92, 111, 107, Ascii.ETB, 96, 106, Ascii.ETB, 101, 102, 107, Ascii.ETB, 56, 103, 103, 99, 96, 90, 88, 107, 96, 102, 101, 37, -3, 41, 40, Ascii.GS, 47, 44, 44, Ascii.US, 40, 46, -38, 39, 41, Ascii.RS, 35, 32, 35, Ascii.GS, Ascii.ESC, 46, 35, 41, 40, -38, Ascii.US, 50, Ascii.GS, Ascii.US, 42, 46, 35, 41, 40, -38, 46, 34, 44, 41, 49, 40, Ascii.RS, 47, 44, 35, 40, 33, -38, 44, Ascii.US, 33, 35, 45, 46, Ascii.US, 44, -5, Ascii.GS, 46, 35, 48, 35, 46, 51, -3, Ascii.ESC, 38, 38, Ascii.FS, Ascii.ESC, Ascii.GS, 37, 45, 6, 35, 45, 46, Ascii.US, 40, Ascii.US, 44, 45, 74, 66, -2, 63, 65, 82, 71, 84, 71, 82, 87, -2, 81, 82, 63, 82, 67, Ascii.CAN, -2, Ascii.CAN, 41, 61, 59, 45, 44, -24, 41, 43, 60, 49, 62, 49, 60, 65, -24, 49, 59, -24, 54, 55, 60, -24, 58, 45, 59, 61, 53, 45, 44, -10, 44, 63, 77, Ascii.DC4, -6, Ascii.ETB, Ascii.EM, 42, Ascii.NAK, 43, 42, Ascii.US, 34, -35, -20, -27, 58, 57, Ascii.FF, 46, 63, 52, 65, 52, 63, 68, Ascii.SO, 61, 48, 44, 63, 48, 47};
if (A04[0].charAt(5) != 'm') {
throw new RuntimeException();
}
A04[7] = "OT1BI2x3SK";
A03 = bArr;
}
/* JADX WARN: Failed to parse debug info
java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 10
at jadx.plugins.input.dex.sections.debuginfo.DebugInfoParser.startVar(DebugInfoParser.java:203)
at jadx.plugins.input.dex.sections.debuginfo.DebugInfoParser.process(DebugInfoParser.java:135)
at jadx.plugins.input.dex.sections.DexCodeReader.getDebugInfo(DexCodeReader.java:122)
at jadx.core.dex.nodes.MethodNode.getDebugInfo(MethodNode.java:636)
at jadx.core.dex.visitors.debuginfo.DebugInfoAttachVisitor.visit(DebugInfoAttachVisitor.java:38)
*/
public static synchronized void A04(C1138Zr c1138Zr, Class<? extends Activity> cls) {
synchronized (ActivityUtils.class) {
A02 = c1138Zr;
A01 = c1138Zr.getApplicationContext();
if (A01 instanceof Application) {
ANActivityLifecycleCallbacksListener aNActivityLifecycleCallbacksListener = ANActivityLifecycleCallbacksListener.getANActivityLifecycleCallbacksListener();
if (aNActivityLifecycleCallbacksListener != null) {
Map<Activity, Integer> activityStateMap = aNActivityLifecycleCallbacksListener.getActivityStateMap();
synchronized (activityStateMap) {
try {
A08.putAll(activityStateMap);
} catch (ConcurrentModificationException unused) {
c1138Zr.A07().AA0(A01(208, 8, 61), C8E.A02, new C8F(A01(72, 80, 65)));
}
}
ANActivityLifecycleCallbacksListener.unregisterActivityCallbacks(c1138Zr);
}
((Application) A01).registerActivityLifecycleCallbacks(new ActivityUtils(cls));
} else {
c1138Zr.A07().AA0(A01(216, 3, 3), C8E.A0d, new C8F(A01(42, 30, 126)));
}
}
}
static {
A02();
A08 = Collections.synchronizedMap(new WeakHashMap());
A06 = Collections.synchronizedList(new ArrayList());
A07 = new ArrayList();
A05 = C0757Kw.A00();
}
public ActivityUtils(Class<? extends Activity> adsActivityClass) {
this.A00 = adsActivityClass;
}
/* JADX WARN: Removed duplicated region for block: B:19:0x003d A[Catch: all -> 0x00a0, TryCatch #0 {, blocks: (B:5:0x0004, B:6:0x000e, B:8:0x0014, B:11:0x0027, B:14:0x0031, B:19:0x003d, B:20:0x0041, B:24:0x0049), top: B:4:0x0004 }] */
/* JADX WARN: Removed duplicated region for block: B:27:0x009c A[DONT_GENERATE] */
/* JADX WARN: Removed duplicated region for block: B:30:0x009e A[DONT_GENERATE] */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public static synchronized android.app.Activity A00() {
/*
java.lang.Class<com.facebook.ads.internal.util.activity.ActivityUtils> r8 = com.facebook.ads.internal.util.activity.ActivityUtils.class
monitor-enter(r8)
r6 = 0
java.util.Map<android.app.Activity, java.lang.Integer> r0 = com.facebook.ads.internal.util.activity.ActivityUtils.A08 // Catch: java.lang.Throwable -> La0
java.util.Set r0 = r0.entrySet() // Catch: java.lang.Throwable -> La0
java.util.Iterator r3 = r0.iterator() // Catch: java.lang.Throwable -> La0
Le:
boolean r0 = r3.hasNext() // Catch: java.lang.Throwable -> La0
if (r0 == 0) goto L2d
java.lang.Object r2 = r3.next() // Catch: java.lang.Throwable -> La0
java.util.Map$Entry r2 = (java.util.Map.Entry) r2 // Catch: java.lang.Throwable -> La0
java.lang.Object r0 = r2.getValue() // Catch: java.lang.Throwable -> La0
java.lang.Integer r0 = (java.lang.Integer) r0 // Catch: java.lang.Throwable -> La0
int r1 = r0.intValue() // Catch: java.lang.Throwable -> La0
r0 = 3
if (r1 != r0) goto Le
java.lang.Object r6 = r2.getKey() // Catch: java.lang.Throwable -> La0
android.app.Activity r6 = (android.app.Activity) r6 // Catch: java.lang.Throwable -> La0
L2d:
r5 = 0
r7 = 1
if (r6 == 0) goto L3a
int r1 = android.os.Build.VERSION.SDK_INT // Catch: java.lang.Throwable -> La0
r0 = 28
if (r1 >= r0) goto L38
goto L3a
L38:
r1 = 0
goto L3b
L3a:
r1 = 1
L3b:
if (r1 == 0) goto L41
android.app.Activity r5 = com.facebook.ads.redexgen.core.AbstractC0752Kp.A00() // Catch: java.lang.Throwable -> La0
L41:
com.facebook.ads.redexgen.X.Zr r0 = com.facebook.ads.internal.util.activity.ActivityUtils.A02 // Catch: java.lang.Throwable -> La0
if (r0 == 0) goto L9a
if (r1 == 0) goto L9a
if (r6 == r5) goto L9a
r2 = 19
r1 = 23
r0 = 76
java.lang.String r1 = A01(r2, r1, r0) // Catch: java.lang.Throwable -> La0
java.lang.StringBuilder r4 = new java.lang.StringBuilder // Catch: java.lang.Throwable -> La0
r4.<init>() // Catch: java.lang.Throwable -> La0
r3 = 203(0xcb, float:2.84E-43)
r2 = 5
r0 = 97
java.lang.String r0 = A01(r3, r2, r0) // Catch: java.lang.Throwable -> La0
java.lang.StringBuilder r0 = r4.append(r0) // Catch: java.lang.Throwable -> La0
java.lang.StringBuilder r4 = r0.append(r6) // Catch: java.lang.Throwable -> La0
r3 = 12
r2 = 7
r0 = 1
java.lang.String r0 = A01(r3, r2, r0) // Catch: java.lang.Throwable -> La0
java.lang.StringBuilder r0 = r4.append(r0) // Catch: java.lang.Throwable -> La0
java.lang.StringBuilder r0 = r0.append(r5) // Catch: java.lang.Throwable -> La0
java.lang.String r0 = r0.toString() // Catch: java.lang.Throwable -> La0
com.facebook.ads.redexgen.X.8F r2 = new com.facebook.ads.redexgen.X.8F // Catch: java.lang.Throwable -> La0
r2.<init>(r1, r0) // Catch: java.lang.Throwable -> La0
r2.A05(r7) // Catch: java.lang.Throwable -> La0
com.facebook.ads.redexgen.X.Zr r0 = com.facebook.ads.internal.util.activity.ActivityUtils.A02 // Catch: java.lang.Throwable -> La0
com.facebook.ads.redexgen.X.8D r4 = r0.A07() // Catch: java.lang.Throwable -> La0
r3 = 208(0xd0, float:2.91E-43)
r1 = 8
r0 = 61
java.lang.String r0 = A01(r3, r1, r0) // Catch: java.lang.Throwable -> La0
int r1 = com.facebook.ads.redexgen.core.C8E.A03 // Catch: java.lang.Throwable -> La0
r4.AA0(r0, r1, r2) // Catch: java.lang.Throwable -> La0
L9a:
if (r6 == 0) goto L9e
monitor-exit(r8)
return r6
L9e:
monitor-exit(r8)
return r5
La0:
r0 = move-exception
monitor-exit(r8)
throw r0
*/
throw new UnsupportedOperationException("Method not decompiled: com.facebook.ads.internal.util.activity.ActivityUtils.A00():android.app.Activity");
}
public static void A03(C1139Zs c1139Zs) {
if (!C0702Im.A1f(c1139Zs) || Build.VERSION.SDK_INT >= 29) {
return;
}
RunnableC0754Kr runnableC0754Kr = new RunnableC0754Kr(c1139Zs);
synchronized (A07) {
A07.add(runnableC0754Kr);
}
ExecutorC0784Lx.A01.A01().postDelayed(runnableC0754Kr, 2000L);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public final void onActivityCreated(Activity activity, Bundle bundle) {
A08.put(activity, 1);
Iterator<InterfaceC0755Ks> it = A06.iterator();
boolean hasNext = it.hasNext();
String[] strArr = A04;
if (strArr[4].length() != strArr[6].length()) {
throw new RuntimeException();
}
String[] strArr2 = A04;
strArr2[3] = "6ucg7ZQRC52PgbYLp0IlsO8L9UBIqtAr";
strArr2[2] = "XfsAw5zLn3vJHYKMay1aCQiNLVOIwPXI";
if (hasNext) {
it.next();
throw new NullPointerException(A01(219, 17, 82));
}
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public final void onActivityDestroyed(Activity activity) {
A08.put(activity, 6);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public final void onActivityPaused(Activity activity) {
ArrayList arrayList;
Integer num = A08.get(activity);
if (num == null || num.intValue() != 3) {
C8F c8f = new C8F(A01(172, 31, 79), A01(152, 20, 101) + num + A01(0, 12, 105) + activity);
c8f.A05(0);
A02.A07().AA0(A01(208, 8, 61), C8E.A03, c8f);
}
A08.put(activity, 4);
if (activity.getClass() != this.A00) {
synchronized (A07) {
arrayList = new ArrayList(A07);
A07.clear();
}
Iterator it = arrayList.iterator();
while (it.hasNext()) {
ExecutorC0784Lx.A01.A01().removeCallbacks((Runnable) it.next());
}
}
A05.A01();
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public final void onActivityResumed(Activity activity) {
A08.put(activity, 3);
A05.A02();
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public final void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public final void onActivityStarted(Activity activity) {
A08.put(activity, 2);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public final void onActivityStopped(Activity activity) {
A08.put(activity, 5);
}
}

View File

@@ -0,0 +1,11 @@
package com.facebook.ads.internal.util.activity;
import android.content.Context;
import android.content.Intent;
/* loaded from: assets/audience_network.dex */
public final class AdActivityIntent extends Intent {
public AdActivityIntent(Context context, Class<?> cls) {
super(context, cls);
}
}

View File

@@ -0,0 +1,102 @@
package com.facebook.ads.internal.util.common;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Bundle;
import androidx.annotation.Keep;
import androidx.annotation.Nullable;
import java.util.Collections;
import java.util.Map;
import java.util.WeakHashMap;
@Keep
/* loaded from: classes2.dex */
public class ANActivityLifecycleCallbacksListener implements Application.ActivityLifecycleCallbacks {
public static final int ACTIVITY_CREATED = 1;
public static final int ACTIVITY_DESTROYED = 6;
public static final int ACTIVITY_PAUSED = 4;
public static final int ACTIVITY_RESUMED = 3;
public static final int ACTIVITY_STARTED = 2;
public static final int ACTIVITY_STOPPED = 5;
@Nullable
private static ANActivityLifecycleCallbacksListener sANActivityLifecycleCallbacksListener;
private static final Map<Activity, Integer> sActivityStateMap = Collections.synchronizedMap(new WeakHashMap());
public Map<Activity, Integer> getActivityStateMap() {
return sActivityStateMap;
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityCreated(Activity activity, Bundle bundle) {
sActivityStateMap.put(activity, 1);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityStarted(Activity activity) {
sActivityStateMap.put(activity, 2);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityResumed(Activity activity) {
sActivityStateMap.put(activity, 3);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityPaused(Activity activity) {
sActivityStateMap.put(activity, 4);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityStopped(Activity activity) {
sActivityStateMap.put(activity, 5);
}
@Override // android.app.Application.ActivityLifecycleCallbacks
public void onActivityDestroyed(Activity activity) {
sActivityStateMap.put(activity, 6);
}
public static void registerActivityCallbacks(Context context) {
Context applicationContext = context.getApplicationContext();
synchronized (ANActivityLifecycleCallbacksListener.class) {
try {
if ((applicationContext instanceof Application) && sANActivityLifecycleCallbacksListener == null) {
ANActivityLifecycleCallbacksListener aNActivityLifecycleCallbacksListener = new ANActivityLifecycleCallbacksListener();
sANActivityLifecycleCallbacksListener = aNActivityLifecycleCallbacksListener;
((Application) applicationContext).registerActivityLifecycleCallbacks(aNActivityLifecycleCallbacksListener);
}
} catch (Throwable th) {
throw th;
}
}
}
@Nullable
public static synchronized ANActivityLifecycleCallbacksListener getANActivityLifecycleCallbacksListener() {
ANActivityLifecycleCallbacksListener aNActivityLifecycleCallbacksListener;
synchronized (ANActivityLifecycleCallbacksListener.class) {
aNActivityLifecycleCallbacksListener = sANActivityLifecycleCallbacksListener;
}
return aNActivityLifecycleCallbacksListener;
}
public static void unregisterActivityCallbacks(Context context) {
Context applicationContext = context.getApplicationContext();
synchronized (ANActivityLifecycleCallbacksListener.class) {
try {
if (applicationContext instanceof Application) {
((Application) applicationContext).unregisterActivityLifecycleCallbacks(sANActivityLifecycleCallbacksListener);
sANActivityLifecycleCallbacksListener = null;
}
} catch (Throwable th) {
throw th;
}
}
}
}

View File

@@ -0,0 +1,39 @@
package com.facebook.ads.internal.util.common;
import android.content.pm.PackageInfo;
import android.content.pm.Signature;
import android.util.Base64;
import androidx.annotation.Nullable;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/* loaded from: classes2.dex */
public class FbValidationUtils {
public static final String DEBUG_FB_PACKAGE = "com.facebook.wakizashi";
public static final String FB4A_SHA256_HASH = "4/nh4M+Z0OVqBVumXiQbM5n3zqUkMmsM3W7BMn7Q/cE=";
public static final String FB_PACKAGE = "com.facebook.katana";
public static String getSigningCertificate(@Nullable PackageInfo packageInfo) {
if (packageInfo == null) {
return "";
}
try {
Signature[] signatureArr = packageInfo.signatures;
return signatureArr.length == 0 ? "" : calculateSHA256Fingerprint(signatureArr[0].toByteArray());
} catch (NoSuchAlgorithmException unused) {
return "";
}
}
private static String calculateSHA256Fingerprint(byte[] bArr) throws NoSuchAlgorithmException {
return Base64.encodeToString(MessageDigest.getInstance("SHA256").digest(bArr), 2);
}
public static boolean isFbSigningCertificateValid(String str) {
return isFbSigningCertificateValid(str, FB4A_SHA256_HASH);
}
public static boolean isFbSigningCertificateValid(String str, String str2) {
return str2.equals(str);
}
}

View File

@@ -0,0 +1,29 @@
package com.facebook.ads.internal.util.common;
import android.os.Looper;
import androidx.annotation.Keep;
import com.facebook.infer.annotation.Nullsafe;
@Keep
@Nullsafe(Nullsafe.Mode.LOCAL)
/* loaded from: classes2.dex */
public final class Preconditions {
public static <T> T checkNotNull(T t, String str) {
if (t != null) {
return t;
}
throw new IllegalArgumentException(str);
}
public static void checkIsTrue(boolean z, String str) {
if (!z) {
throw new IllegalArgumentException(str);
}
}
public static void checkIsOnMainThread() {
if (Looper.myLooper() != Looper.getMainLooper()) {
throw new RuntimeException("Must be called from the UiThread");
}
}
}

View File

@@ -0,0 +1,71 @@
package com.facebook.ads.internal.util.parcelable;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.Nullable;
import com.facebook.infer.annotation.Nullsafe;
@Nullsafe(Nullsafe.Mode.LOCAL)
/* loaded from: classes2.dex */
public class WrappedParcelable implements Parcelable {
public static final Parcelable.Creator<WrappedParcelable> CREATOR = new Parcelable.Creator<WrappedParcelable>() { // from class: com.facebook.ads.internal.util.parcelable.WrappedParcelable.1
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public WrappedParcelable createFromParcel(Parcel parcel) {
return new WrappedParcelable(parcel);
}
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public WrappedParcelable[] newArray(int i) {
return new WrappedParcelable[i];
}
};
@Nullable
private final byte[] mParcelableBytes;
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
public WrappedParcelable(Parcel parcel) {
this.mParcelableBytes = parcel.createByteArray();
}
public WrappedParcelable(Parcelable parcelable) {
this.mParcelableBytes = marshallParcelable(parcelable);
}
public WrappedParcelable(@Nullable byte[] bArr) {
this.mParcelableBytes = bArr;
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeByteArray(this.mParcelableBytes);
}
@Nullable
public Parcelable unwrap(ClassLoader classLoader) {
Parcel obtain = Parcel.obtain();
byte[] bArr = this.mParcelableBytes;
if (bArr == null) {
return null;
}
obtain.unmarshall(bArr, 0, bArr.length);
obtain.setDataPosition(0);
Parcelable readParcelable = obtain.readParcelable(classLoader);
obtain.recycle();
return readParcelable;
}
public static byte[] marshallParcelable(Parcelable parcelable) {
Parcel obtain = Parcel.obtain();
obtain.writeParcelable(parcelable, 0);
byte[] marshall = obtain.marshall();
obtain.recycle();
return marshall;
}
}

View File

@@ -0,0 +1,95 @@
package com.facebook.ads.internal.util.process;
import android.app.Application;
import android.content.Context;
import android.os.Build;
import android.text.TextUtils;
import androidx.annotation.AnyThread;
import androidx.annotation.Keep;
import androidx.annotation.Nullable;
import com.facebook.internal.security.CertificateUtil;
import java.lang.reflect.Field;
import java.util.concurrent.atomic.AtomicBoolean;
@AnyThread
@Keep
/* loaded from: classes2.dex */
public final class ProcessUtils {
@Nullable
private static String sProcessName;
private static final AtomicBoolean sRemoteRenderingProcess = new AtomicBoolean();
private ProcessUtils() {
}
public static void setRemoteRenderingProcess(boolean z) {
sRemoteRenderingProcess.set(z);
}
public static boolean isRemoteRenderingProcess() {
return sRemoteRenderingProcess.get();
}
@Nullable
public static String getProcessName(Context context) {
synchronized (ProcessUtils.class) {
try {
String str = sProcessName;
if (str != null) {
return str;
}
if (Build.VERSION.SDK_INT >= 28) {
return getProcessNameAPI28();
}
Context applicationContext = context.getApplicationContext();
if (!(applicationContext instanceof Application)) {
return null;
}
String processNameViaReflection = getProcessNameViaReflection((Application) applicationContext);
synchronized (ProcessUtils.class) {
sProcessName = processNameViaReflection;
}
return processNameViaReflection;
} catch (Throwable th) {
throw th;
}
}
}
@Nullable
private static String getProcessNameAPI28() {
try {
return (String) Application.class.getMethod("getProcessName", null).invoke(null, null);
} catch (Exception unused) {
return null;
}
}
@Nullable
private static String getProcessNameViaReflection(Application application) {
try {
Field field = application.getClass().getField("mLoadedApk");
field.setAccessible(true);
Object obj = field.get(application);
Field declaredField = obj.getClass().getDeclaredField("mActivityThread");
declaredField.setAccessible(true);
Object obj2 = declaredField.get(obj);
return (String) obj2.getClass().getDeclaredMethod("getProcessName", null).invoke(obj2, null);
} catch (Exception unused) {
return null;
}
}
public static String getProcessSpecificName(String str, Context context) {
String packageName = context.getPackageName();
String processName = getProcessName(context);
if (TextUtils.isEmpty(processName) || packageName.equals(processName)) {
return str;
}
if (processName.contains(CertificateUtil.DELIMITER)) {
processName = processName.split(CertificateUtil.DELIMITER)[1];
}
return str + "_" + processName;
}
}