[Catalyst] Use hybrid mode for sound screen

Bug: 360015496
Flag: com.android.settings.flags.catalyst_sound_screen
Test: atest SoundScreenTest
Change-Id: Ifd685f8e3a546e8750a593201362540f60a3c031
This commit is contained in:
Jacky Wang
2024-10-12 16:17:37 +08:00
parent 92ce82809e
commit d38549d60b
2 changed files with 13 additions and 28 deletions

View File

@@ -36,10 +36,11 @@ class SoundScreen : PreferenceScreenCreator {
override fun isFlagEnabled(context: Context): Boolean = Flags.catalystSoundScreen() override fun isFlagEnabled(context: Context): Boolean = Flags.catalystSoundScreen()
override fun hasCompleteHierarchy() = false
override fun fragmentClass(): Class<out Fragment>? = SoundSettings::class.java override fun fragmentClass(): Class<out Fragment>? = SoundSettings::class.java
override fun getPreferenceHierarchy(context: Context) = override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
preferenceHierarchy(this) {}
companion object { companion object {
const val KEY = "sound_screen" const val KEY = "sound_screen"

View File

@@ -15,39 +15,23 @@
*/ */
package com.android.settings.notification package com.android.settings.notification
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.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.flags.Flags import com.android.settings.flags.Flags
import com.android.settingslib.preference.CatalystScreenTestCase
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import org.junit.Rule
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class) @RunWith(AndroidJUnit4::class)
class SoundScreenTest { class SoundScreenTest : CatalystScreenTestCase() {
@get:Rule val setFlagsRule = SetFlagsRule()
private val context: Context = ApplicationProvider.getApplicationContext() override val preferenceScreenCreator = SoundScreen()
private val soundScreen = SoundScreen()
override val flagName: String
get() = Flags.FLAG_CATALYST_SOUND_SCREEN
@Test @Test
fun key() { fun key() {
assertThat(soundScreen.key).isEqualTo(SoundScreen.KEY) assertThat(preferenceScreenCreator.key).isEqualTo(SoundScreen.KEY)
} }
@Test
@EnableFlags(Flags.FLAG_CATALYST_SOUND_SCREEN)
fun isFlagEnabled_returnTrue() {
assertThat(soundScreen.isFlagEnabled(context)).isTrue()
}
@Test
@DisableFlags(Flags.FLAG_CATALYST_SOUND_SCREEN)
fun isFlagEnabled_returnFalse() {
assertThat(soundScreen.isFlagEnabled(context)).isFalse()
}
} }