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

Commit 4df3c665 authored by Brad Hinegardner's avatar Brad Hinegardner
Browse files

Burn-in movement for indication area should only be applied while on AOD

Use the transitionInteractor to make this transition seamless.
This will set the burn-in to 0 on anything other than AOD.

Fixes: 330186297
Test: manual
Flag: com.android.systemui.keyguard_bottom_area_refactor
Change-Id: I324d900af70197cdbfcd316fb90de719fc8a431a
parent 2dc7b8b3
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import com.android.systemui.keyguard.data.repository.FakeKeyguardRepository
import com.android.systemui.keyguard.domain.interactor.BurnInInteractor
import com.android.systemui.keyguard.domain.interactor.BurnInInteractor
import com.android.systemui.keyguard.domain.interactor.KeyguardBottomAreaInteractor
import com.android.systemui.keyguard.domain.interactor.KeyguardBottomAreaInteractor
import com.android.systemui.keyguard.domain.interactor.KeyguardInteractorFactory
import com.android.systemui.keyguard.domain.interactor.KeyguardInteractorFactory
import com.android.systemui.keyguard.domain.interactor.keyguardTransitionInteractor
import com.android.systemui.keyguard.shared.model.BurnInModel
import com.android.systemui.keyguard.shared.model.BurnInModel
import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordancePosition
import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordancePosition
import com.android.systemui.kosmos.testScope
import com.android.systemui.kosmos.testScope
@@ -104,6 +105,7 @@ class KeyguardIndicationAreaViewModelTest : SysuiTestCase() {
                burnInInteractor = burnInInteractor,
                burnInInteractor = burnInInteractor,
                shortcutsCombinedViewModel = shortcutsCombinedViewModel,
                shortcutsCombinedViewModel = shortcutsCombinedViewModel,
                configurationInteractor = ConfigurationInteractor(FakeConfigurationRepository()),
                configurationInteractor = ConfigurationInteractor(FakeConfigurationRepository()),
                keyguardTransitionInteractor = kosmos.keyguardTransitionInteractor,
            )
            )
    }
    }


+19 −5
Original line number Original line Diff line number Diff line
@@ -23,9 +23,12 @@ import com.android.systemui.keyguard.MigrateClocksToBlueprint
import com.android.systemui.keyguard.domain.interactor.BurnInInteractor
import com.android.systemui.keyguard.domain.interactor.BurnInInteractor
import com.android.systemui.keyguard.domain.interactor.KeyguardBottomAreaInteractor
import com.android.systemui.keyguard.domain.interactor.KeyguardBottomAreaInteractor
import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor
import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor
import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor
import com.android.systemui.keyguard.shared.model.BurnInModel
import com.android.systemui.keyguard.shared.model.BurnInModel
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.res.R
import com.android.systemui.res.R
import javax.inject.Inject
import javax.inject.Inject
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.distinctUntilChanged
@@ -42,6 +45,7 @@ constructor(
    private val burnInInteractor: BurnInInteractor,
    private val burnInInteractor: BurnInInteractor,
    private val shortcutsCombinedViewModel: KeyguardQuickAffordancesCombinedViewModel,
    private val shortcutsCombinedViewModel: KeyguardQuickAffordancesCombinedViewModel,
    configurationInteractor: ConfigurationInteractor,
    configurationInteractor: ConfigurationInteractor,
    keyguardTransitionInteractor: KeyguardTransitionInteractor,
) {
) {


    /** Notifies when a new configuration is set */
    /** Notifies when a new configuration is set */
@@ -69,12 +73,22 @@ constructor(
                .distinctUntilChanged()
                .distinctUntilChanged()
        }
        }


    @OptIn(ExperimentalCoroutinesApi::class)
    private val burnIn: Flow<BurnInModel> =
    private val burnIn: Flow<BurnInModel> =
        burnInInteractor
        combine(
            .burnIn(
                burnInInteractor.burnIn(
                    xDimenResourceId = R.dimen.burn_in_prevention_offset_x,
                    xDimenResourceId = R.dimen.burn_in_prevention_offset_x,
                    yDimenResourceId = R.dimen.default_burn_in_prevention_offset,
                    yDimenResourceId = R.dimen.default_burn_in_prevention_offset,
                ),
                keyguardTransitionInteractor.transitionValue(KeyguardState.AOD),
            ) { burnIn, aodTransitionValue ->
                BurnInModel(
                    (burnIn.translationX * aodTransitionValue).toInt(),
                    (burnIn.translationY * aodTransitionValue).toInt(),
                    burnIn.scale,
                    burnIn.scaleClockOnly,
                )
                )
            }
            .distinctUntilChanged()
            .distinctUntilChanged()


    /** An observable for the x-offset by which the indication area should be translated. */
    /** An observable for the x-offset by which the indication area should be translated. */