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

Commit 3e238386 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix a lot of OVERLAY_CHANGED broadcasts" into tm-qpr-dev

parents 4b73f2a5 4b5b23c3
Loading
Loading
Loading
Loading
+16 −2
Original line number Original line Diff line number Diff line
@@ -6546,7 +6546,7 @@ public class PackageManagerService implements PackageSender, TestUtilityService
                        if (dependentState == null) {
                        if (dependentState == null) {
                            continue;
                            continue;
                        }
                        }
                        if (!Objects.equals(dependentState.getUserStateOrDefault(userId)
                        if (canSetOverlayPaths(dependentState.getUserStateOrDefault(userId)
                                .getSharedLibraryOverlayPaths()
                                .getSharedLibraryOverlayPaths()
                                .get(libName), newOverlayPaths)) {
                                .get(libName), newOverlayPaths)) {
                            String dependentPackageName = dependent.getPackageName();
                            String dependentPackageName = dependent.getPackageName();
@@ -6562,7 +6562,10 @@ public class PackageManagerService implements PackageSender, TestUtilityService
                }
                }
            }
            }


            if (canSetOverlayPaths(packageState.getUserStateOrDefault(userId).getOverlayPaths(),
                    newOverlayPaths)) {
                outUpdatedPackageNames.add(targetPackageName);
                outUpdatedPackageNames.add(targetPackageName);
            }


            commitPackageStateMutation(null, mutator -> {
            commitPackageStateMutation(null, mutator -> {
                mutator.forPackage(targetPackageName)
                mutator.forPackage(targetPackageName)
@@ -6593,6 +6596,17 @@ public class PackageManagerService implements PackageSender, TestUtilityService
        return true;
        return true;
    }
    }


    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) {
    private void maybeUpdateSystemOverlays(String targetPackageName, OverlayPaths newOverlayPaths) {
        if (!mResolverReplaced) {
        if (!mResolverReplaced) {
            if (targetPackageName.equals("android")) {
            if (targetPackageName.equals("android")) {