diff options
| author | 2023-08-23 10:05:03 +0000 | |
|---|---|---|
| committer | 2023-08-23 10:05:03 +0000 | |
| commit | a8bf032c9cd67dfa294a7606ef9025c1f7e98edf (patch) | |
| tree | 0932af764602726d0151a8a5dbcf4a23fbe4a6ec | |
| parent | 9f4099bef3adb1586e447bf90dca42be2b6c151c (diff) | |
| parent | dbbbedb352eca602b27347131e1513d344d9c622 (diff) | |
Merge "Fix bouncer always being on the left side" into udc-qpr-dev
4 files changed, 27 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/data/repository/KeyguardBouncerRepository.kt b/packages/SystemUI/src/com/android/systemui/bouncer/data/repository/KeyguardBouncerRepository.kt index 918e1680fc66..f2b4e09c9850 100644 --- a/packages/SystemUI/src/com/android/systemui/bouncer/data/repository/KeyguardBouncerRepository.kt +++ b/packages/SystemUI/src/com/android/systemui/bouncer/data/repository/KeyguardBouncerRepository.kt @@ -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?> @@ -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() @@ -244,6 +244,7 @@ constructor( .logDiffsForTable(buffer, "", "PanelExpansionAmountMillis", -1) .launchIn(applicationScope) keyguardPosition + .filterNotNull() .map { it.toInt() } .logDiffsForTable(buffer, "", "KeyguardPosition", -1) .launchIn(applicationScope) diff --git a/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractor.kt b/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractor.kt index c48660328bf0..0e0f1f6265d7 100644 --- a/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/bouncer/domain/interactor/PrimaryBouncerInteractor.kt @@ -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> = diff --git a/packages/SystemUI/tests/src/com/android/systemui/bouncer/ui/viewmodel/KeyguardBouncerViewModelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/bouncer/ui/viewmodel/KeyguardBouncerViewModelTest.kt index 8236165b62d8..d4bba723a989 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/bouncer/ui/viewmodel/KeyguardBouncerViewModelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/bouncer/ui/viewmodel/KeyguardBouncerViewModelTest.kt @@ -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 @@ -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) + } } diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/data/repository/FakeKeyguardBouncerRepository.kt b/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/data/repository/FakeKeyguardBouncerRepository.kt index 10529e68f00f..0847c8535e4e 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/data/repository/FakeKeyguardBouncerRepository.kt +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/bouncer/data/repository/FakeKeyguardBouncerRepository.kt @@ -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() |