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

Commit e149f80b authored by Alex Buynytskyy's avatar Alex Buynytskyy
Browse files

CLI API to enable testing of QAS.

Bug: 269127435
Test: atest PackageManagerTest
Change-Id: I3a9fd1cfcdd2aa9bba90d15ab446abc91795a3d7
parent 2c00da4e
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -304,6 +304,8 @@ interface IPackageManager {


    boolean isPackageSuspendedForUser(String packageName, int userId);
    boolean isPackageSuspendedForUser(String packageName, int userId);


    boolean isPackageQuarantinedForUser(String packageName, int userId);

    Bundle getSuspendedPackageAppExtras(String packageName, int userId);
    Bundle getSuspendedPackageAppExtras(String packageName, int userId);


    /**
    /**
+2 −0
Original line number Original line Diff line number Diff line
@@ -487,6 +487,8 @@ public interface Computer extends PackageDataSnapshot {


    boolean isPackageSuspendedForUser(@NonNull String packageName, @UserIdInt int userId);
    boolean isPackageSuspendedForUser(@NonNull String packageName, @UserIdInt int userId);


    boolean isPackageQuarantinedForUser(@NonNull String packageName, @UserIdInt int userId);

    boolean isSuspendingAnyPackages(@NonNull String suspendingPackage, @UserIdInt int userId);
    boolean isSuspendingAnyPackages(@NonNull String suspendingPackage, @UserIdInt int userId);


    @NonNull
    @NonNull
+13 −3
Original line number Original line Diff line number Diff line
@@ -4925,8 +4925,8 @@ public class ComputerEngine implements Computer {
        }
        }
    }
    }


    @Override
    private PackageUserStateInternal getUserStageOrDefaultForUser(@NonNull String packageName,
    public boolean isPackageSuspendedForUser(@NonNull String packageName, int userId) {
            int userId) {
        final int callingUid = Binder.getCallingUid();
        final int callingUid = Binder.getCallingUid();
        enforceCrossUserPermission(callingUid, userId, true /* requireFullPermission */,
        enforceCrossUserPermission(callingUid, userId, true /* requireFullPermission */,
                false /* checkShell */, "isPackageSuspendedForUser for user " + userId);
                false /* checkShell */, "isPackageSuspendedForUser for user " + userId);
@@ -4934,7 +4934,17 @@ public class ComputerEngine implements Computer {
        if (ps == null || shouldFilterApplicationIncludingUninstalled(ps, callingUid, userId)) {
        if (ps == null || shouldFilterApplicationIncludingUninstalled(ps, callingUid, userId)) {
            throw new IllegalArgumentException("Unknown target package: " + packageName);
            throw new IllegalArgumentException("Unknown target package: " + packageName);
        }
        }
        return ps.getUserStateOrDefault(userId).isSuspended();
        return ps.getUserStateOrDefault(userId);
    }

    @Override
    public boolean isPackageSuspendedForUser(@NonNull String packageName, int userId) {
        return getUserStageOrDefaultForUser(packageName, userId).isSuspended();
    }

    @Override
    public boolean isPackageQuarantinedForUser(@NonNull String packageName, @UserIdInt int userId) {
        return getUserStageOrDefaultForUser(packageName, userId).isQuarantined();
    }
    }


    @Override
    @Override
+7 −0
Original line number Original line Diff line number Diff line
@@ -953,6 +953,13 @@ public abstract class IPackageManagerBase extends IPackageManager.Stub {
        return snapshot().isPackageSuspendedForUser(packageName, userId);
        return snapshot().isPackageSuspendedForUser(packageName, userId);
    }
    }


    @Override
    @Deprecated
    public final boolean isPackageQuarantinedForUser(@NonNull String packageName,
            @UserIdInt int userId) {
        return snapshot().isPackageQuarantinedForUser(packageName, userId);
    }

    @Override
    @Override
    @Deprecated
    @Deprecated
    public final boolean isSafeMode() {
    public final boolean isSafeMode() {
+1 −3
Original line number Original line Diff line number Diff line
@@ -755,9 +755,7 @@ abstract class PackageManagerInternalBase extends PackageManagerInternal {
    @Override
    @Override
    public boolean isPackageQuarantined(@NonNull String packageName,
    public boolean isPackageQuarantined(@NonNull String packageName,
            @UserIdInt int userId) {
            @UserIdInt int userId) {
        final PackageStateInternal packageState = getPackageStateInternal(packageName);
        return snapshot().isPackageQuarantinedForUser(packageName, userId);
        return (packageState == null) ? false
                : packageState.getUserStateOrDefault(userId).isQuarantined();
    }
    }


    @NonNull
    @NonNull
Loading