[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
+}