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

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

Merge "Allow unsuspending critical packages" into pi-dev

parents f8dc8e37 4d74d50f
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -14178,7 +14178,7 @@ public class PackageManagerService extends IPackageManager.Stub
                        unactionedPackages.add(packageName);
                        continue;
                    }
                    if (!canSuspendPackageForUserLocked(packageName, userId)) {
                    if (suspended && !canSuspendPackageForUserLocked(packageName, userId)) {
                        unactionedPackages.add(packageName);
                        continue;
                    }
@@ -14333,44 +14333,44 @@ public class PackageManagerService extends IPackageManager.Stub
    @GuardedBy("mPackages")
    private boolean canSuspendPackageForUserLocked(String packageName, int userId) {
        if (isPackageDeviceAdmin(packageName, userId)) {
            Slog.w(TAG, "Cannot suspend/un-suspend package \"" + packageName
            Slog.w(TAG, "Cannot suspend package \"" + packageName
                    + "\": has an active device admin");
            return false;
        }
        String activeLauncherPackageName = getActiveLauncherPackageName(userId);
        if (packageName.equals(activeLauncherPackageName)) {
            Slog.w(TAG, "Cannot suspend/un-suspend package \"" + packageName
            Slog.w(TAG, "Cannot suspend package \"" + packageName
                    + "\": contains the active launcher");
            return false;
        }
        if (packageName.equals(mRequiredInstallerPackage)) {
            Slog.w(TAG, "Cannot suspend/un-suspend package \"" + packageName
            Slog.w(TAG, "Cannot suspend package \"" + packageName
                    + "\": required for package installation");
            return false;
        }
        if (packageName.equals(mRequiredUninstallerPackage)) {
            Slog.w(TAG, "Cannot suspend/un-suspend package \"" + packageName
            Slog.w(TAG, "Cannot suspend package \"" + packageName
                    + "\": required for package uninstallation");
            return false;
        }
        if (packageName.equals(mRequiredVerifierPackage)) {
            Slog.w(TAG, "Cannot suspend/un-suspend package \"" + packageName
            Slog.w(TAG, "Cannot suspend package \"" + packageName
                    + "\": required for package verification");
            return false;
        }
        if (packageName.equals(getDefaultDialerPackageName(userId))) {
            Slog.w(TAG, "Cannot suspend/un-suspend package \"" + packageName
            Slog.w(TAG, "Cannot suspend package \"" + packageName
                    + "\": is the default dialer");
            return false;
        }
        if (mProtectedPackages.isPackageStateProtected(userId, packageName)) {
            Slog.w(TAG, "Cannot suspend/un-suspend package \"" + packageName
            Slog.w(TAG, "Cannot suspend package \"" + packageName
                    + "\": protected package");
            return false;
        }