Loading packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeOverlay.kt +3 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset Loading Loading @@ -112,6 +113,7 @@ constructor( @Composable override fun ContentScope.Content(modifier: Modifier) { val coroutineScope = rememberCoroutineScope() val contentViewModel = rememberViewModel("QuickSettingsShadeOverlayContent") { contentViewModelFactory.create() Loading @@ -121,6 +123,7 @@ constructor( quickSettingsContainerViewModelFactory.create( supportsBrightnessMirroring = true, expansion = COLLAPSED, volumeSliderCoroutineScope = coroutineScope, ) } val hunPlaceholderViewModel = Loading packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsContainerViewModel.kt +15 −15 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import javax.inject.Named import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.awaitCancellation import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.flow.flowOf Loading @@ -58,11 +59,12 @@ class QuickSettingsContainerViewModel constructor( @ShadeDisplayAware shadeContext: Context, brightnessSliderViewModelFactory: BrightnessSliderViewModel.Factory, private val audioStreamSliderViewModelFactory: AudioStreamSliderViewModel.Factory, audioStreamSliderViewModelFactory: AudioStreamSliderViewModel.Factory, shadeHeaderViewModelFactory: ShadeHeaderViewModel.Factory, tileGridViewModelFactory: TileGridViewModel.Factory, @Assisted private val supportsBrightnessMirroring: Boolean, @Assisted private val expansion: Float?, @Assisted private val volumeSliderCoroutineScope: CoroutineScope?, val editModeViewModel: EditModeViewModel, val detailsViewModel: DetailsViewModel, toolbarViewModelFactory: ToolbarViewModel.Factory, Loading Loading @@ -114,7 +116,17 @@ constructor( QsDetailedView.isEnabled && shadeContext.resources.getBoolean(R.bool.config_enableDesktopAudioTileDetailsView) var volumeSliderViewModel: AudioStreamSliderViewModel? = null val volumeSliderViewModel = if (showVolumeSlider && volumeSliderCoroutineScope != null) audioStreamSliderViewModelFactory.create( AudioStreamSliderViewModel.FactoryAudioStreamWrapper( SliderType.Stream(AudioStream(AudioManager.STREAM_MUSIC)).stream ), volumeSliderCoroutineScope, ) else { null } val toolbarViewModel = toolbarViewModelFactory.create() Loading @@ -130,19 +142,6 @@ constructor( override suspend fun onActivated(): Nothing { coroutineScope { if (showVolumeSlider) { val volumeSliderStream = SliderType.Stream(AudioStream(AudioManager.STREAM_MUSIC)).stream launch { volumeSliderViewModel = audioStreamSliderViewModelFactory.create( AudioStreamSliderViewModel.FactoryAudioStreamWrapper( volumeSliderStream ), this, ) } } expansion?.let { mediaHost.expansion = it } launch { hydrator.activate() } launch { brightnessSliderViewModel.activate() } Loading @@ -168,6 +167,7 @@ constructor( fun create( supportsBrightnessMirroring: Boolean, expansion: Float? = null, volumeSliderCoroutineScope: CoroutineScope? = null, ): QuickSettingsContainerViewModel } } packages/SystemUI/tests/utils/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsContainerViewModelKosmos.kt +3 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.systemui.shade.domain.interactor.shadeDisplaysInteractor import com.android.systemui.shade.ui.viewmodel.shadeHeaderViewModelFactory import com.android.systemui.volume.panel.component.volume.slider.ui.viewmodel.audioStreamSliderViewModelFactory import com.android.systemui.window.domain.interactor.windowRootViewBlurInteractor import kotlinx.coroutines.CoroutineScope import org.mockito.kotlin.mock val Kosmos.quickSettingsContainerViewModelFactory by Loading @@ -38,6 +39,7 @@ val Kosmos.quickSettingsContainerViewModelFactory by override fun create( supportsBrightnessMirroring: Boolean, expansion: Float?, volumeSliderCoroutineScope: CoroutineScope?, ): QuickSettingsContainerViewModel { return QuickSettingsContainerViewModel( shadeContext = applicationContext, Loading @@ -47,6 +49,7 @@ val Kosmos.quickSettingsContainerViewModelFactory by tileGridViewModelFactory = tileGridViewModelFactory, supportsBrightnessMirroring = supportsBrightnessMirroring, expansion = expansion, volumeSliderCoroutineScope = volumeSliderCoroutineScope, editModeViewModel = editModeViewModel, detailsViewModel = detailsViewModel, toolbarViewModelFactory = toolbarViewModelFactory, Loading Loading
packages/SystemUI/compose/features/src/com/android/systemui/qs/ui/composable/QuickSettingsShadeOverlay.kt +3 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset Loading Loading @@ -112,6 +113,7 @@ constructor( @Composable override fun ContentScope.Content(modifier: Modifier) { val coroutineScope = rememberCoroutineScope() val contentViewModel = rememberViewModel("QuickSettingsShadeOverlayContent") { contentViewModelFactory.create() Loading @@ -121,6 +123,7 @@ constructor( quickSettingsContainerViewModelFactory.create( supportsBrightnessMirroring = true, expansion = COLLAPSED, volumeSliderCoroutineScope = coroutineScope, ) } val hunPlaceholderViewModel = Loading
packages/SystemUI/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsContainerViewModel.kt +15 −15 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import javax.inject.Named import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.awaitCancellation import kotlinx.coroutines.coroutineScope import kotlinx.coroutines.flow.flowOf Loading @@ -58,11 +59,12 @@ class QuickSettingsContainerViewModel constructor( @ShadeDisplayAware shadeContext: Context, brightnessSliderViewModelFactory: BrightnessSliderViewModel.Factory, private val audioStreamSliderViewModelFactory: AudioStreamSliderViewModel.Factory, audioStreamSliderViewModelFactory: AudioStreamSliderViewModel.Factory, shadeHeaderViewModelFactory: ShadeHeaderViewModel.Factory, tileGridViewModelFactory: TileGridViewModel.Factory, @Assisted private val supportsBrightnessMirroring: Boolean, @Assisted private val expansion: Float?, @Assisted private val volumeSliderCoroutineScope: CoroutineScope?, val editModeViewModel: EditModeViewModel, val detailsViewModel: DetailsViewModel, toolbarViewModelFactory: ToolbarViewModel.Factory, Loading Loading @@ -114,7 +116,17 @@ constructor( QsDetailedView.isEnabled && shadeContext.resources.getBoolean(R.bool.config_enableDesktopAudioTileDetailsView) var volumeSliderViewModel: AudioStreamSliderViewModel? = null val volumeSliderViewModel = if (showVolumeSlider && volumeSliderCoroutineScope != null) audioStreamSliderViewModelFactory.create( AudioStreamSliderViewModel.FactoryAudioStreamWrapper( SliderType.Stream(AudioStream(AudioManager.STREAM_MUSIC)).stream ), volumeSliderCoroutineScope, ) else { null } val toolbarViewModel = toolbarViewModelFactory.create() Loading @@ -130,19 +142,6 @@ constructor( override suspend fun onActivated(): Nothing { coroutineScope { if (showVolumeSlider) { val volumeSliderStream = SliderType.Stream(AudioStream(AudioManager.STREAM_MUSIC)).stream launch { volumeSliderViewModel = audioStreamSliderViewModelFactory.create( AudioStreamSliderViewModel.FactoryAudioStreamWrapper( volumeSliderStream ), this, ) } } expansion?.let { mediaHost.expansion = it } launch { hydrator.activate() } launch { brightnessSliderViewModel.activate() } Loading @@ -168,6 +167,7 @@ constructor( fun create( supportsBrightnessMirroring: Boolean, expansion: Float? = null, volumeSliderCoroutineScope: CoroutineScope? = null, ): QuickSettingsContainerViewModel } }
packages/SystemUI/tests/utils/src/com/android/systemui/qs/ui/viewmodel/QuickSettingsContainerViewModelKosmos.kt +3 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import com.android.systemui.shade.domain.interactor.shadeDisplaysInteractor import com.android.systemui.shade.ui.viewmodel.shadeHeaderViewModelFactory import com.android.systemui.volume.panel.component.volume.slider.ui.viewmodel.audioStreamSliderViewModelFactory import com.android.systemui.window.domain.interactor.windowRootViewBlurInteractor import kotlinx.coroutines.CoroutineScope import org.mockito.kotlin.mock val Kosmos.quickSettingsContainerViewModelFactory by Loading @@ -38,6 +39,7 @@ val Kosmos.quickSettingsContainerViewModelFactory by override fun create( supportsBrightnessMirroring: Boolean, expansion: Float?, volumeSliderCoroutineScope: CoroutineScope?, ): QuickSettingsContainerViewModel { return QuickSettingsContainerViewModel( shadeContext = applicationContext, Loading @@ -47,6 +49,7 @@ val Kosmos.quickSettingsContainerViewModelFactory by tileGridViewModelFactory = tileGridViewModelFactory, supportsBrightnessMirroring = supportsBrightnessMirroring, expansion = expansion, volumeSliderCoroutineScope = volumeSliderCoroutineScope, editModeViewModel = editModeViewModel, detailsViewModel = detailsViewModel, toolbarViewModelFactory = toolbarViewModelFactory, Loading