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

am: a1bf282e43

Change-Id: Ic721f31332bbcbb9d64e501b3b94b6b457c8af51
This commit is contained in:
Patrick Baumann
2019-08-08 09:56:08 -07:00
committed by android-build-merger

View File

@@ -320,7 +320,6 @@ import com.android.server.pm.permission.PermissionManagerServiceInternal;
import com.android.server.pm.permission.PermissionManagerServiceInternal.PermissionCallback; import com.android.server.pm.permission.PermissionManagerServiceInternal.PermissionCallback;
import com.android.server.pm.permission.PermissionsState; import com.android.server.pm.permission.PermissionsState;
import com.android.server.policy.PermissionPolicyInternal; import com.android.server.policy.PermissionPolicyInternal;
import com.android.server.policy.PermissionPolicyInternal.OnInitializedCallback;
import com.android.server.security.VerityUtils; import com.android.server.security.VerityUtils;
import com.android.server.storage.DeviceStorageMonitorInternal; import com.android.server.storage.DeviceStorageMonitorInternal;
import com.android.server.wm.ActivityTaskManagerInternal; import com.android.server.wm.ActivityTaskManagerInternal;
@@ -11033,14 +11032,15 @@ public class PackageManagerService extends IPackageManager.Stub
final String realPkgName = request.realPkgName; final String realPkgName = request.realPkgName;
final List<String> changedAbiCodePath = result.changedAbiCodePath; final List<String> changedAbiCodePath = result.changedAbiCodePath;
final PackageSetting pkgSetting; 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) { if (result.existingSettingCopied) {
pkgSetting = request.pkgSetting; pkgSetting = request.pkgSetting;
pkgSetting.updateFrom(result.pkgSetting); pkgSetting.updateFrom(result.pkgSetting);
pkg.mExtras = pkgSetting; pkg.mExtras = pkgSetting;
if (pkgSetting.sharedUser != null
&& pkgSetting.sharedUser.removePackage(result.pkgSetting)) {
pkgSetting.sharedUser.addPackage(pkgSetting);
}
} else { } else {
pkgSetting = result.pkgSetting; pkgSetting = result.pkgSetting;
if (originalPkgSetting != null) { if (originalPkgSetting != null) {
@@ -11050,6 +11050,9 @@ public class PackageManagerService extends IPackageManager.Stub
mTransferedPackages.add(originalPkgSetting.name); mTransferedPackages.add(originalPkgSetting.name);
} }
} }
if (pkgSetting.sharedUser != null) {
pkgSetting.sharedUser.addPackage(pkgSetting);
}
// TODO(toddke): Consider a method specifically for modifying the Package object // 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 // post scan; or, moving this stuff out of the Package object since it has nothing
// to do with the package on disk. // to do with the package on disk.