Loading services/core/java/com/android/server/pm/PackageManagerService.java +8 −4 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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. Loading
services/core/java/com/android/server/pm/PackageManagerService.java +8 −4 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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.