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

Commit 650b0551 authored by Matt Pietal's avatar Matt Pietal Committed by Android (Google) Code Review
Browse files

Merge "Remove Clock Migration Flag: 2/N" into main

parents 7fa54315 05212dc7
Loading
Loading
Loading
Loading
+0 −56
Original line number Diff line number Diff line
@@ -18,11 +18,8 @@

package com.android.systemui.keyguard.ui.viewmodel

import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.Flags as AConfigFlags
import com.android.systemui.SysuiTestCase
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.flags.DisableSceneContainer
@@ -75,7 +72,6 @@ class AodBurnInViewModelTest : SysuiTestCase() {
    private val burnInFlow = MutableStateFlow(BurnInModel())

    @Before
    @DisableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    @DisableSceneContainer
    fun setUp() {
        MockitoAnnotations.initMocks(this)
@@ -219,50 +215,6 @@ class AodBurnInViewModelTest : SysuiTestCase() {
        }

    @Test
    @DisableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    fun translationAndScale_whenFullyDozing_MigrationFlagOff_staysOutOfTopInset() =
        testScope.runTest {
            underTest.updateBurnInParams(burnInParameters.copy(minViewY = 100, topInset = 80))
            val movement by collectLastValue(underTest.movement)
            assertThat(movement?.translationX).isEqualTo(0)

            // Set to dozing (on AOD)
            keyguardTransitionRepository.sendTransitionStep(
                TransitionStep(
                    from = KeyguardState.GONE,
                    to = KeyguardState.AOD,
                    value = 1f,
                    transitionState = TransitionState.FINISHED,
                ),
                validateStep = false,
            )

            // Trigger a change to the burn-in model
            burnInFlow.value = BurnInModel(translationX = 20, translationY = -30, scale = 0.5f)
            assertThat(movement?.translationX).isEqualTo(20)
            // -20 instead of -30, due to inset of 80
            assertThat(movement?.translationY).isEqualTo(-20)
            assertThat(movement?.scale).isEqualTo(0.5f)
            assertThat(movement?.scaleClockOnly).isEqualTo(true)

            // Set to the beginning of GONE->AOD transition
            keyguardTransitionRepository.sendTransitionStep(
                TransitionStep(
                    from = KeyguardState.GONE,
                    to = KeyguardState.AOD,
                    value = 0f,
                    transitionState = TransitionState.STARTED,
                ),
                validateStep = false,
            )
            assertThat(movement?.translationX).isEqualTo(0)
            assertThat(movement?.translationY).isEqualTo(0)
            assertThat(movement?.scale).isEqualTo(1f)
            assertThat(movement?.scaleClockOnly).isEqualTo(true)
        }

    @Test
    @EnableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    fun translationAndScale_whenFullyDozing_MigrationFlagOn_staysOutOfTopInset() =
        testScope.runTest {
            underTest.updateBurnInParams(burnInParameters.copy(minViewY = 100, topInset = 80))
@@ -334,7 +286,6 @@ class AodBurnInViewModelTest : SysuiTestCase() {

    @Test
    @DisableSceneContainer
    @EnableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    fun translationAndScale_sceneContainerOff_weatherLargeClock() =
        testBurnInViewModelForClocks(
            isSmallClock = false,
@@ -344,7 +295,6 @@ class AodBurnInViewModelTest : SysuiTestCase() {

    @Test
    @DisableSceneContainer
    @EnableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    fun translationAndScale_sceneContainerOff_weatherSmallClock() =
        testBurnInViewModelForClocks(
            isSmallClock = true,
@@ -354,7 +304,6 @@ class AodBurnInViewModelTest : SysuiTestCase() {

    @Test
    @DisableSceneContainer
    @EnableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    fun translationAndScale_sceneContainerOff_nonWeatherLargeClock() =
        testBurnInViewModelForClocks(
            isSmallClock = false,
@@ -364,7 +313,6 @@ class AodBurnInViewModelTest : SysuiTestCase() {

    @Test
    @DisableSceneContainer
    @EnableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    fun translationAndScale_sceneContainerOff_nonWeatherSmallClock() =
        testBurnInViewModelForClocks(
            isSmallClock = true,
@@ -373,7 +321,6 @@ class AodBurnInViewModelTest : SysuiTestCase() {
        )

    @Test
    @EnableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    @EnableSceneContainer
    fun translationAndScale_sceneContainerOn_weatherLargeClock() =
        testBurnInViewModelForClocks(
@@ -383,7 +330,6 @@ class AodBurnInViewModelTest : SysuiTestCase() {
        )

    @Test
    @EnableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    @EnableSceneContainer
    fun translationAndScale_sceneContainerOn_weatherSmallClock() =
        testBurnInViewModelForClocks(
@@ -393,7 +339,6 @@ class AodBurnInViewModelTest : SysuiTestCase() {
        )

    @Test
    @EnableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    @EnableSceneContainer
    fun translationAndScale_sceneContainerOn_nonWeatherLargeClock() =
        testBurnInViewModelForClocks(
@@ -403,7 +348,6 @@ class AodBurnInViewModelTest : SysuiTestCase() {
        )

    @Test
    @EnableFlags(AConfigFlags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
    @EnableSceneContainer
    @Ignore("b/367659687")
    fun translationAndScale_sceneContainerOn_nonWeatherSmallClock() =
+0 −3
Original line number Diff line number Diff line
@@ -19,12 +19,10 @@

package com.android.systemui.keyguard.ui.viewmodel

import android.platform.test.annotations.EnableFlags
import android.platform.test.flag.junit.FlagsParameterization
import android.view.View
import androidx.test.filters.SmallTest
import com.android.compose.animation.scene.ObservableTransitionState
import com.android.systemui.Flags.FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT
import com.android.systemui.SysuiTestCase
import com.android.systemui.communal.data.repository.communalSceneRepository
import com.android.systemui.communal.shared.model.CommunalScenes
@@ -73,7 +71,6 @@ import platform.test.runner.parameterized.Parameters

@SmallTest
@RunWith(ParameterizedAndroidJunit4::class)
@EnableFlags(FLAG_MIGRATE_CLOCKS_TO_BLUEPRINT)
class KeyguardRootViewModelTest(flags: FlagsParameterization) : SysuiTestCase() {
    private val kosmos = testKosmos()
    private val testScope = kosmos.testScope
+26 −36
Original line number Diff line number Diff line
@@ -19,13 +19,12 @@ package com.android.keyguard
import android.content.Context
import android.view.View
import com.android.systemui.customization.R as customR
import com.android.systemui.keyguard.MigrateClocksToBlueprint
import com.android.systemui.keyguard.ui.view.KeyguardRootView
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.res.R
import com.android.systemui.shared.R as sharedR
import com.android.systemui.shade.NotificationShadeWindowView
import com.android.systemui.shade.ShadeDisplayAware
import com.android.systemui.shared.R as sharedR
import com.android.systemui.shared.animation.UnfoldConstantTranslateAnimator
import com.android.systemui.shared.animation.UnfoldConstantTranslateAnimator.Direction.END
import com.android.systemui.shared.animation.UnfoldConstantTranslateAnimator.Direction.START
@@ -55,16 +54,17 @@ constructor(
    var statusViewCentered = false

    private val filterKeyguardAndSplitShadeOnly: () -> Boolean = {
        statusBarStateController.getState() == KEYGUARD && !statusViewCentered }
        statusBarStateController.getState() == KEYGUARD && !statusViewCentered
    }
    private val filterKeyguard: () -> Boolean = { statusBarStateController.getState() == KEYGUARD }

    private val translateAnimator by lazy {
        val smartSpaceViews = if (MigrateClocksToBlueprint.isEnabled) {
        // Use scrollX instead of translationX as translation is already set by [AodBurnInLayer]
        val scrollXTranslation = { view: View, translation: Float ->
            view.scrollX = -translation.toInt()
        }

        val smartSpaceViews =
            setOf(
                ViewIdToTranslate(
                    viewId = sharedR.id.date_smartspace_view,
@@ -83,18 +83,8 @@ constructor(
                    direction = START,
                    shouldBeAnimated = filterKeyguard,
                    translateFunc = scrollXTranslation,
                ),
            )
            )
        } else {
            setOf(ViewIdToTranslate(
                viewId = R.id.keyguard_status_area,
                direction = START,
                shouldBeAnimated = filterKeyguard,
                translateFunc = { view, value ->
                    (view as? KeyguardStatusAreaView)?.translateXFromUnfold = value
                }
            ))
        }

        UnfoldConstantTranslateAnimator(
            viewsIdToTranslate =
@@ -102,20 +92,20 @@ constructor(
                    ViewIdToTranslate(
                        viewId = customR.id.lockscreen_clock_view_large,
                        direction = START,
                        shouldBeAnimated = filterKeyguardAndSplitShadeOnly
                        shouldBeAnimated = filterKeyguardAndSplitShadeOnly,
                    ),
                    ViewIdToTranslate(
                        viewId = customR.id.lockscreen_clock_view,
                        direction = START,
                        shouldBeAnimated = filterKeyguard
                        shouldBeAnimated = filterKeyguard,
                    ),
                    ViewIdToTranslate(
                        viewId = R.id.notification_stack_scroller,
                        direction = END,
                        shouldBeAnimated = filterKeyguardAndSplitShadeOnly
                    )
                        shouldBeAnimated = filterKeyguardAndSplitShadeOnly,
                    ),
                ) + smartSpaceViews,
            progressProvider = unfoldProgressProvider
            progressProvider = unfoldProgressProvider,
        )
    }

@@ -126,15 +116,15 @@ constructor(
                    ViewIdToTranslate(
                        viewId = R.id.start_button,
                        direction = START,
                    shouldBeAnimated = filterKeyguard
                        shouldBeAnimated = filterKeyguard,
                    ),
                    ViewIdToTranslate(
                        viewId = R.id.end_button,
                        direction = END,
                    shouldBeAnimated = filterKeyguard
                )
                        shouldBeAnimated = filterKeyguard,
                    ),
                ),
            progressProvider = unfoldProgressProvider
            progressProvider = unfoldProgressProvider,
        )
    }

+1 −2
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ import androidx.annotation.VisibleForTesting
import androidx.core.math.MathUtils
import com.android.app.animation.Interpolators
import com.android.internal.R
import com.android.keyguard.KeyguardClockSwitchController
import com.android.keyguard.KeyguardViewController
import com.android.systemui.Flags.fasterUnlockTransition
import com.android.systemui.dagger.SysUISingleton
@@ -206,7 +205,7 @@ constructor(
        fun onUnlockAnimationFinished() {}
    }

    /** The SmartSpace view on the lockscreen, provided by [KeyguardClockSwitchController]. */
    /** The SmartSpace view on the lockscreen. */
    var lockscreenSmartspace: View? = null

    /**
+4 −21
Original line number Diff line number Diff line
@@ -132,16 +132,13 @@ object KeyguardRootViewBinder {
                        ) {
                            consumed = true
                        } else if (
                            event.action == MotionEvent.ACTION_UP &&
                            !event.isTouchscreenSource()
                            event.action == MotionEvent.ACTION_UP && !event.isTouchscreenSource()
                        ) {
                            statusBarKeyguardViewManager?.showBouncer(true)
                            consumed = true
                        }
                    }
                    viewModel.setRootViewLastTapPosition(
                        Point(event.x.toInt(), event.y.toInt())
                    )
                    viewModel.setRootViewLastTapPosition(Point(event.x.toInt(), event.y.toInt()))
                }
                consumed
            }
@@ -172,7 +169,6 @@ object KeyguardRootViewBinder {
                    launch("$TAG#alpha") {
                        viewModel.alpha(viewState).collect { alpha ->
                            view.alpha = alpha
                            childViews[statusViewId]?.alpha = alpha
                            childViews[burnInLayerId]?.alpha = alpha
                        }
                    }
@@ -252,18 +248,6 @@ object KeyguardRootViewBinder {
                        }
                    }

                    launch {
                        viewModel.burnInLayerAlpha.collect { alpha ->
                            childViews[statusViewId]?.alpha = alpha
                        }
                    }

                    launch {
                        viewModel.lockscreenStateAlpha(viewState).collect { alpha ->
                            childViews[statusViewId]?.alpha = alpha
                        }
                    }

                    launch {
                        viewModel.scale.collect { scaleViewModel ->
                            if (scaleViewModel.scaleClockOnly) {
@@ -553,7 +537,6 @@ object KeyguardRootViewBinder {
        return device?.supportsSource(InputDevice.SOURCE_TOUCHSCREEN) == true
    }

    private val statusViewId = R.id.keyguard_status_view
    private val burnInLayerId = R.id.burn_in_layer
    private val aodNotificationIconContainerId = R.id.aod_notification_icon_container
    private val largeClockId = customR.id.lockscreen_clock_view_large
Loading