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

Commit efb7503b authored by Liana Kazanova's avatar Liana Kazanova
Browse files

Revert "Burn in - Don't allow it to enter top inset"

Revert submission 25203598

Reason for revert: Potential culprit for b/308619701 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Reverted changes: /q/submissionid:25203598

Change-Id: I980c2d472227c192321113c23e474a01a60637a7
parent 5bab0406
Loading
Loading
Loading
Loading
+1 −14
Original line number Diff line number Diff line
@@ -22,8 +22,6 @@ import android.view.View
import android.view.View.OnLayoutChangeListener
import android.view.ViewGroup
import android.view.ViewGroup.OnHierarchyChangeListener
import android.view.WindowInsets
import android.view.WindowInsets.Type
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.repeatOnLifecycle
import com.android.internal.jank.InteractionJankMonitor
@@ -244,18 +242,11 @@ object KeyguardRootViewBinder {
            }
        )

        view.setOnApplyWindowInsetsListener { v: View, insets: WindowInsets ->
            val insetTypes = WindowInsets.Type.systemBars() or WindowInsets.Type.displayCutout()
            viewModel.topInset = insets.getInsetsIgnoringVisibility(insetTypes).top
            insets
        }

        return object : DisposableHandle {
            override fun dispose() {
                disposableHandle.dispose()
                view.removeOnLayoutChangeListener(onLayoutChangeListener)
                view.setOnHierarchyChangeListener(null)
                view.setOnApplyWindowInsetsListener(null)
                childViews.clear()
            }
        }
@@ -297,6 +288,7 @@ object KeyguardRootViewBinder {
            oldBottom: Int
        ) {
            val nsslPlaceholder = v.findViewById(R.id.nssl_placeholder) as View?

            if (nsslPlaceholder != null) {
                // After layout, ensure the notifications are positioned correctly
                viewModel.onSharedNotificationContainerPositionChanged(
@@ -304,11 +296,6 @@ object KeyguardRootViewBinder {
                    nsslPlaceholder.bottom.toFloat(),
                )
            }

            val ksv = v.findViewById(R.id.keyguard_status_view) as View?
            if (ksv != null) {
                viewModel.statusViewTop = ksv.top
            }
        }
    }

+2 −10
Original line number Diff line number Diff line
@@ -65,12 +65,7 @@ constructor(
     */
    private val previewMode = MutableStateFlow(PreviewMode())

    var clockControllerProvider: Provider<ClockController>? = null

    /** System insets that keyguard needs to stay out of */
    var topInset: Int = 0
    /** Status view top, without translation added in */
    var statusViewTop: Int = 0
    public var clockControllerProvider: Provider<ClockController>? = null

    val burnInLayerVisibility: Flow<Int> =
        keyguardTransitionInteractor.startedKeyguardState
@@ -107,12 +102,9 @@ constructor(
                    scale = MathUtils.lerp(burnIn.scale, 1f, 1f - interpolation),
                )
            } else {
                // Ensure the desired translation doesn't encroach on the top inset
                val burnInY = MathUtils.lerp(0, burnIn.translationY, interpolation).toInt()
                val translationY = -(statusViewTop - Math.max(topInset, statusViewTop + burnInY))
                BurnInModel(
                    translationX = MathUtils.lerp(0, burnIn.translationX, interpolation).toInt(),
                    translationY = translationY,
                    translationY = MathUtils.lerp(0, burnIn.translationY, interpolation).toInt(),
                    scale = MathUtils.lerp(burnIn.scale, 1f, 1f - interpolation),
                    scaleClockOnly = true,
                )
+0 −33
Original line number Diff line number Diff line
@@ -179,8 +179,6 @@ class KeyguardRootViewModelTest : SysuiTestCase() {
            val translationY by collectLastValue(underTest.translationY)
            val scale by collectLastValue(underTest.scale)

            underTest.statusViewTop = 100

            // Set to dozing (on AOD)
            dozeAmountTransitionStep.emit(TransitionStep(value = 1f))
            // Trigger a change to the burn-in model
@@ -201,37 +199,6 @@ class KeyguardRootViewModelTest : SysuiTestCase() {
            assertThat(scale).isEqualTo(Pair(1f, true /* scaleClockOnly */))
        }

    @Test
    fun translationAndScaleFromBurnFullyDozingStaysOutOfTopInset() =
        testScope.runTest {
            val translationX by collectLastValue(underTest.translationX)
            val translationY by collectLastValue(underTest.translationY)
            val scale by collectLastValue(underTest.scale)

            underTest.statusViewTop = 100
            underTest.topInset = 80

            // Set to dozing (on AOD)
            dozeAmountTransitionStep.emit(TransitionStep(value = 1f))
            // Trigger a change to the burn-in model
            burnInFlow.value =
                BurnInModel(
                    translationX = 20,
                    translationY = -30,
                    scale = 0.5f,
                )
            assertThat(translationX).isEqualTo(20)
            // -20 instead of -30, due to inset of 80
            assertThat(translationY).isEqualTo(-20)
            assertThat(scale).isEqualTo(Pair(0.5f, true /* scaleClockOnly */))

            // Set to the beginning of GONE->AOD transition
            goneToAodTransitionStep.emit(TransitionStep(value = 0f))
            assertThat(translationX).isEqualTo(0)
            assertThat(translationY).isEqualTo(0)
            assertThat(scale).isEqualTo(Pair(1f, true /* scaleClockOnly */))
        }

    @Test
    fun translationAndScaleFromBurnInUseScaleOnly() =
        testScope.runTest {