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

Commit 99e131d2 authored by Android Build Merger (Role)'s avatar Android Build Merger (Role) Committed by Android (Google) Code Review
Browse files

Merge "Merge "Cleans up sharedUser regardless of creation logic" into qt-dev...

Merge "Merge "Cleans up sharedUser regardless of creation logic" into qt-dev am: a1bf282e am: da658b4a am: a3a7738c am: a568458b"
parents 39461545 daa4d7d5
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -10641,14 +10641,15 @@ public class PackageManagerService extends IPackageManager.Stub
        final String realPkgName = request.realPkgName;
        final List<String> changedAbiCodePath = result.changedAbiCodePath;
        final PackageSetting pkgSetting;
        if (request.pkgSetting != null && request.pkgSetting.sharedUser != null
                && request.pkgSetting.sharedUser != result.pkgSetting.sharedUser) {
            // shared user changed, remove from old shared user
            request.pkgSetting.sharedUser.removePackage(request.pkgSetting);
        }
        if (result.existingSettingCopied) {
            pkgSetting = request.pkgSetting;
            pkgSetting.updateFrom(result.pkgSetting);
            pkg.mExtras = pkgSetting;
            if (pkgSetting.sharedUser != null
                    && pkgSetting.sharedUser.removePackage(result.pkgSetting)) {
                pkgSetting.sharedUser.addPackage(pkgSetting);
            }
        } else {
            pkgSetting = result.pkgSetting;
            if (originalPkgSetting != null) {
@@ -10658,6 +10659,9 @@ public class PackageManagerService extends IPackageManager.Stub
                mTransferedPackages.add(originalPkgSetting.name);
            }
        }
        if (pkgSetting.sharedUser != null) {
            pkgSetting.sharedUser.addPackage(pkgSetting);
        }
        // TODO(toddke): Consider a method specifically for modifying the Package object
        // post scan; or, moving this stuff out of the Package object since it has nothing
        // to do with the package on disk.