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

Commit bb483802 authored by Nicolò Mazzucato's avatar Nicolò Mazzucato
Browse files

Open QSReset dialog in the shade display

The dialog was using the wrong context to open the dialog, resulting it to be always on the default display.

Bug: 362719719
Bug: 383294128
Test: launch the dialog while the shade is in an external display
Flag: com.android.systemui.shade_window_goes_around
Change-Id: I11965761fa10878f0ed5d7540c8111af107344f5
parent 4fb4149e
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dialog.ui.composable.AlertDialogContent
import com.android.systemui.qs.panels.domain.interactor.EditTilesResetInteractor
import com.android.systemui.res.R
import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor
import com.android.systemui.statusbar.phone.ComponentSystemUIDialog
import com.android.systemui.statusbar.phone.SystemUIDialog
import com.android.systemui.statusbar.phone.SystemUIDialogFactory
@@ -40,6 +41,7 @@ class QSResetDialogDelegate
@Inject
constructor(
    private val sysuiDialogFactory: SystemUIDialogFactory,
    private val shadeDialogContextInteractor: ShadeDialogContextInteractor,
    private val resetInteractor: EditTilesResetInteractor,
) : SystemUIDialog.Delegate {
    private var currentDialog: ComponentSystemUIDialog? = null
@@ -53,7 +55,9 @@ constructor(

        currentDialog =
            sysuiDialogFactory
                .create { ResetConfirmationDialog(it) }
                .create(context = shadeDialogContextInteractor.context) {
                    ResetConfirmationDialog(it)
                }
                .also {
                    it.lifecycle.addObserver(
                        object : DefaultLifecycleObserver {
+8 −1
Original line number Diff line number Diff line
@@ -18,7 +18,14 @@ package com.android.systemui.qs.panels.ui.dialog

import com.android.systemui.kosmos.Kosmos
import com.android.systemui.qs.panels.domain.interactor.sizedTilesResetInteractor
import com.android.systemui.shade.data.repository.shadeDialogContextInteractor
import com.android.systemui.statusbar.phone.systemUIDialogFactory

val Kosmos.qsResetDialogDelegateKosmos by
    Kosmos.Fixture { QSResetDialogDelegate(systemUIDialogFactory, sizedTilesResetInteractor) }
    Kosmos.Fixture {
        QSResetDialogDelegate(
            systemUIDialogFactory,
            shadeDialogContextInteractor,
            sizedTilesResetInteractor,
        )
    }
+2 −6
Original line number Diff line number Diff line
@@ -18,12 +18,8 @@ package com.android.systemui.shade.data.repository

import android.content.applicationContext
import com.android.systemui.kosmos.Kosmos
import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
import com.android.systemui.shade.domain.interactor.FakeShadeDialogContextInteractor

val Kosmos.shadeAnimationRepository by Kosmos.Fixture { ShadeAnimationRepository() }
val Kosmos.shadeDialogContextInteractor by
    Kosmos.Fixture {
        mock<ShadeDialogContextInteractor> { on { context } doReturn applicationContext }
    }
    Kosmos.Fixture { FakeShadeDialogContextInteractor(applicationContext) }