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

Commit f868cffb authored by Olivier St-Onge's avatar Olivier St-Onge
Browse files

Use main dispatcher in ToolbarViewModel to get GlobalActionsDialogLite

This broke when rememberViewModel started using Dispatchers.Default

Flag: EXEMPT bugfix
Bug: 422128854
Test: manually - expanding QS in flexiglass
Change-Id: I5fcc821f9a29c68edba75830c59ec969132b7e1b
parent a2d6105f
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import androidx.compose.runtime.setValue
import com.android.systemui.animation.Expandable
import com.android.systemui.classifier.domain.interactor.FalsingInteractor
import com.android.systemui.classifier.domain.interactor.runIfNotFalseTap
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.development.ui.viewmodel.BuildNumberViewModel
import com.android.systemui.globalactions.GlobalActionsDialogLite
import com.android.systemui.lifecycle.ExclusiveActivatable
@@ -42,6 +43,7 @@ import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
import javax.inject.Provider
import kotlin.time.Duration.Companion.seconds
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.awaitCancellation
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.delay
@@ -60,6 +62,7 @@ constructor(
    private val globalActionsDialogLiteProvider: Provider<GlobalActionsDialogLite>,
    private val falsingInteractor: FalsingInteractor,
    @ShadeDisplayAware appContext: Context,
    @Main private val mainDispatcher: CoroutineDispatcher,
) : ExclusiveActivatable() {
    private val qsThemedContext =
        ContextThemeWrapper(appContext, R.style.Theme_SystemUI_QuickSettings)
@@ -97,7 +100,7 @@ constructor(

    override suspend fun onActivated(): Nothing {
        coroutineScope {
            launch {
            launch(context = mainDispatcher) {
                try {
                    globalActionsDialogLite = globalActionsDialogLiteProvider.get()
                    awaitCancellation()
+2 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import com.android.systemui.classifier.domain.interactor.falsingInteractor
import com.android.systemui.development.ui.viewmodel.buildNumberViewModelFactory
import com.android.systemui.globalactions.globalActionsDialogLite
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.testDispatcher
import com.android.systemui.qs.footerActionsInteractor
import com.android.systemui.qs.panels.ui.viewmodel.textFeedbackContentViewModelFactory

@@ -36,6 +37,7 @@ val Kosmos.toolbarViewModelFactory by
                    { globalActionsDialogLite },
                    falsingInteractor,
                    applicationContext,
                    testDispatcher,
                )
            }
        }