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

Commit e3dcd019 authored by Chaohui Wang's avatar Chaohui Wang Committed by Android (Google) Code Review
Browse files

Merge "Flag EnforceBrightnessBaseUserRestriction removal" into main

parents a5e92ade cc89eab2
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -225,9 +225,7 @@ public class A11yMenuOverlayLayout {
        if (shortcutId == A11yMenuShortcut.ShortcutId.ID_BRIGHTNESS_DOWN_VALUE.ordinal()
                || shortcutId == A11yMenuShortcut.ShortcutId.ID_BRIGHTNESS_UP_VALUE.ordinal()) {
            if (userManager.hasUserRestriction(DISALLOW_CONFIG_BRIGHTNESS)
                    || (com.android.systemui.Flags.enforceBrightnessBaseUserRestriction()
                    && userManager.hasBaseUserRestriction(
                            DISALLOW_CONFIG_BRIGHTNESS, userHandle))) {
                    || userManager.hasBaseUserRestriction(DISALLOW_CONFIG_BRIGHTNESS, userHandle)) {
                return true;
            }
        }
+0 −10
Original line number Diff line number Diff line
@@ -1034,16 +1034,6 @@ flag {
    }
}

flag {
    name: "enforce_brightness_base_user_restriction"
    namespace: "systemui"
    description: "Enforce BaseUserRestriction for DISALLOW_CONFIG_BRIGHTNESS."
    bug: "329205638"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
  name: "ambient_touch_monitor_listen_to_display_changes"
  namespace: "systemui"
+16 −53
Original line number Diff line number Diff line
@@ -18,13 +18,9 @@ package com.android.systemui.brightness.data.repository

import android.content.applicationContext
import android.os.UserManager
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.platform.test.flag.junit.FlagsParameterization
import android.platform.test.flag.junit.FlagsParameterization.allCombinationsOf
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin
import com.android.systemui.Flags.FLAG_ENFORCE_BRIGHTNESS_BASE_USER_RESTRICTION
import com.android.systemui.SysuiTestCase
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.kosmos.testDispatcher
@@ -32,35 +28,28 @@ import com.android.systemui.kosmos.testScope
import com.android.systemui.testKosmos
import com.android.systemui.user.data.repository.fakeUserRepository
import com.android.systemui.user.data.repository.userRepository
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.mock
import com.android.systemui.util.mockito.whenever
import com.android.systemui.utils.PolicyRestriction
import com.android.systemui.utils.UserRestrictionChecker
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyInt
import org.mockito.ArgumentMatchers.anyString
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters
import org.mockito.kotlin.any
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.eq
import org.mockito.kotlin.mock
import org.mockito.kotlin.whenever

@SmallTest
@RunWith(ParameterizedAndroidJunit4::class)
@RunWith(AndroidJUnit4::class)
@android.platform.test.annotations.EnabledOnRavenwood
class BrightnessPolicyRepositoryImplTest(flags: FlagsParameterization) : SysuiTestCase() {

    init {
        mSetFlagsRule.setFlagsParameterization(flags)
    }
class BrightnessPolicyRepositoryImplTest : SysuiTestCase() {

    private val kosmos = testKosmos()

    private val mockUserRestrictionChecker: UserRestrictionChecker = mock {
        whenever(checkIfRestrictionEnforced(any(), anyString(), anyInt())).thenReturn(null)
        whenever(hasBaseUserRestriction(any(), anyString(), anyInt())).thenReturn(false)
        on { checkIfRestrictionEnforced(any(), any(), any()) } doReturn null
        on { hasBaseUserRestriction(any(), any(), any()) } doReturn false
    }

    private val underTest =
@@ -98,7 +87,7 @@ class BrightnessPolicyRepositoryImplTest(flags: FlagsParameterization) : SysuiTe
                        mockUserRestrictionChecker.checkIfRestrictionEnforced(
                            any(),
                            eq(RESTRICTION),
                            eq(userRepository.getSelectedUserInfo().id)
                            eq(userRepository.getSelectedUserInfo().id),
                        )
                    )
                    .thenReturn(enforcedAdmin)
@@ -124,7 +113,7 @@ class BrightnessPolicyRepositoryImplTest(flags: FlagsParameterization) : SysuiTe
                        mockUserRestrictionChecker.checkIfRestrictionEnforced(
                            any(),
                            eq(RESTRICTION),
                            eq(userRepository.mainUserId)
                            eq(userRepository.mainUserId),
                        )
                    )
                    .thenReturn(enforcedAdmin)
@@ -139,26 +128,6 @@ class BrightnessPolicyRepositoryImplTest(flags: FlagsParameterization) : SysuiTe
            }
        }

    @Test
    @DisableFlags(FLAG_ENFORCE_BRIGHTNESS_BASE_USER_RESTRICTION)
    fun brightnessBaseUserRestriction_flagOff_noRestriction() =
        with(kosmos) {
            testScope.runTest {
                whenever(
                        mockUserRestrictionChecker.hasBaseUserRestriction(
                            any(),
                            eq(RESTRICTION),
                            eq(userRepository.getSelectedUserInfo().id)
                        )
                    )
                    .thenReturn(true)

                val restrictions by collectLastValue(underTest.restrictionPolicy)

                assertThat(restrictions).isEqualTo(PolicyRestriction.NoRestriction)
            }
        }

    @Test
    fun bothRestrictions_returnsSetEnforcedAdminFromCheck() =
        with(kosmos) {
@@ -170,7 +139,7 @@ class BrightnessPolicyRepositoryImplTest(flags: FlagsParameterization) : SysuiTe
                        mockUserRestrictionChecker.checkIfRestrictionEnforced(
                            any(),
                            eq(RESTRICTION),
                            eq(userRepository.getSelectedUserInfo().id)
                            eq(userRepository.getSelectedUserInfo().id),
                        )
                    )
                    .thenReturn(enforcedAdmin)
