Merge "Expose setInstallFlagAllowTest testAPI" into sc-dev

This commit is contained in:
Kholoud Mohamed
2021-04-21 11:07:50 +00:00
committed by Android (Google) Code Review
3 changed files with 15 additions and 1 deletions

View File

@@ -17,6 +17,7 @@ package android {
field public static final String CONTROL_DEVICE_STATE = "android.permission.CONTROL_DEVICE_STATE"; field public static final String CONTROL_DEVICE_STATE = "android.permission.CONTROL_DEVICE_STATE";
field public static final String FORCE_DEVICE_POLICY_MANAGER_LOGS = "android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS"; field public static final String FORCE_DEVICE_POLICY_MANAGER_LOGS = "android.permission.FORCE_DEVICE_POLICY_MANAGER_LOGS";
field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES"; field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
field public static final String INSTALL_TEST_ONLY_PACKAGE = "android.permission.INSTALL_TEST_ONLY_PACKAGE";
field public static final String KEEP_UNINSTALLED_PACKAGES = "android.permission.KEEP_UNINSTALLED_PACKAGES"; field public static final String KEEP_UNINSTALLED_PACKAGES = "android.permission.KEEP_UNINSTALLED_PACKAGES";
field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS"; field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS"; field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
@@ -815,6 +816,7 @@ package android.content.pm {
} }
public static class PackageInstaller.SessionParams implements android.os.Parcelable { public static class PackageInstaller.SessionParams implements android.os.Parcelable {
method public void setInstallFlagAllowTest();
method public void setInstallerPackageName(@Nullable String); method public void setInstallerPackageName(@Nullable String);
} }

View File

@@ -1986,6 +1986,14 @@ public class PackageInstaller {
} }
} }
/**
* @hide
*/
@TestApi
public void setInstallFlagAllowTest() {
installFlags |= PackageManager.INSTALL_ALLOW_TEST;
}
/** /**
* Set the installer package for the app. * Set the installer package for the app.
* *

View File

@@ -584,12 +584,16 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
params.installFlags &= ~PackageManager.INSTALL_FROM_ADB; params.installFlags &= ~PackageManager.INSTALL_FROM_ADB;
params.installFlags &= ~PackageManager.INSTALL_ALL_USERS; params.installFlags &= ~PackageManager.INSTALL_ALL_USERS;
params.installFlags &= ~PackageManager.INSTALL_ALLOW_TEST;
params.installFlags |= PackageManager.INSTALL_REPLACE_EXISTING; params.installFlags |= PackageManager.INSTALL_REPLACE_EXISTING;
if ((params.installFlags & PackageManager.INSTALL_VIRTUAL_PRELOAD) != 0 if ((params.installFlags & PackageManager.INSTALL_VIRTUAL_PRELOAD) != 0
&& !mPm.isCallerVerifier(callingUid)) { && !mPm.isCallerVerifier(callingUid)) {
params.installFlags &= ~PackageManager.INSTALL_VIRTUAL_PRELOAD; params.installFlags &= ~PackageManager.INSTALL_VIRTUAL_PRELOAD;
} }
if (mContext.checkCallingOrSelfPermission(
Manifest.permission.INSTALL_TEST_ONLY_PACKAGE)
!= PackageManager.PERMISSION_GRANTED) {
params.installFlags &= ~PackageManager.INSTALL_ALLOW_TEST;
}
} }
String originatingPackageName = null; String originatingPackageName = null;