Loading services/core/java/com/android/server/pm/PackageInstallerService.java +7 −1 Original line number Diff line number Diff line Loading @@ -498,10 +498,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements } } if (callingUid == Process.SYSTEM_UID) { if (Build.IS_DEBUGGABLE || isDowngradeAllowedForCaller(callingUid)) { params.installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE; } else { params.installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE; params.installFlags &= ~PackageManager.INSTALL_REQUEST_DOWNGRADE; } boolean isApex = (params.installFlags & PackageManager.INSTALL_APEX) != 0; Loading Loading @@ -621,6 +622,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements return sessionId; } private boolean isDowngradeAllowedForCaller(int callingUid) { return callingUid == Process.SYSTEM_UID || callingUid == Process.ROOT_UID || callingUid == Process.SHELL_UID; } @Override public void updateSessionAppIcon(int sessionId, Bitmap appIcon) { synchronized (mSessions) { Loading Loading
services/core/java/com/android/server/pm/PackageInstallerService.java +7 −1 Original line number Diff line number Diff line Loading @@ -498,10 +498,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements } } if (callingUid == Process.SYSTEM_UID) { if (Build.IS_DEBUGGABLE || isDowngradeAllowedForCaller(callingUid)) { params.installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE; } else { params.installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE; params.installFlags &= ~PackageManager.INSTALL_REQUEST_DOWNGRADE; } boolean isApex = (params.installFlags & PackageManager.INSTALL_APEX) != 0; Loading Loading @@ -621,6 +622,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements return sessionId; } private boolean isDowngradeAllowedForCaller(int callingUid) { return callingUid == Process.SYSTEM_UID || callingUid == Process.ROOT_UID || callingUid == Process.SHELL_UID; } @Override public void updateSessionAppIcon(int sessionId, Bitmap appIcon) { synchronized (mSessions) { Loading