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

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

Move interactors to background thread

Flag: EXEMPT bugfix
Bug: 421503955
Test: manually - using QS and QS edit mode
Change-Id: I7225b791a894f28d1a2f92258336451c2b3e61d0
parent 65b1c341
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -18,7 +18,7 @@ package com.android.systemui.qs.panels.domain.interactor


import com.android.internal.logging.UiEventLogger
import com.android.internal.logging.UiEventLogger
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.log.LogBuffer
import com.android.systemui.log.LogBuffer
import com.android.systemui.log.core.LogLevel
import com.android.systemui.log.core.LogLevel
import com.android.systemui.qs.QSEditEvent
import com.android.systemui.qs.QSEditEvent
@@ -45,13 +45,13 @@ constructor(
    private val uiEventLogger: UiEventLogger,
    private val uiEventLogger: UiEventLogger,
    largeTilesSpanInteractor: LargeTileSpanInteractor,
    largeTilesSpanInteractor: LargeTileSpanInteractor,
    @PanelsLog private val logBuffer: LogBuffer,
    @PanelsLog private val logBuffer: LogBuffer,
    @Application private val applicationScope: CoroutineScope,
    @Background private val scope: CoroutineScope,
) {
) {


    val largeTilesSpecs =
    val largeTilesSpecs =
        preferencesInteractor.largeTilesSpecs
        preferencesInteractor.largeTilesSpecs
            .onEach { logChange(it) }
            .onEach { logChange(it) }
            .stateIn(applicationScope, SharingStarted.Eagerly, repo.defaultLargeTiles)
            .stateIn(scope, SharingStarted.Eagerly, repo.defaultLargeTiles)


    val largeTilesSpan: StateFlow<Int> = largeTilesSpanInteractor.span
    val largeTilesSpan: StateFlow<Int> = largeTilesSpanInteractor.span


+2 −2
Original line number Original line Diff line number Diff line
@@ -17,7 +17,7 @@
package com.android.systemui.qs.panels.domain.interactor
package com.android.systemui.qs.panels.domain.interactor


import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.qs.panels.data.repository.LargeTileSpanRepository
import com.android.systemui.qs.panels.data.repository.LargeTileSpanRepository
import javax.inject.Inject
import javax.inject.Inject
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.CoroutineScope
@@ -33,7 +33,7 @@ import kotlinx.coroutines.flow.stateIn
class LargeTileSpanInteractor
class LargeTileSpanInteractor
@Inject
@Inject
constructor(
constructor(
    @Application scope: CoroutineScope,
    @Background scope: CoroutineScope,
    private val repo: LargeTileSpanRepository,
    private val repo: LargeTileSpanRepository,
    columnsInteractor: QSColumnsInteractor,
    columnsInteractor: QSColumnsInteractor,
) {
) {
+2 −2
Original line number Original line Diff line number Diff line
@@ -17,7 +17,7 @@
package com.android.systemui.qs.panels.domain.interactor
package com.android.systemui.qs.panels.domain.interactor


import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.qs.panels.data.repository.QSColumnsRepository
import com.android.systemui.qs.panels.data.repository.QSColumnsRepository
import com.android.systemui.shade.domain.interactor.ShadeModeInteractor
import com.android.systemui.shade.domain.interactor.ShadeModeInteractor
import com.android.systemui.shade.shared.model.ShadeMode
import com.android.systemui.shade.shared.model.ShadeMode
@@ -34,7 +34,7 @@ import kotlinx.coroutines.flow.stateIn
class QSColumnsInteractor
class QSColumnsInteractor
@Inject
@Inject
constructor(
constructor(
    @Application scope: CoroutineScope,
    @Background scope: CoroutineScope,
    repo: QSColumnsRepository,
    repo: QSColumnsRepository,
    shadeModeInteractor: ShadeModeInteractor,
    shadeModeInteractor: ShadeModeInteractor,
) {
) {