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

Commit 3e0e8128 authored by John Wu's avatar John Wu Committed by Android Build Coastguard Worker
Browse files

Ignore sharedUserId when package already left shared UID

After a package has left shared UID, its non-shared UID state should be
preserved after the next scan (e.g. reboot or an APK upgrade), or else
the app would observe data loss.

Bug: 235460457
Test: atest CtsSharedUserMigrationTestCases
Change-Id: I692fe3ff59b43f2fc0ee53de0ce8a2f38cd29f02
(cherry picked from commit 84ba40de)
Merged-In: I692fe3ff59b43f2fc0ee53de0ce8a2f38cd29f02
parent f3097ad6
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -3701,8 +3701,9 @@ final class InstallPackageHelper {
                    parsedPackage.getPackageName());
                    parsedPackage.getPackageName());


            boolean ignoreSharedUserId = false;
            boolean ignoreSharedUserId = false;
            if (installedPkgSetting == null) {
            if (installedPkgSetting == null || !installedPkgSetting.hasSharedUser()) {
                // We can directly ignore sharedUserSetting for new installs
                // Directly ignore sharedUserSetting for new installs, or if the app has
                // already left shared UID
                ignoreSharedUserId = parsedPackage.isLeavingSharedUid();
                ignoreSharedUserId = parsedPackage.isLeavingSharedUid();
            }
            }