Loading services/core/java/com/android/server/pm/PackageManagerService.java +16 −2 Original line number Diff line number Diff line Loading @@ -6539,7 +6539,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService if (dependentState == null) { continue; } if (!Objects.equals(dependentState.getUserStateOrDefault(userId) if (canSetOverlayPaths(dependentState.getUserStateOrDefault(userId) .getSharedLibraryOverlayPaths() .get(libName), newOverlayPaths)) { String dependentPackageName = dependent.getPackageName(); Loading @@ -6563,8 +6563,11 @@ public class PackageManagerService implements PackageSender, TestUtilityService } } if (canSetOverlayPaths(packageState.getUserStateOrDefault(userId).getOverlayPaths(), newOverlayPaths)) { outUpdatedPackageNames.add(targetPackageName); } } commitPackageStateMutation(null, mutator -> { for (int i = 0; i < numberOfPendingChanges; i++) { Loading Loading @@ -6614,6 +6617,17 @@ public class PackageManagerService implements PackageSender, TestUtilityService invalidatePackageInfoCache(); } private boolean canSetOverlayPaths(OverlayPaths origPaths, OverlayPaths newPaths) { if (Objects.equals(origPaths, newPaths)) { return false; } if ((origPaths == null && newPaths.isEmpty()) || (newPaths == null && origPaths.isEmpty())) { return false; } return true; } private void maybeUpdateSystemOverlays(String targetPackageName, OverlayPaths newOverlayPaths) { if (!mResolverReplaced) { if (targetPackageName.equals("android")) { Loading Loading
services/core/java/com/android/server/pm/PackageManagerService.java +16 −2 Original line number Diff line number Diff line Loading @@ -6539,7 +6539,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService if (dependentState == null) { continue; } if (!Objects.equals(dependentState.getUserStateOrDefault(userId) if (canSetOverlayPaths(dependentState.getUserStateOrDefault(userId) .getSharedLibraryOverlayPaths() .get(libName), newOverlayPaths)) { String dependentPackageName = dependent.getPackageName(); Loading @@ -6563,8 +6563,11 @@ public class PackageManagerService implements PackageSender, TestUtilityService } } if (canSetOverlayPaths(packageState.getUserStateOrDefault(userId).getOverlayPaths(), newOverlayPaths)) { outUpdatedPackageNames.add(targetPackageName); } } commitPackageStateMutation(null, mutator -> { for (int i = 0; i < numberOfPendingChanges; i++) { Loading Loading @@ -6614,6 +6617,17 @@ public class PackageManagerService implements PackageSender, TestUtilityService invalidatePackageInfoCache(); } private boolean canSetOverlayPaths(OverlayPaths origPaths, OverlayPaths newPaths) { if (Objects.equals(origPaths, newPaths)) { return false; } if ((origPaths == null && newPaths.isEmpty()) || (newPaths == null && origPaths.isEmpty())) { return false; } return true; } private void maybeUpdateSystemOverlays(String targetPackageName, OverlayPaths newOverlayPaths) { if (!mResolverReplaced) { if (targetPackageName.equals("android")) { Loading