@@ -179,7 +148,7 @@ class BrightnessPolicyRepositoryImplTest(flags: FlagsParameterization) : SysuiTe
                        mockUserRestrictionChecker.hasBaseUserRestriction(
                            any(),
                            eq(RESTRICTION),
                            eq(userRepository.getSelectedUserInfo().id)
                            eq(userRepository.getSelectedUserInfo().id),
                        )
                    )
                    .thenReturn(true)
@@ -191,15 +160,14 @@ class BrightnessPolicyRepositoryImplTest(flags: FlagsParameterization) : SysuiTe
        }

    @Test
    @EnableFlags(FLAG_ENFORCE_BRIGHTNESS_BASE_USER_RESTRICTION)
    fun brightnessBaseUserRestriction_flagOn_emptyRestriction() =
    fun restrictionPolicy_hasBaseUserRestriction_returnsSetEnforcedAdminFromCheck() =
        with(kosmos) {
            testScope.runTest {
                whenever(
                        mockUserRestrictionChecker.hasBaseUserRestriction(
                            any(),
                            eq(RESTRICTION),
                            eq(userRepository.getSelectedUserInfo().id)
                            eq(userRepository.getSelectedUserInfo().id),
                        )
                    )
                    .thenReturn(true)
@@ -212,10 +180,5 @@ class BrightnessPolicyRepositoryImplTest(flags: FlagsParameterization) : SysuiTe

    companion object {
        private const val RESTRICTION = UserManager.DISALLOW_CONFIG_BRIGHTNESS
        @JvmStatic
        @Parameters(name = "{0}")
        fun getParams(): List<FlagsParameterization> {
            return allCombinationsOf(FLAG_ENFORCE_BRIGHTNESS_BASE_USER_RESTRICTION)
        }
    }
}
+6 −8
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.systemui.brightness.data.repository
import android.content.Context
import android.os.UserManager
import com.android.settingslib.RestrictedLockUtils
import com.android.systemui.Flags.enforceBrightnessBaseUserRestriction
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
@@ -63,15 +62,14 @@ constructor(
                    .checkIfRestrictionEnforced(
                        applicationContext,
                        BrightnessPolicyRepository.RESTRICTION,
                        user.id
                        user.id,
                    )
                    ?.let { PolicyRestriction.Restricted(it) }
                    ?: if (
                        enforceBrightnessBaseUserRestriction() &&
                        userRestrictionChecker.hasBaseUserRestriction(
                            applicationContext,
                            UserManager.DISALLOW_CONFIG_BRIGHTNESS,
                                user.id
                            user.id,
                        )
                    ) {
                        PolicyRestriction.Restricted(RestrictedLockUtils.EnforcedAdmin())
+1 −1
Original line number Diff line number Diff line
@@ -419,7 +419,7 @@ public class BrightnessController implements ToggleSlider.Listener, MirroredBrig
                        RestrictedLockUtilsInternal.checkIfRestrictionEnforced(mContext,
                                UserManager.DISALLOW_CONFIG_BRIGHTNESS,
                                userId);
                if (Flags.enforceBrightnessBaseUserRestriction() && enforcedAdmin == null
                if (enforcedAdmin == null
                        && RestrictedLockUtilsInternal.hasBaseUserRestriction(mContext,
                        UserManager.DISALLOW_CONFIG_BRIGHTNESS,
                        userId)) {