Loading services/core/java/com/android/server/pm/ScanPackageUtils.java +9 −0 Original line number Diff line number Diff line Loading @@ -170,6 +170,7 @@ final class ScanPackageUtils { } } boolean isPendingRestoreBefore = false; if (pkgSetting != null && oldSharedUserSetting != sharedUserSetting) { PackageManagerService.reportSettingsProblem(Log.WARN, "Package " + parsedPackage.getPackageName() + " shared user changed from " Loading @@ -178,6 +179,9 @@ final class ScanPackageUtils { + " to " + (sharedUserSetting != null ? sharedUserSetting.name : "<nothing>") + "; replacing with new"); // Preserve the value of isPendingRestore. We need to set it to the new PackageSetting // if the value is true to restore the app isPendingRestoreBefore = pkgSetting.isPendingRestore(); pkgSetting = null; } Loading Loading @@ -224,6 +228,11 @@ final class ScanPackageUtils { parsedPackage.getUsesStaticLibrariesVersions(), parsedPackage.getMimeGroups(), newDomainSetId, parsedPackage.getTargetSdkVersion(), parsedPackage.getRestrictUpdateHash()); // If isPendingRestore is true before, set the value true to the PackageSetting if (isPendingRestoreBefore) { pkgSetting.setPendingRestore(true); } } else { // make a deep copy to avoid modifying any existing system state. pkgSetting = new PackageSetting(pkgSetting); Loading Loading
services/core/java/com/android/server/pm/ScanPackageUtils.java +9 −0 Original line number Diff line number Diff line Loading @@ -170,6 +170,7 @@ final class ScanPackageUtils { } } boolean isPendingRestoreBefore = false; if (pkgSetting != null && oldSharedUserSetting != sharedUserSetting) { PackageManagerService.reportSettingsProblem(Log.WARN, "Package " + parsedPackage.getPackageName() + " shared user changed from " Loading @@ -178,6 +179,9 @@ final class ScanPackageUtils { + " to " + (sharedUserSetting != null ? sharedUserSetting.name : "<nothing>") + "; replacing with new"); // Preserve the value of isPendingRestore. We need to set it to the new PackageSetting // if the value is true to restore the app isPendingRestoreBefore = pkgSetting.isPendingRestore(); pkgSetting = null; } Loading Loading @@ -224,6 +228,11 @@ final class ScanPackageUtils { parsedPackage.getUsesStaticLibrariesVersions(), parsedPackage.getMimeGroups(), newDomainSetId, parsedPackage.getTargetSdkVersion(), parsedPackage.getRestrictUpdateHash()); // If isPendingRestore is true before, set the value true to the PackageSetting if (isPendingRestoreBefore) { pkgSetting.setPendingRestore(true); } } else { // make a deep copy to avoid modifying any existing system state. pkgSetting = new PackageSetting(pkgSetting); Loading