diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 239853c857ccf..c48f6ea47e905 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -705,7 +705,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements } } - if (Build.IS_DEBUGGABLE || isCalledBySystemOrShell(callingUid)) { + if (Build.IS_DEBUGGABLE || isCalledBySystem(callingUid)) { params.installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE; } else { params.installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE; @@ -906,6 +906,10 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements return sessionId; } + private static boolean isCalledBySystem(int callingUid) { + return callingUid == Process.SYSTEM_UID || callingUid == Process.ROOT_UID; + } + private boolean isCalledBySystemOrShell(int callingUid) { return callingUid == Process.SYSTEM_UID || callingUid == Process.ROOT_UID || callingUid == Process.SHELL_UID;