Loading packages/SystemUI/multivalentTests/src/com/android/systemui/volume/panel/component/spatial/domain/interactor/SpatialAudioComponentInteractorTest.kt +1 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ class SpatialAudioComponentInteractorTest : SysuiTestCase() { assertThat(values) .containsExactly( SpatialAudioEnabledModel.Unknown, SpatialAudioEnabledModel.Disabled, SpatialAudioEnabledModel.HeadTrackingEnabled, SpatialAudioEnabledModel.SpatialAudioEnabled, Loading packages/SystemUI/src/com/android/systemui/volume/panel/component/spatial/domain/SpatialAudioAvailabilityCriteria.kt +9 −2 Original line number Diff line number Diff line Loading @@ -18,11 +18,12 @@ package com.android.systemui.volume.panel.component.spatial.domain import com.android.systemui.volume.panel.component.spatial.domain.interactor.SpatialAudioComponentInteractor import com.android.systemui.volume.panel.component.spatial.domain.model.SpatialAudioAvailabilityModel import com.android.systemui.volume.panel.component.spatial.domain.model.SpatialAudioEnabledModel import com.android.systemui.volume.panel.dagger.scope.VolumePanelScope import com.android.systemui.volume.panel.domain.ComponentAvailabilityCriteria import javax.inject.Inject import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.combine @VolumePanelScope class SpatialAudioAvailabilityCriteria Loading @@ -31,5 +32,11 @@ constructor(private val interactor: SpatialAudioComponentInteractor) : ComponentAvailabilityCriteria { override fun isAvailable(): Flow<Boolean> = interactor.isAvailable.map { it is SpatialAudioAvailabilityModel.SpatialAudio } combine(interactor.isAvailable, interactor.isEnabled) { isAvailable, isEnabled -> if (isAvailable is SpatialAudioAvailabilityModel.SpatialAudio) { isEnabled !is SpatialAudioEnabledModel.Unknown } else { false } } } packages/SystemUI/src/com/android/systemui/volume/panel/component/spatial/domain/interactor/SpatialAudioComponentInteractor.kt +1 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,7 @@ constructor( .stateIn( coroutineScope, SharingStarted.Eagerly, SpatialAudioEnabledModel.Disabled, SpatialAudioEnabledModel.Unknown, ) /** Loading packages/SystemUI/src/com/android/systemui/volume/panel/component/spatial/domain/model/SpatialAudioEnabledModel.kt +3 −0 Original line number Diff line number Diff line Loading @@ -39,4 +39,7 @@ interface SpatialAudioEnabledModel { /** Head tracking is enabled. This also means that [SpatialAudioEnabled]. */ data object HeadTrackingEnabled : SpatialAudioEnabled /** Spatial audio enabled state is unknown. */ data object Unknown : SpatialAudioEnabled } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/volume/panel/component/spatial/domain/interactor/SpatialAudioComponentInteractorTest.kt +1 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ class SpatialAudioComponentInteractorTest : SysuiTestCase() { assertThat(values) .containsExactly( SpatialAudioEnabledModel.Unknown, SpatialAudioEnabledModel.Disabled, SpatialAudioEnabledModel.HeadTrackingEnabled, SpatialAudioEnabledModel.SpatialAudioEnabled, Loading
packages/SystemUI/src/com/android/systemui/volume/panel/component/spatial/domain/SpatialAudioAvailabilityCriteria.kt +9 −2 Original line number Diff line number Diff line Loading @@ -18,11 +18,12 @@ package com.android.systemui.volume.panel.component.spatial.domain import com.android.systemui.volume.panel.component.spatial.domain.interactor.SpatialAudioComponentInteractor import com.android.systemui.volume.panel.component.spatial.domain.model.SpatialAudioAvailabilityModel import com.android.systemui.volume.panel.component.spatial.domain.model.SpatialAudioEnabledModel import com.android.systemui.volume.panel.dagger.scope.VolumePanelScope import com.android.systemui.volume.panel.domain.ComponentAvailabilityCriteria import javax.inject.Inject import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.combine @VolumePanelScope class SpatialAudioAvailabilityCriteria Loading @@ -31,5 +32,11 @@ constructor(private val interactor: SpatialAudioComponentInteractor) : ComponentAvailabilityCriteria { override fun isAvailable(): Flow<Boolean> = interactor.isAvailable.map { it is SpatialAudioAvailabilityModel.SpatialAudio } combine(interactor.isAvailable, interactor.isEnabled) { isAvailable, isEnabled -> if (isAvailable is SpatialAudioAvailabilityModel.SpatialAudio) { isEnabled !is SpatialAudioEnabledModel.Unknown } else { false } } }
packages/SystemUI/src/com/android/systemui/volume/panel/component/spatial/domain/interactor/SpatialAudioComponentInteractor.kt +1 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,7 @@ constructor( .stateIn( coroutineScope, SharingStarted.Eagerly, SpatialAudioEnabledModel.Disabled, SpatialAudioEnabledModel.Unknown, ) /** Loading
packages/SystemUI/src/com/android/systemui/volume/panel/component/spatial/domain/model/SpatialAudioEnabledModel.kt +3 −0 Original line number Diff line number Diff line Loading @@ -39,4 +39,7 @@ interface SpatialAudioEnabledModel { /** Head tracking is enabled. This also means that [SpatialAudioEnabled]. */ data object HeadTrackingEnabled : SpatialAudioEnabled /** Spatial audio enabled state is unknown. */ data object Unknown : SpatialAudioEnabled }