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

Commit fa5c9e5e authored by Jiayin Liu's avatar Jiayin Liu
Browse files

Revert "Migrate OCCLUDED<->LOCKSCREEN alpha/translation"

Revert submission 25515462

Reason for revert: DroidMonitor: Potential culprit for Bug b/314180136 - 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:25515462

Change-Id: I9ba51a7cfcd2267d9bbbebad23948cdbe111a435
parent 0889dfe0
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.bouncer.data.repository.FakeKeyguardBouncerRepository
import com.android.systemui.common.ui.data.repository.FakeConfigurationRepository
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.keyguard.data.repository.FakeCommandQueue
import com.android.systemui.keyguard.shared.model.CameraLaunchSourceModel
@@ -54,6 +53,7 @@ class KeyguardInteractorTest : SysuiTestCase() {
    private val sceneInteractor = testUtils.sceneInteractor()
    private val commandQueue = FakeCommandQueue()
    private val bouncerRepository = FakeKeyguardBouncerRepository()
    private val configurationRepository = FakeConfigurationRepository()
    private val shadeRepository = FakeShadeRepository()
    private val transitionState: MutableStateFlow<ObservableTransitionState> =
        MutableStateFlow(ObservableTransitionState.Idle(SceneKey.Gone))
@@ -65,7 +65,7 @@ class KeyguardInteractorTest : SysuiTestCase() {
            powerInteractor = PowerInteractorFactory.create().powerInteractor,
            sceneContainerFlags = testUtils.sceneContainerFlags,
            bouncerRepository = bouncerRepository,
            configurationInteractor = ConfigurationInteractor(FakeConfigurationRepository()),
            configurationRepository = configurationRepository,
            shadeRepository = shadeRepository,
            sceneInteractorProvider = { sceneInteractor },
        )
+1 −1
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.coroutines.collectLastValue
import com.android.systemui.coroutines.collectValues
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor
import com.android.systemui.flags.Flags
import com.android.systemui.flags.featureFlagsClassic
import com.android.systemui.keyguard.data.repository.fakeKeyguardRepository
@@ -47,6 +46,7 @@ import org.junit.runner.RunWith
@SmallTest
@RunWith(AndroidJUnit4::class)
class LockscreenToOccludedTransitionViewModelTest : SysuiTestCase() {

    private val kosmos =
        testKosmos().apply {
            featureFlagsClassic.apply { set(Flags.FULL_SCREEN_USER_SWITCHER, false) }
+6 −15
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
import com.android.systemui.biometrics.data.repository.FakeFingerprintPropertyRepository
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor
import com.android.systemui.deviceentry.domain.interactor.DeviceEntryUdfpsInteractor
import com.android.systemui.keyguard.data.repository.FakeBiometricSettingsRepository
import com.android.systemui.keyguard.data.repository.FakeDeviceEntryFingerprintAuthRepository
@@ -29,11 +28,9 @@ import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInterac
import com.android.systemui.keyguard.shared.model.KeyguardState
import com.android.systemui.keyguard.shared.model.TransitionState
import com.android.systemui.keyguard.shared.model.TransitionStep
import com.android.systemui.util.mockito.whenever
import com.google.common.collect.Range
import com.google.common.truth.Truth.assertThat
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.test.TestScope
@@ -42,9 +39,6 @@ import kotlinx.coroutines.test.runTest
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.Mockito.anyInt
import org.mockito.MockitoAnnotations

@ExperimentalCoroutinesApi
@SmallTest
@@ -54,16 +48,12 @@ class OccludedToLockscreenTransitionViewModelTest : SysuiTestCase() {
    private lateinit var repository: FakeKeyguardTransitionRepository
    private lateinit var fingerprintPropertyRepository: FakeFingerprintPropertyRepository
    private lateinit var biometricSettingsRepository: FakeBiometricSettingsRepository
    @Mock private lateinit var configurationInteractor: ConfigurationInteractor
    private val dimenFlow = MutableStateFlow(0)

    @Before
    fun setUp() {
        MockitoAnnotations.initMocks(this)
        repository = FakeKeyguardTransitionRepository()
        fingerprintPropertyRepository = FakeFingerprintPropertyRepository()
        biometricSettingsRepository = FakeBiometricSettingsRepository()
        whenever(configurationInteractor.dimensionPixelSize(anyInt())).thenReturn(dimenFlow)
        underTest =
            OccludedToLockscreenTransitionViewModel(
                interactor =
@@ -78,7 +68,6 @@ class OccludedToLockscreenTransitionViewModelTest : SysuiTestCase() {
                        fingerprintAuthRepository = FakeDeviceEntryFingerprintAuthRepository(),
                        biometricSettingsRepository = biometricSettingsRepository,
                    ),
                configurationInteractor,
            )
    }

@@ -109,10 +98,11 @@ class OccludedToLockscreenTransitionViewModelTest : SysuiTestCase() {
    @Test
    fun lockscreenTranslationY() =
        runTest(UnconfinedTestDispatcher()) {
            dimenFlow.value = 100
            val values = mutableListOf<Float>()

            val job = underTest.lockscreenTranslationY.onEach { values.add(it) }.launchIn(this)
            val pixels = 100
            val job =
                underTest.lockscreenTranslationY(pixels).onEach { values.add(it) }.launchIn(this)

            repository.sendTransitionStep(step(0f, TransitionState.STARTED))
            repository.sendTransitionStep(step(0f))
@@ -129,10 +119,11 @@ class OccludedToLockscreenTransitionViewModelTest : SysuiTestCase() {
    @Test
    fun lockscreenTranslationYResettedAfterJobCancelled() =
        runTest(UnconfinedTestDispatcher()) {
            dimenFlow.value = 100
            val values = mutableListOf<Float>()

            val job = underTest.lockscreenTranslationY.onEach { values.add(it) }.launchIn(this)
            val pixels = 100
            val job =
                underTest.lockscreenTranslationY(pixels).onEach { values.add(it) }.launchIn(this)
            repository.sendTransitionStep(step(0.5f, TransitionState.CANCELED))

            assertThat(values.last()).isEqualTo(0f)
+34 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import com.android.systemui.keyguard.shared.model.DismissAction
import com.android.systemui.keyguard.shared.model.DozeStateModel
import com.android.systemui.keyguard.shared.model.DozeTransitionModel
import com.android.systemui.keyguard.shared.model.KeyguardDone
import com.android.systemui.keyguard.shared.model.KeyguardRootViewVisibilityState
import com.android.systemui.keyguard.shared.model.StatusBarState
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.policy.KeyguardStateController
@@ -179,6 +180,9 @@ interface KeyguardRepository {
    /** Whether quick settings or quick-quick settings is visible. */
    val isQuickSettingsVisible: Flow<Boolean>

    /** Represents the current state of the KeyguardRootView visibility */
    val keyguardRootViewVisibility: Flow<KeyguardRootViewVisibilityState>

    /** Receive an event for doze time tick */
    val dozeTimeTick: Flow<Long>

@@ -212,6 +216,12 @@ interface KeyguardRepository {
    /** Sets the current amount of alpha that should be used for rendering the keyguard. */
    fun setKeyguardAlpha(alpha: Float)

    fun setKeyguardVisibility(
        statusBarState: Int,
        goingToFullShade: Boolean,
        occlusionTransitionRunning: Boolean
    )

    /**
     * Sets the relative offset of the lock-screen clock from its natural position on the screen.
     */
@@ -621,6 +631,17 @@ constructor(
    private val _isActiveDreamLockscreenHosted = MutableStateFlow(false)
    override val isActiveDreamLockscreenHosted = _isActiveDreamLockscreenHosted.asStateFlow()

    private val _keyguardRootViewVisibility =
        MutableStateFlow(
            KeyguardRootViewVisibilityState(
                com.android.systemui.statusbar.StatusBarState.SHADE,
                goingToFullShade = false,
                occlusionTransitionRunning = false,
            )
        )
    override val keyguardRootViewVisibility: Flow<KeyguardRootViewVisibilityState> =
        _keyguardRootViewVisibility.asStateFlow()

    override fun setAnimateDozingTransitions(animate: Boolean) {
        _animateBottomAreaDozingTransitions.value = animate
    }
@@ -633,6 +654,19 @@ constructor(
        _keyguardAlpha.value = alpha
    }

    override fun setKeyguardVisibility(
        statusBarState: Int,
        goingToFullShade: Boolean,
        occlusionTransitionRunning: Boolean
    ) {
        _keyguardRootViewVisibility.value =
            KeyguardRootViewVisibilityState(
                statusBarState,
                goingToFullShade,
                occlusionTransitionRunning
            )
    }

    override fun setClockPosition(x: Int, y: Int) {
        _clockPosition.value = Position(x, y)
    }
+35 −17
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLoggin
import com.android.systemui.common.coroutine.ConflatedCallbackFlow.conflatedCallbackFlow
import com.android.systemui.common.shared.model.NotificationContainerBounds
import com.android.systemui.common.shared.model.Position
import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor
import com.android.systemui.common.ui.data.repository.ConfigurationRepository
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.keyguard.data.repository.KeyguardRepository
import com.android.systemui.keyguard.shared.model.BiometricUnlockModel
@@ -77,7 +77,7 @@ constructor(
    powerInteractor: PowerInteractor,
    sceneContainerFlags: SceneContainerFlags,
    bouncerRepository: KeyguardBouncerRepository,
    configurationInteractor: ConfigurationInteractor,
    configurationRepository: ConfigurationRepository,
    shadeRepository: ShadeRepository,
    sceneInteractorProvider: Provider<SceneInteractor>,
) {
@@ -213,15 +213,21 @@ constructor(
    /** The approximate location on the screen of the face unlock sensor, if one is available. */
    val faceSensorLocation: Flow<Point?> = repository.faceSensorLocation

    /** Notifies when a new configuration is set */
    val configurationChange: Flow<Unit> =
        configurationRepository.onAnyConfigurationChange.onStart { emit(Unit) }

    /** The position of the keyguard clock. */
    val clockPosition: Flow<Position> = repository.clockPosition

    val keyguardAlpha: Flow<Float> = repository.keyguardAlpha

    val keyguardTranslationY: Flow<Float> =
        configurationInteractor
            .dimensionPixelSize(R.dimen.keyguard_translate_distance_on_swipe_up)
            .flatMapLatest { translationDistance ->
        configurationChange.flatMapLatest {
            val translationDistance =
                configurationRepository.getDimensionPixelSize(
                    R.dimen.keyguard_translate_distance_on_swipe_up
                )
            shadeRepository.shadeModel.map {
                if (it.expansionAmount == 0f) {
                    // Reset the translation value
@@ -291,6 +297,18 @@ constructor(
        repository.setQuickSettingsVisible(isVisible)
    }

    fun setKeyguardRootVisibility(
        statusBarState: Int,
        goingToFullShade: Boolean,
        isOcclusionTransitionRunning: Boolean
    ) {
        repository.setKeyguardVisibility(
            statusBarState,
            goingToFullShade,
            isOcclusionTransitionRunning
        )
    }

    fun setClockPosition(x: Int, y: Int) {
        repository.setClockPosition(x, y)
    }
Loading