Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d034163e authored by Peter Li's avatar Peter Li Committed by Android (Google) Code Review
Browse files

Merge "Disallow device admin package and protected packages to be reinstalled...

Merge "Disallow device admin package and protected packages to be reinstalled as instant." into udc-dev
parents a45d0d8b 1e0d36fa
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -660,6 +660,9 @@ final class InstallPackageHelper {
                    (installFlags & PackageManager.INSTALL_INSTANT_APP) != 0;
            final boolean fullApp =
                    (installFlags & PackageManager.INSTALL_FULL_APP) != 0;
            final boolean isPackageDeviceAdmin = mPm.isPackageDeviceAdmin(packageName, userId);
            final boolean isProtectedPackage = mPm.mProtectedPackages != null
                    && mPm.mProtectedPackages.isPackageStateProtected(userId, packageName);

            // writer
            synchronized (mPm.mLock) {
@@ -668,7 +671,8 @@ final class InstallPackageHelper {
                if (pkgSetting == null || pkgSetting.getPkg() == null) {
                    return Pair.create(PackageManager.INSTALL_FAILED_INVALID_URI, intentSender);
                }
                if (instantApp && (pkgSetting.isSystem() || pkgSetting.isUpdatedSystemApp())) {
                if (instantApp && (pkgSetting.isSystem() || pkgSetting.isUpdatedSystemApp()
                        || isPackageDeviceAdmin || isProtectedPackage)) {
                    return Pair.create(PackageManager.INSTALL_FAILED_INVALID_URI, intentSender);
                }
                if (!snapshot.canViewInstantApps(callingUid, UserHandle.getUserId(callingUid))) {