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

Commit 73c38eef authored by João Victor Mendes Freire's avatar João Victor Mendes Freire Committed by Android (Google) Code Review
Browse files

Merge "Clear identity for SupervisionManager check." into main

parents 5d0a24f8 1162a22f
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -192,8 +192,8 @@ public class ProtectedPackages {
    /** Query the packages with supervision related roles. */
    private boolean isSupervisionPackage(@UserIdInt int userId, String packageName) {
        SupervisionManager supervisionManager = mContext.getSystemService(SupervisionManager.class);
        if (supervisionManager == null || !supervisionManager.isSupervisionEnabled()) {
            Slog.w(TAG, "Supervision is not enabled.");
        if (supervisionManager == null) {
            Slog.w(TAG, "Failed to get SupervisionManager.");
            return false;
        }
        final RoleManager roleManager = mContext.getSystemService(RoleManager.class);
@@ -203,6 +203,10 @@ public class ProtectedPackages {
        }
        return Binder.withCleanCallingIdentity(
                () -> {
                    if (!supervisionManager.isSupervisionEnabledForUser(userId)) {
                        Slog.w(TAG, "Supervision is not enabled.");
                        return false;
                    }
                    List<String> systemSupervisionHolders =
                            roleManager.getRoleHoldersAsUser(
                                    RoleManager.ROLE_SYSTEM_SUPERVISION, UserHandle.of(userId));
+2 −2
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ open class ProtectedPackagesMockedTest {
            .thenReturn(listOf(SUPERVISION_PKG))
        whenever(rule.mocks().context.getSystemService(RoleManager::class.java))
            .thenReturn(roleManager)
        whenever(supervisionManager.isSupervisionEnabled()).thenReturn(true)
        whenever(supervisionManager.isSupervisionEnabledForUser(any())).thenReturn(true)
        whenever(rule.mocks().context.getSystemService(SupervisionManager::class.java))
            .thenReturn(supervisionManager)
        protectedPackages = ProtectedPackages(rule.mocks().context)
@@ -110,7 +110,7 @@ open class ProtectedPackagesMockedTest {
    @Throws(Exception::class)
    @EnableFlags(Flags.FLAG_PROTECT_SUPERVISION_PACKAGES)
    fun testIsPackageProtected_supervisionDisabled_flagEnabled_returnsFalse() {
        whenever(supervisionManager.isSupervisionEnabled()).thenReturn(false)
        whenever(supervisionManager.isSupervisionEnabledForUser(any())).thenReturn(false)

        val stateProtected =
            protectedPackages.isPackageStateProtected(TEST_USER_ID, SUPERVISION_PKG)