diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageInstallerService.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 91b2ea1853fa..08cdd8f05292 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -589,12 +589,12 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements } } - if (mBypassNextStagedInstallerCheck) { - mBypassNextStagedInstallerCheck = false; - } else if (params.isStaged - && !isCalledBySystemOrShell(callingUid) - && !isWhitelistedStagedInstaller(requestedInstallerPackageName)) { - throw new SecurityException("Installer not allowed to commit staged install"); + if (params.isStaged && !isCalledBySystemOrShell(callingUid)) { + if (mBypassNextStagedInstallerCheck) { + mBypassNextStagedInstallerCheck = false; + } else if (!isStagedInstallerAllowed(requestedInstallerPackageName)) { + throw new SecurityException("Installer not allowed to commit staged install"); + } } if (!params.isMultiPackage) { @@ -725,7 +725,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements || callingUid == Process.SHELL_UID; } - private boolean isWhitelistedStagedInstaller(String installerName) { + private boolean isStagedInstallerAllowed(String installerName) { return SystemConfig.getInstance().getWhitelistedStagedInstallers().contains(installerName); } |