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

Commit 78c9145c authored by Steve Elliott's avatar Steve Elliott
Browse files

Invoke SystemBarUtils#getStatusBarHeight in bg

Flag: ACONFIG com.android.systemui.notifications_icon_container_refactor TEAMFOOD
Bug: 318020193
Test: atest SystemUITests
Change-Id: I7d75b0a9de922ca60a1391fbcc4555403b15311a
parent df16b087
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -17,10 +17,16 @@
package com.android.systemui.statusbar.ui

import com.android.internal.policy.SystemBarUtils
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.statusbar.policy.onConfigChanged
import javax.inject.Inject
import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.conflate
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.flowOn
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.flow.onStart

@@ -31,6 +37,8 @@ import kotlinx.coroutines.flow.onStart
class SystemBarUtilsState
@Inject
constructor(
    @Background bgContext: CoroutineContext,
    @Main mainContext: CoroutineContext,
    configurationController: ConfigurationController,
    proxy: SystemBarUtilsProxy,
) {
@@ -38,5 +46,10 @@ constructor(
    val statusBarHeight: Flow<Int> =
        configurationController.onConfigChanged
            .onStart<Any> { emit(Unit) }
            .flowOn(mainContext)
            .conflate()
            .map { proxy.getStatusBarHeight() }
            .distinctUntilChanged()
            .flowOn(bgContext)
            .conflate()
}
+10 −2
Original line number Diff line number Diff line
@@ -17,7 +17,15 @@
package com.android.systemui.statusbar.ui

import com.android.systemui.kosmos.Kosmos
import com.android.systemui.kosmos.Kosmos.Fixture
import com.android.systemui.kosmos.testDispatcher
import com.android.systemui.statusbar.policy.configurationController

val Kosmos.systemBarUtilsState by
    Kosmos.Fixture { SystemBarUtilsState(configurationController, systemBarUtilsProxy) }
val Kosmos.systemBarUtilsState by Fixture {
    SystemBarUtilsState(
        testDispatcher,
        testDispatcher,
        configurationController,
        systemBarUtilsProxy,
    )
}