Files
rr3-apk/decompiled-community/sources/androidx/core/app/NavUtils.java
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- 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
2026-02-18 15:48:36 -08:00

119 lines
4.8 KiB
Java

package androidx.core.app;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.ReplaceWith;
/* loaded from: classes.dex */
public final class NavUtils {
public static final String PARENT_ACTIVITY = "android.support.PARENT_ACTIVITY";
private static final String TAG = "NavUtils";
@ReplaceWith(expression = "sourceActivity.shouldUpRecreateTask(targetIntent)")
@Deprecated
public static boolean shouldUpRecreateTask(@NonNull Activity activity, @NonNull Intent intent) {
return activity.shouldUpRecreateTask(intent);
}
public static void navigateUpFromSameTask(@NonNull Activity activity) {
Intent parentActivityIntent = getParentActivityIntent(activity);
if (parentActivityIntent == null) {
throw new IllegalArgumentException("Activity " + activity.getClass().getSimpleName() + " does not have a parent activity name specified. (Did you forget to add the android.support.PARENT_ACTIVITY <meta-data> element in your manifest?)");
}
navigateUpTo(activity, parentActivityIntent);
}
@ReplaceWith(expression = "sourceActivity.navigateUpTo(upIntent)")
@Deprecated
public static void navigateUpTo(@NonNull Activity activity, @NonNull Intent intent) {
activity.navigateUpTo(intent);
}
@Nullable
public static Intent getParentActivityIntent(@NonNull Activity activity) {
Intent parentActivityIntent = activity.getParentActivityIntent();
if (parentActivityIntent != null) {
return parentActivityIntent;
}
String parentActivityName = getParentActivityName(activity);
if (parentActivityName == null) {
return null;
}
ComponentName componentName = new ComponentName(activity, parentActivityName);
try {
if (getParentActivityName(activity, componentName) == null) {
return Intent.makeMainActivity(componentName);
}
return new Intent().setComponent(componentName);
} catch (PackageManager.NameNotFoundException unused) {
Log.e(TAG, "getParentActivityIntent: bad parentActivityName '" + parentActivityName + "' in manifest");
return null;
}
}
@Nullable
public static Intent getParentActivityIntent(@NonNull Context context, @NonNull Class<?> cls) throws PackageManager.NameNotFoundException {
String parentActivityName = getParentActivityName(context, new ComponentName(context, cls));
if (parentActivityName == null) {
return null;
}
ComponentName componentName = new ComponentName(context, parentActivityName);
if (getParentActivityName(context, componentName) == null) {
return Intent.makeMainActivity(componentName);
}
return new Intent().setComponent(componentName);
}
@Nullable
public static Intent getParentActivityIntent(@NonNull Context context, @NonNull ComponentName componentName) throws PackageManager.NameNotFoundException {
String parentActivityName = getParentActivityName(context, componentName);
if (parentActivityName == null) {
return null;
}
ComponentName componentName2 = new ComponentName(componentName.getPackageName(), parentActivityName);
if (getParentActivityName(context, componentName2) == null) {
return Intent.makeMainActivity(componentName2);
}
return new Intent().setComponent(componentName2);
}
@Nullable
public static String getParentActivityName(@NonNull Activity activity) {
try {
return getParentActivityName(activity, activity.getComponentName());
} catch (PackageManager.NameNotFoundException e) {
throw new IllegalArgumentException(e);
}
}
@Nullable
public static String getParentActivityName(@NonNull Context context, @NonNull ComponentName componentName) throws PackageManager.NameNotFoundException {
String string;
ActivityInfo activityInfo = context.getPackageManager().getActivityInfo(componentName, Build.VERSION.SDK_INT >= 29 ? 269222528 : 787072);
String str = activityInfo.parentActivityName;
if (str != null) {
return str;
}
Bundle bundle = activityInfo.metaData;
if (bundle == null || (string = bundle.getString(PARENT_ACTIVITY)) == null) {
return null;
}
if (string.charAt(0) != '.') {
return string;
}
return context.getPackageName() + string;
}
private NavUtils() {
}
}