[Catalyst] Use hybrid mode for sound screen
Bug: 360015496
Flag: com.android.settings.flags.catalyst_sound_screen
Test: atest SoundScreenTest
Change-Id: Ifd685f8e3a546e8750a593201362540f60a3c031
diff --git a/src/com/android/settings/notification/SoundScreen.kt b/src/com/android/settings/notification/SoundScreen.kt
index ecb0c85..f1f2749 100644
--- a/src/com/android/settings/notification/SoundScreen.kt
+++ b/src/com/android/settings/notification/SoundScreen.kt
@@ -36,12 +36,13 @@
override fun isFlagEnabled(context: Context): Boolean = Flags.catalystSoundScreen()
+ override fun hasCompleteHierarchy() = false
+
override fun fragmentClass(): Class<out Fragment>? = SoundSettings::class.java
- override fun getPreferenceHierarchy(context: Context) =
- preferenceHierarchy(this) {}
+ override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
companion object {
const val KEY = "sound_screen"
}
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/notification/SoundScreenTest.kt b/tests/robotests/src/com/android/settings/notification/SoundScreenTest.kt
index 83b29d2..1333ed5 100644
--- a/tests/robotests/src/com/android/settings/notification/SoundScreenTest.kt
+++ b/tests/robotests/src/com/android/settings/notification/SoundScreenTest.kt
@@ -15,39 +15,23 @@
*/
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 com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
import com.google.common.truth.Truth.assertThat
-import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
-class SoundScreenTest {
- @get:Rule val setFlagsRule = SetFlagsRule()
- private val context: Context = ApplicationProvider.getApplicationContext()
- private val soundScreen = SoundScreen()
+class SoundScreenTest : CatalystScreenTestCase() {
+
+ override val preferenceScreenCreator = SoundScreen()
+
+ override val flagName: String
+ get() = Flags.FLAG_CATALYST_SOUND_SCREEN
@Test
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()
- }
-
-}
\ No newline at end of file
+}