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

Commit 3ce5f030 authored by Hawkwood Glazier's avatar Hawkwood Glazier
Browse files

Remove AOD clock combine call to improve perf

Bug: 335759591
Test: Presumbits
Flag: com.android.systemui.migrate_clocks_to_blueprint
Change-Id: I9b6a9ed134ac4f7aa4bc68f67baff49ce6d54511
parent b40d168b
Loading
Loading
Loading
Loading
+9 −17
Original line number Diff line number Diff line
@@ -37,7 +37,6 @@ import com.android.systemui.keyguard.ui.viewmodel.KeyguardRootViewModel
import com.android.systemui.lifecycle.repeatWhenAttached
import com.android.systemui.plugins.clocks.AodClockBurnInModel
import com.android.systemui.plugins.clocks.ClockController
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.launch

object KeyguardClockViewBinder {
@@ -113,21 +112,13 @@ object KeyguardClockViewBinder {

                launch {
                    if (!MigrateClocksToBlueprint.isEnabled) return@launch
                    combine(
                            rootViewModel.translationX,
                            rootViewModel.translationY,
                            rootViewModel.scale,
                            ::Triple
                        )
                        .collect { (translationX, translationY, scale) ->
                            viewModel.currentClock.value
                                ?.largeClock
                                ?.layout
                                ?.applyAodBurnIn(
                    rootViewModel.burnInModel.collect { burnInModel ->
                        viewModel.currentClock.value?.let {
                            it.largeClock.layout.applyAodBurnIn(
                                AodClockBurnInModel(
                                        translationX = translationX.value!!,
                                        translationY = translationY,
                                        scale = scale.scale
                                    translationX = burnInModel.translationX.toFloat(),
                                    translationY = burnInModel.translationY.toFloat(),
                                    scale = burnInModel.scale
                                )
                            )
                        }
@@ -135,6 +126,7 @@ object KeyguardClockViewBinder {
                }
            }
        }
    }

    @VisibleForTesting
    fun updateBurnInLayer(
+4 −2
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.Job
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.combineTransform
import kotlinx.coroutines.flow.distinctUntilChanged
@@ -117,7 +118,8 @@ constructor(
    private val shadeInteractor: ShadeInteractor,
) {
    private var burnInJob: Job? = null
    internal val burnInModel = MutableStateFlow(BurnInModel())
    private val _burnInModel = MutableStateFlow(BurnInModel())
    val burnInModel = _burnInModel.asStateFlow()

    val burnInLayerVisibility: Flow<Int> =
        keyguardTransitionInteractor.startedKeyguardState
@@ -279,7 +281,7 @@ constructor(

        burnInJob =
            scope.launch("$TAG#aodBurnInViewModel") {
                aodBurnInViewModel.movement(params).collect { burnInModel.value = it }
                aodBurnInViewModel.movement(params).collect { _burnInModel.value = it }
            }
    }