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

Commit 788c9368 authored by burakov's avatar burakov
Browse files

[Dual Shade] Inject the shade dark icon interactor lazily.

Fix: 417431477
Test: Unit tests pass.
Flag: EXEMPT bugfix
Change-Id: Ied1b2becf3b8b9ba104364ce86e6222951a3b04f
parent d664e2b5
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -17,9 +17,12 @@
package com.android.systemui.statusbar.phone.domain.interactor

import android.graphics.Rect
import android.view.Display
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.shade.domain.interactor.ShadeDisplaysInteractor
import com.android.systemui.shade.shared.flag.ShadeWindowGoesAround
import com.android.systemui.statusbar.phone.SysuiDarkIconDispatcher.DarkChange
import dagger.Lazy
import javax.inject.Inject
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
@@ -42,8 +45,12 @@ class ShadeDarkIconInteractorImpl
@Inject
constructor(
    darkIconInteractor: DarkIconInteractor,
    shadeDisplaysInteractor: ShadeDisplaysInteractor,
    shadeDisplaysInteractor: Lazy<ShadeDisplaysInteractor>,
) : ShadeDarkIconInteractor {
    override val isShadeAreaDark: Flow<IsAreaDark> =
        shadeDisplaysInteractor.displayId.flatMapLatest(darkIconInteractor::isAreaDark)
        if (ShadeWindowGoesAround.isEnabled) {
            shadeDisplaysInteractor.get().displayId.flatMapLatest(darkIconInteractor::isAreaDark)
        } else {
            darkIconInteractor.isAreaDark(Display.DEFAULT_DISPLAY)
        }
}
+1 −1
Original line number Diff line number Diff line
@@ -23,6 +23,6 @@ val Kosmos.shadeDarkIconInteractor: ShadeDarkIconInteractor by
    Kosmos.Fixture {
        ShadeDarkIconInteractorImpl(
            darkIconInteractor = darkIconInteractor,
            shadeDisplaysInteractor = shadeDisplaysInteractor,
            shadeDisplaysInteractor = { shadeDisplaysInteractor },
        )
    }