cleanup: usage of PACKAGE_NAME + PACKAGE_SHELL

pull/4127/head
RiggiG 12 months ago
parent 391d604712
commit dacdc2e487

@ -10,6 +10,7 @@ import android.system.Os;
public final class FakeContext extends ContextWrapper {
public static final String PACKAGE_NAME = Os.getuid() == 1000 ? "android" : "com.android.shell";
public static final String PACKAGE_SHELL = "com.android.shell";
public static final int ROOT_UID = 0; // Like android.os.Process.ROOT_UID, but before API 29
@ -25,29 +26,20 @@ public final class FakeContext extends ContextWrapper {
@Override
public String getPackageName() {
return getPackageNameStatic();
return PACKAGE_NAME;
}
@Override
public String getOpPackageName() {
return getPackageNameStatic();
return PACKAGE_NAME;
}
public static String getPackageNameStatic() {
if (Os.getuid() == 1000) {
return "android";
}
return PACKAGE_SHELL;
}
@TargetApi(Build.VERSION_CODES.S)
@Override
public AttributionSource getAttributionSource() {
AttributionSource.Builder builder = new AttributionSource.Builder(Process.SHELL_UID);
builder.setPackageName(PACKAGE_SHELL);
if (Os.getuid() == 1000) {
builder.setPackageName("android");
}
builder.setPackageName(PACKAGE_NAME);
return builder.build();
}

@ -128,7 +128,7 @@ public final class Workarounds {
Object appBindData = appBindDataConstructor.newInstance();
ApplicationInfo applicationInfo = new ApplicationInfo();
applicationInfo.packageName = FakeContext.getPackageNameStatic();
applicationInfo.packageName = FakeContext.PACKAGE_NAME;
// appBindData.appInfo = applicationInfo;
Field appInfoField = appBindDataClass.getDeclaredField("appInfo");

@ -113,7 +113,7 @@ public final class ActivityManager {
return (int) method.invoke(
/* this */ manager,
/* caller */ null,
/* callingPackage */ FakeContext.getPackageNameStatic(),
/* callingPackage */ FakeContext.PACKAGE_NAME,
/* callingFeatureId */ null,
/* intent */ intent,
/* resolvedType */ null,

@ -82,40 +82,40 @@ public final class ClipboardManager {
private static ClipData getPrimaryClip(Method method, int methodVersion, IInterface manager)
throws InvocationTargetException, IllegalAccessException {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
return (ClipData) method.invoke(manager, FakeContext.getPackageNameStatic());
return (ClipData) method.invoke(manager, FakeContext.PACKAGE_NAME);
}
switch (methodVersion) {
case 0:
return (ClipData) method.invoke(manager, FakeContext.getPackageNameStatic(), FakeContext.ROOT_UID);
return (ClipData) method.invoke(manager, FakeContext.PACKAGE_NAME, FakeContext.ROOT_UID);
case 1:
return (ClipData) method.invoke(manager, FakeContext.getPackageNameStatic(), null, FakeContext.ROOT_UID);
return (ClipData) method.invoke(manager, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID);
case 2:
return (ClipData) method.invoke(manager, FakeContext.getPackageNameStatic(), null, FakeContext.ROOT_UID, 0);
return (ClipData) method.invoke(manager, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID, 0);
case 3:
return (ClipData) method.invoke(manager, FakeContext.getPackageNameStatic(), FakeContext.ROOT_UID, null);
return (ClipData) method.invoke(manager, FakeContext.PACKAGE_NAME, FakeContext.ROOT_UID, null);
default:
// The last boolean parameter is "userOperate"
return (ClipData) method.invoke(manager, FakeContext.getPackageNameStatic(), null, FakeContext.ROOT_UID, 0, true);
return (ClipData) method.invoke(manager, FakeContext.FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID, 0, true);
}
}
private static void setPrimaryClip(Method method, int methodVersion, IInterface manager, ClipData clipData)
throws InvocationTargetException, IllegalAccessException {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
method.invoke(manager, clipData, FakeContext.getPackageNameStatic());
method.invoke(manager, clipData, FakeContext.PACKAGE_NAME);
return;
}
switch (methodVersion) {
case 0:
method.invoke(manager, clipData, FakeContext.getPackageNameStatic(), FakeContext.ROOT_UID);
method.invoke(manager, clipData, FakeContext.PACKAGE_NAME, FakeContext.ROOT_UID);
break;
case 1:
method.invoke(manager, clipData, FakeContext.getPackageNameStatic(), null, FakeContext.ROOT_UID);
method.invoke(manager, clipData, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID);
break;
default:
method.invoke(manager, clipData, FakeContext.getPackageNameStatic(), null, FakeContext.ROOT_UID, 0);
method.invoke(manager, clipData, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID, 0);
break;
}
}
@ -149,19 +149,19 @@ public final class ClipboardManager {
private static void addPrimaryClipChangedListener(Method method, int methodVersion, IInterface manager, IOnPrimaryClipChangedListener listener)
throws InvocationTargetException, IllegalAccessException {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
method.invoke(manager, listener, FakeContext.getPackageNameStatic());
method.invoke(manager, listener, FakeContext.PACKAGE_NAME);
return;
}
switch (methodVersion) {
case 0:
method.invoke(manager, listener, FakeContext.getPackageNameStatic(), FakeContext.ROOT_UID);
method.invoke(manager, listener, FakeContext.PACKAGE_NAME, FakeContext.ROOT_UID);
break;
case 1:
method.invoke(manager, listener, FakeContext.getPackageNameStatic(), null, FakeContext.ROOT_UID);
method.invoke(manager, listener, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID);
break;
default:
method.invoke(manager, listener, FakeContext.getPackageNameStatic(), null, FakeContext.ROOT_UID, 0);
method.invoke(manager, listener, FakeContext.PACKAGE_NAME, null, FakeContext.ROOT_UID, 0);
break;
}
}

@ -88,13 +88,13 @@ public final class ContentProvider implements Closeable {
} else {
switch (callMethodVersion) {
case 1:
args = new Object[]{FakeContext.getPackageNameStatic(), null, "settings", callMethod, arg, extras};
args = new Object[]{FakeContext.PACKAGE_NAME, null, "settings", callMethod, arg, extras};
break;
case 2:
args = new Object[]{FakeContext.getPackageNameStatic(), "settings", callMethod, arg, extras};
args = new Object[]{FakeContext.PACKAGE_NAME, "settings", callMethod, arg, extras};
break;
default:
args = new Object[]{FakeContext.getPackageNameStatic(), callMethod, arg, extras};
args = new Object[]{FakeContext.PACKAGE_NAME, callMethod, arg, extras};
break;
}
}

Loading…
Cancel
Save