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

Commit 04a26d5e authored by Hawkwood Glazier's avatar Hawkwood Glazier Committed by Android (Google) Code Review
Browse files

Merge "Remove AOD clock combine call to improve perf" into main

parents 8fd4d3ea 3ce5f030
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 }
            }
    }