Loading packages/SystemUI/src/com/android/systemui/bouncer/data/repository/KeyguardBouncerRepository.kt +3 −2 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ interface KeyguardBouncerRepository { * ``` */ val panelExpansionAmount: StateFlow<Float> val keyguardPosition: StateFlow<Float> val keyguardPosition: StateFlow<Float?> val isBackButtonEnabled: StateFlow<Boolean?> /** Determines if user is already unlocked */ val keyguardAuthenticated: StateFlow<Boolean?> Loading Loading @@ -130,7 +130,7 @@ constructor( */ private val _panelExpansionAmount = MutableStateFlow(EXPANSION_HIDDEN) override val panelExpansionAmount = _panelExpansionAmount.asStateFlow() private val _keyguardPosition = MutableStateFlow(0f) private val _keyguardPosition = MutableStateFlow<Float?>(null) override val keyguardPosition = _keyguardPosition.asStateFlow() private val _isBackButtonEnabled = MutableStateFlow<Boolean?>(null) override val isBackButtonEnabled = _isBackButtonEnabled.asStateFlow() Loading Loading @@ -244,6 +244,7 @@ constructor( .logDiffsForTable(buffer, "", "PanelExpansionAmountMillis", -1) .launchIn(applicationScope) keyguardPosition .filterNotNull() .map { it.toInt() } .logDiffsForTable(buffer, "", "KeyguardPosition", -1) .launchIn(applicationScope) Loading packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractor.kt +1 −1 Original line number Diff line number Diff line Loading @@ -94,7 +94,7 @@ constructor( val startingDisappearAnimation: Flow<Runnable> = repository.primaryBouncerStartingDisappearAnimation.filterNotNull() val resourceUpdateRequests: Flow<Boolean> = repository.resourceUpdateRequests.filter { it } val keyguardPosition: Flow<Float> = repository.keyguardPosition val keyguardPosition: Flow<Float> = repository.keyguardPosition.filterNotNull() val panelExpansionAmount: Flow<Float> = repository.panelExpansionAmount /** 0f = bouncer fully hidden. 1f = bouncer fully visible. */ val bouncerExpansion: Flow<Float> = Loading packages/SystemUI/tests/src/com/android/systemui/bouncer/ui/viewmodel/KeyguardBouncerViewModelTest.kt +22 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,8 @@ import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor import com.android.systemui.bouncer.shared.model.BouncerShowMessageModel import com.android.systemui.bouncer.ui.BouncerView import com.android.systemui.classifier.FalsingCollector import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues import com.android.systemui.flags.FakeFeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.keyguard.DismissCallbackRegistry Loading Loading @@ -156,4 +158,24 @@ class KeyguardBouncerViewModelTest : SysuiTestCase() { assertThat(isShowing).isEqualTo(false) job.cancel() } @Test fun keyguardPosition_noValueSet_emptyByDefault() = runTest { val positionValues by collectValues(underTest.keyguardPosition) runCurrent() assertThat(positionValues).isEmpty() } @Test fun keyguardPosition_valueSet_returnsValue() = runTest { val position by collectLastValue(underTest.keyguardPosition) runCurrent() repository.setKeyguardPosition(123f) runCurrent() assertThat(position).isEqualTo(123f) } } packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/data/repository/FakeKeyguardBouncerRepository.kt +1 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ class FakeKeyguardBouncerRepository : KeyguardBouncerRepository { override val primaryBouncerScrimmed = _primaryBouncerScrimmed.asStateFlow() private val _panelExpansionAmount = MutableStateFlow(KeyguardBouncerConstants.EXPANSION_HIDDEN) override val panelExpansionAmount = _panelExpansionAmount.asStateFlow() private val _keyguardPosition = MutableStateFlow(0f) private val _keyguardPosition = MutableStateFlow<Float?>(null) override val keyguardPosition = _keyguardPosition.asStateFlow() private val _isBackButtonEnabled = MutableStateFlow<Boolean?>(null) override val isBackButtonEnabled = _isBackButtonEnabled.asStateFlow() Loading Loading
packages/SystemUI/src/com/android/systemui/bouncer/data/repository/KeyguardBouncerRepository.kt +3 −2 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ interface KeyguardBouncerRepository { * ``` */ val panelExpansionAmount: StateFlow<Float> val keyguardPosition: StateFlow<Float> val keyguardPosition: StateFlow<Float?> val isBackButtonEnabled: StateFlow<Boolean?> /** Determines if user is already unlocked */ val keyguardAuthenticated: StateFlow<Boolean?> Loading Loading @@ -130,7 +130,7 @@ constructor( */ private val _panelExpansionAmount = MutableStateFlow(EXPANSION_HIDDEN) override val panelExpansionAmount = _panelExpansionAmount.asStateFlow() private val _keyguardPosition = MutableStateFlow(0f) private val _keyguardPosition = MutableStateFlow<Float?>(null) override val keyguardPosition = _keyguardPosition.asStateFlow() private val _isBackButtonEnabled = MutableStateFlow<Boolean?>(null) override val isBackButtonEnabled = _isBackButtonEnabled.asStateFlow() Loading Loading @@ -244,6 +244,7 @@ constructor( .logDiffsForTable(buffer, "", "PanelExpansionAmountMillis", -1) .launchIn(applicationScope) keyguardPosition .filterNotNull() .map { it.toInt() } .logDiffsForTable(buffer, "", "KeyguardPosition", -1) .launchIn(applicationScope) Loading
packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractor.kt +1 −1 Original line number Diff line number Diff line Loading @@ -94,7 +94,7 @@ constructor( val startingDisappearAnimation: Flow<Runnable> = repository.primaryBouncerStartingDisappearAnimation.filterNotNull() val resourceUpdateRequests: Flow<Boolean> = repository.resourceUpdateRequests.filter { it } val keyguardPosition: Flow<Float> = repository.keyguardPosition val keyguardPosition: Flow<Float> = repository.keyguardPosition.filterNotNull() val panelExpansionAmount: Flow<Float> = repository.panelExpansionAmount /** 0f = bouncer fully hidden. 1f = bouncer fully visible. */ val bouncerExpansion: Flow<Float> = Loading
packages/SystemUI/tests/src/com/android/systemui/bouncer/ui/viewmodel/KeyguardBouncerViewModelTest.kt +22 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,8 @@ import com.android.systemui.bouncer.domain.interactor.PrimaryBouncerInteractor import com.android.systemui.bouncer.shared.model.BouncerShowMessageModel import com.android.systemui.bouncer.ui.BouncerView import com.android.systemui.classifier.FalsingCollector import com.android.systemui.coroutines.collectLastValue import com.android.systemui.coroutines.collectValues import com.android.systemui.flags.FakeFeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.keyguard.DismissCallbackRegistry Loading Loading @@ -156,4 +158,24 @@ class KeyguardBouncerViewModelTest : SysuiTestCase() { assertThat(isShowing).isEqualTo(false) job.cancel() } @Test fun keyguardPosition_noValueSet_emptyByDefault() = runTest { val positionValues by collectValues(underTest.keyguardPosition) runCurrent() assertThat(positionValues).isEmpty() } @Test fun keyguardPosition_valueSet_returnsValue() = runTest { val position by collectLastValue(underTest.keyguardPosition) runCurrent() repository.setKeyguardPosition(123f) runCurrent() assertThat(position).isEqualTo(123f) } }
packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/data/repository/FakeKeyguardBouncerRepository.kt +1 −1 Original line number Diff line number Diff line Loading @@ -21,7 +21,7 @@ class FakeKeyguardBouncerRepository : KeyguardBouncerRepository { override val primaryBouncerScrimmed = _primaryBouncerScrimmed.asStateFlow() private val _panelExpansionAmount = MutableStateFlow(KeyguardBouncerConstants.EXPANSION_HIDDEN) override val panelExpansionAmount = _panelExpansionAmount.asStateFlow() private val _keyguardPosition = MutableStateFlow(0f) private val _keyguardPosition = MutableStateFlow<Float?>(null) override val keyguardPosition = _keyguardPosition.asStateFlow() private val _isBackButtonEnabled = MutableStateFlow<Boolean?>(null) override val isBackButtonEnabled = _isBackButtonEnabled.asStateFlow() Loading