Merge "Update the isEnabled state of preferences in supervision features group according to main switch" into main

This commit is contained in:
Zhou Liu
2025-02-25 18:40:31 -08:00
committed by Android (Google) Code Review
3 changed files with 72 additions and 3 deletions

View File

@@ -20,8 +20,11 @@ import android.content.Context
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.platform.test.flag.junit.SetFlagsRule
import androidx.fragment.app.testing.FragmentScenario
import androidx.preference.Preference
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settingslib.widget.MainSwitchPreference
import com.google.common.truth.Truth.assertThat
import org.junit.Rule
import org.junit.Test
@@ -51,4 +54,22 @@ class SupervisionDashboardScreenTest {
fun flagDisabled() {
assertThat(preferenceScreenCreator.isFlagEnabled(context)).isFalse()
}
@Test
@EnableFlags(Flags.FLAG_ENABLE_SUPERVISION_SETTINGS_SCREEN)
fun toggleMainSwitch_disablesChildPreferences() {
FragmentScenario.launchInContainer(preferenceScreenCreator.fragmentClass()).onFragment {
fragment ->
val mainSwitchPreference =
fragment.findPreference<MainSwitchPreference>(SupervisionMainSwitchPreference.KEY)!!
val childPreference =
fragment.findPreference<Preference>(SupervisionPinManagementScreen.KEY)!!
assertThat(childPreference.isEnabled).isFalse()
mainSwitchPreference.performClick()
assertThat(childPreference.isEnabled).isTrue()
}
}
}