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

Commit 19e1b160 authored by Patrick Baumann's avatar Patrick Baumann Committed by android-build-merger
Browse files

Merge "Cleans up sharedUser regardless of creation logic" into qt-dev am: a1bf282e am: da658b4a

am: 0796e013

Change-Id: I9517d1c30546329aac8ffd12b23918591a822511
parents a9ba0f30 0796e013
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -319,7 +319,6 @@ import com.android.server.pm.permission.PermissionManagerServiceInternal;
import com.android.server.pm.permission.PermissionManagerServiceInternal.PermissionCallback;
import com.android.server.pm.permission.PermissionsState;
import com.android.server.policy.PermissionPolicyInternal;
import com.android.server.policy.PermissionPolicyInternal.OnInitializedCallback;
import com.android.server.security.VerityUtils;
import com.android.server.storage.DeviceStorageMonitorInternal;
import com.android.server.wm.ActivityTaskManagerInternal;
@@ -11034,14 +11033,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) {
@@ -11051,6 +11051,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.