diff options
author | Alex Buynytskyy <alexbuy@google.com> | 2023-12-20 01:50:36 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-01-11 04:47:21 +0000 |
commit | 022aff702e6607ca21d2eb6947f126e8d59a61c5 (patch) | |
tree | 2bcfc43c07b755cea31c93053e95dd2fd009ae3d | |
parent | 954b2874b85b6cd0d6bb12cd677cdf22e5dbd77b (diff) | |
download | base-022aff702e6607ca21d2eb6947f126e8d59a61c5.tar.gz |
Disallow system apps to be installed/updated as instant.
Bug: 299441833
Test: atest android.content.pm.cts.PackageManagerTest
(cherry picked from commit 496e78a1951f2ed69290f03c5625c0f8382f4d31)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b978fdc30bf3dc8babb60ce88be47cf5b0622e84)
Merged-In: Idd89a6dd72f0e68259095f677185f0494391025c
Change-Id: Idd89a6dd72f0e68259095f677185f0494391025c
-rw-r--r-- | services/core/java/com/android/server/pm/InstallPackageHelper.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java index 622cb6609630..d0304b43215e 100644 --- a/services/core/java/com/android/server/pm/InstallPackageHelper.java +++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java @@ -668,6 +668,9 @@ final class InstallPackageHelper { if (pkgSetting == null || pkgSetting.getPkg() == null) { return Pair.create(PackageManager.INSTALL_FAILED_INVALID_URI, intentSender); } + if (instantApp && (pkgSetting.isSystem() || pkgSetting.isUpdatedSystemApp())) { + return Pair.create(PackageManager.INSTALL_FAILED_INVALID_URI, intentSender); + } if (!snapshot.canViewInstantApps(callingUid, UserHandle.getUserId(callingUid))) { // only allow the existing package to be used if it's installed as a full // application for at least one user |