Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c58f3cdc authored by Luna Zhang's avatar Luna Zhang Committed by Android (Google) Code Review
Browse files

Merge "Fix volume slider delay" into main

parents 8d581f19 c475e2d6
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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
@@ -112,6 +113,7 @@ constructor(

    @Composable
    override fun ContentScope.Content(modifier: Modifier) {
        val coroutineScope = rememberCoroutineScope()
        val contentViewModel =
            rememberViewModel("QuickSettingsShadeOverlayContent") {
                contentViewModelFactory.create()
@@ -121,6 +123,7 @@ constructor(
                quickSettingsContainerViewModelFactory.create(
                    supportsBrightnessMirroring = true,
                    expansion = COLLAPSED,
                    volumeSliderCoroutineScope = coroutineScope,
                )
            }
        val hunPlaceholderViewModel =
+15 −15
Original line number Diff line number Diff line
@@ -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
@@ -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,
@@ -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()

@@ -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() }
@@ -168,6 +167,7 @@ constructor(
        fun create(
            supportsBrightnessMirroring: Boolean,
            expansion: Float? = null,
            volumeSliderCoroutineScope: CoroutineScope? = null,
        ): QuickSettingsContainerViewModel
    }
}
+3 −0
Original line number Diff line number Diff line
@@ -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
@@ -38,6 +39,7 @@ val Kosmos.quickSettingsContainerViewModelFactory by
            override fun create(
                supportsBrightnessMirroring: Boolean,
                expansion: Float?,
                volumeSliderCoroutineScope: CoroutineScope?,
            ): QuickSettingsContainerViewModel {
                return QuickSettingsContainerViewModel(
                    shadeContext = applicationContext,
@@ -47,6 +49,7 @@ val Kosmos.quickSettingsContainerViewModelFactory by
                    tileGridViewModelFactory = tileGridViewModelFactory,
                    supportsBrightnessMirroring = supportsBrightnessMirroring,
                    expansion = expansion,
                    volumeSliderCoroutineScope = volumeSliderCoroutineScope,
                    editModeViewModel = editModeViewModel,
                    detailsViewModel = detailsViewModel,
                    toolbarViewModelFactory = toolbarViewModelFactory,