Loading packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt +23 −0 Original line number Diff line number Diff line Loading @@ -263,6 +263,29 @@ class KeyguardInteractorTest : SysuiTestCase() { assertThat(dismissAlpha.size).isEqualTo(3) } @Test fun dismissAlpha_doesNotEmitWhenNotDismissible() = testScope.runTest { val dismissAlpha by collectValues(underTest.dismissAlpha) assertThat(dismissAlpha[0]).isEqualTo(1f) assertThat(dismissAlpha.size).isEqualTo(1) keyguardTransitionRepository.sendTransitionSteps(from = AOD, to = LOCKSCREEN, testScope) // User begins to swipe up when not dimissible, which would show bouncer repository.setStatusBarState(StatusBarState.KEYGUARD) repository.setKeyguardDismissible(false) shadeRepository.setLegacyShadeExpansion(0.98f) assertThat(dismissAlpha[0]).isEqualTo(1f) assertThat(dismissAlpha.size).isEqualTo(1) // Shade reset should not affect dismiss alpha when not dismissible shadeRepository.setLegacyShadeExpansion(0f) assertThat(dismissAlpha[0]).isEqualTo(1f) assertThat(dismissAlpha.size).isEqualTo(1) } @Test fun dismissAlpha_onGlanceableHub_doesNotEmitWhenShadeResets() = testScope.runTest { Loading packages/SystemUI/res/values/dimens.xml +1 −1 Original line number Diff line number Diff line Loading @@ -989,7 +989,7 @@ <dimen name="keyguard_security_container_padding_top">20dp</dimen> <dimen name="keyguard_translate_distance_on_swipe_up">-200dp</dimen> <dimen name="keyguard_translate_distance_on_swipe_up">-180dp</dimen> <dimen name="keyguard_indication_margin_bottom">32dp</dimen> <dimen name="ambient_indication_margin_bottom">71dp</dimen> Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt +4 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import com.android.systemui.communal.domain.interactor.CommunalSceneInteractor import com.android.systemui.communal.domain.interactor.CommunalSettingsInteractor import com.android.systemui.communal.shared.model.CommunalScenes import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.keyguard.KeyguardWmStateRefactor Loading Loading @@ -62,6 +63,7 @@ constructor( override val internalTransitionInteractor: InternalKeyguardTransitionInteractor, transitionInteractor: KeyguardTransitionInteractor, @Background private val scope: CoroutineScope, @Application private val applicationScope: CoroutineScope, @Background bgDispatcher: CoroutineDispatcher, @Main mainDispatcher: CoroutineDispatcher, keyguardInteractor: KeyguardInteractor, Loading Loading @@ -175,7 +177,7 @@ constructor( private fun listenForLockscreenToPrimaryBouncerDragging() { if (SceneContainerFlag.isEnabled) return var transitionId: UUID? = null scope.launch("$TAG#listenForLockscreenToPrimaryBouncerDragging") { applicationScope.launch("$TAG#listenForLockscreenToPrimaryBouncerDragging") { shadeRepository.legacyShadeExpansion.collect { shadeExpansion -> val statusBarState = keyguardInteractor.statusBarState.value val isKeyguardUnlocked = keyguardInteractor.isKeyguardDismissible.value Loading Loading @@ -204,7 +206,7 @@ constructor( id, // This maps the shadeExpansion to a much faster curve, to match // the existing logic 1f - MathUtils.constrainedMap(0f, 1f, 0.95f, 1f, shadeExpansion), 1f - MathUtils.constrainedMap(0f, 1f, 0.88f, 1f, shadeExpansion), nextState, ) } Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt +5 −12 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ import android.app.StatusBarManager import android.graphics.Point import android.util.Log import android.util.MathUtils import com.android.app.animation.Interpolators import com.android.systemui.bouncer.data.repository.KeyguardBouncerRepository import com.android.systemui.common.shared.model.NotificationContainerBounds import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor Loading Loading @@ -371,9 +370,11 @@ constructor( currentKeyguardState == LOCKSCREEN && legacyShadeExpansion != 1f ) { emit(MathUtils.constrainedMap(0f, 1f, 0.95f, 1f, legacyShadeExpansion)) emit(MathUtils.constrainedMap(0f, 1f, 0.82f, 1f, legacyShadeExpansion)) } else if ( (legacyShadeExpansion == 0f || legacyShadeExpansion == 1f) && !onGlanceableHub !onGlanceableHub && isKeyguardDismissible && (legacyShadeExpansion == 0f || legacyShadeExpansion == 1f) ) { // Resets alpha state emit(1f) Loading Loading @@ -401,15 +402,7 @@ constructor( // 0f and 1f need to be ignored in the legacy shade expansion. These can // flip arbitrarily as the legacy shade is reset, and would cause the // translation value to jump around unexpectedly. emit( MathUtils.lerp( translationDistance, 0, Interpolators.FAST_OUT_LINEAR_IN.getInterpolation( legacyShadeExpansion ), ) ) emit(MathUtils.lerp(translationDistance, 0, legacyShadeExpansion)) } } } Loading packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractorKosmos.kt +1 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ var Kosmos.fromLockscreenTransitionInteractor by transitionInteractor = keyguardTransitionInteractor, internalTransitionInteractor = internalKeyguardTransitionInteractor, scope = applicationCoroutineScope, applicationScope = applicationCoroutineScope, bgDispatcher = testDispatcher, mainDispatcher = testDispatcher, keyguardInteractor = keyguardInteractor, Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractorTest.kt +23 −0 Original line number Diff line number Diff line Loading @@ -263,6 +263,29 @@ class KeyguardInteractorTest : SysuiTestCase() { assertThat(dismissAlpha.size).isEqualTo(3) } @Test fun dismissAlpha_doesNotEmitWhenNotDismissible() = testScope.runTest { val dismissAlpha by collectValues(underTest.dismissAlpha) assertThat(dismissAlpha[0]).isEqualTo(1f) assertThat(dismissAlpha.size).isEqualTo(1) keyguardTransitionRepository.sendTransitionSteps(from = AOD, to = LOCKSCREEN, testScope) // User begins to swipe up when not dimissible, which would show bouncer repository.setStatusBarState(StatusBarState.KEYGUARD) repository.setKeyguardDismissible(false) shadeRepository.setLegacyShadeExpansion(0.98f) assertThat(dismissAlpha[0]).isEqualTo(1f) assertThat(dismissAlpha.size).isEqualTo(1) // Shade reset should not affect dismiss alpha when not dismissible shadeRepository.setLegacyShadeExpansion(0f) assertThat(dismissAlpha[0]).isEqualTo(1f) assertThat(dismissAlpha.size).isEqualTo(1) } @Test fun dismissAlpha_onGlanceableHub_doesNotEmitWhenShadeResets() = testScope.runTest { Loading
packages/SystemUI/res/values/dimens.xml +1 −1 Original line number Diff line number Diff line Loading @@ -989,7 +989,7 @@ <dimen name="keyguard_security_container_padding_top">20dp</dimen> <dimen name="keyguard_translate_distance_on_swipe_up">-200dp</dimen> <dimen name="keyguard_translate_distance_on_swipe_up">-180dp</dimen> <dimen name="keyguard_indication_margin_bottom">32dp</dimen> <dimen name="ambient_indication_margin_bottom">71dp</dimen> Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractor.kt +4 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import com.android.systemui.communal.domain.interactor.CommunalSceneInteractor import com.android.systemui.communal.domain.interactor.CommunalSettingsInteractor import com.android.systemui.communal.shared.model.CommunalScenes import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.keyguard.KeyguardWmStateRefactor Loading Loading @@ -62,6 +63,7 @@ constructor( override val internalTransitionInteractor: InternalKeyguardTransitionInteractor, transitionInteractor: KeyguardTransitionInteractor, @Background private val scope: CoroutineScope, @Application private val applicationScope: CoroutineScope, @Background bgDispatcher: CoroutineDispatcher, @Main mainDispatcher: CoroutineDispatcher, keyguardInteractor: KeyguardInteractor, Loading Loading @@ -175,7 +177,7 @@ constructor( private fun listenForLockscreenToPrimaryBouncerDragging() { if (SceneContainerFlag.isEnabled) return var transitionId: UUID? = null scope.launch("$TAG#listenForLockscreenToPrimaryBouncerDragging") { applicationScope.launch("$TAG#listenForLockscreenToPrimaryBouncerDragging") { shadeRepository.legacyShadeExpansion.collect { shadeExpansion -> val statusBarState = keyguardInteractor.statusBarState.value val isKeyguardUnlocked = keyguardInteractor.isKeyguardDismissible.value Loading Loading @@ -204,7 +206,7 @@ constructor( id, // This maps the shadeExpansion to a much faster curve, to match // the existing logic 1f - MathUtils.constrainedMap(0f, 1f, 0.95f, 1f, shadeExpansion), 1f - MathUtils.constrainedMap(0f, 1f, 0.88f, 1f, shadeExpansion), nextState, ) } Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/KeyguardInteractor.kt +5 −12 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ import android.app.StatusBarManager import android.graphics.Point import android.util.Log import android.util.MathUtils import com.android.app.animation.Interpolators import com.android.systemui.bouncer.data.repository.KeyguardBouncerRepository import com.android.systemui.common.shared.model.NotificationContainerBounds import com.android.systemui.common.ui.domain.interactor.ConfigurationInteractor Loading Loading @@ -371,9 +370,11 @@ constructor( currentKeyguardState == LOCKSCREEN && legacyShadeExpansion != 1f ) { emit(MathUtils.constrainedMap(0f, 1f, 0.95f, 1f, legacyShadeExpansion)) emit(MathUtils.constrainedMap(0f, 1f, 0.82f, 1f, legacyShadeExpansion)) } else if ( (legacyShadeExpansion == 0f || legacyShadeExpansion == 1f) && !onGlanceableHub !onGlanceableHub && isKeyguardDismissible && (legacyShadeExpansion == 0f || legacyShadeExpansion == 1f) ) { // Resets alpha state emit(1f) Loading Loading @@ -401,15 +402,7 @@ constructor( // 0f and 1f need to be ignored in the legacy shade expansion. These can // flip arbitrarily as the legacy shade is reset, and would cause the // translation value to jump around unexpectedly. emit( MathUtils.lerp( translationDistance, 0, Interpolators.FAST_OUT_LINEAR_IN.getInterpolation( legacyShadeExpansion ), ) ) emit(MathUtils.lerp(translationDistance, 0, legacyShadeExpansion)) } } } Loading
packages/SystemUI/tests/utils/src/com/android/systemui/keyguard/domain/interactor/FromLockscreenTransitionInteractorKosmos.kt +1 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ var Kosmos.fromLockscreenTransitionInteractor by transitionInteractor = keyguardTransitionInteractor, internalTransitionInteractor = internalKeyguardTransitionInteractor, scope = applicationCoroutineScope, applicationScope = applicationCoroutineScope, bgDispatcher = testDispatcher, mainDispatcher = testDispatcher, keyguardInteractor = keyguardInteractor, Loading