Merge "Revert "Transitions - Support OCCLUDED -> GONE"" into tm-qpr-dev
This commit is contained in:
@@ -45,7 +45,6 @@ constructor(
|
||||
|
||||
override fun start() {
|
||||
listenForOccludedToLockscreen()
|
||||
listenForOccludedToGone()
|
||||
listenForOccludedToDreaming()
|
||||
listenForOccludedToAodOrDozing()
|
||||
}
|
||||
@@ -73,22 +72,11 @@ constructor(
|
||||
private fun listenForOccludedToLockscreen() {
|
||||
scope.launch {
|
||||
keyguardInteractor.isKeyguardOccluded
|
||||
.sample(
|
||||
combine(
|
||||
keyguardInteractor.isKeyguardShowing,
|
||||
keyguardTransitionInteractor.startedKeyguardTransitionStep,
|
||||
::Pair
|
||||
),
|
||||
::toTriple
|
||||
)
|
||||
.collect { (isOccluded, isShowing, lastStartedKeyguardState) ->
|
||||
.sample(keyguardTransitionInteractor.startedKeyguardTransitionStep, ::Pair)
|
||||
.collect { (isOccluded, lastStartedKeyguardState) ->
|
||||
// Occlusion signals come from the framework, and should interrupt any
|
||||
// existing transition
|
||||
if (
|
||||
!isOccluded &&
|
||||
isShowing &&
|
||||
lastStartedKeyguardState.to == KeyguardState.OCCLUDED
|
||||
) {
|
||||
if (!isOccluded && lastStartedKeyguardState.to == KeyguardState.OCCLUDED) {
|
||||
keyguardTransitionRepository.startTransition(
|
||||
TransitionInfo(
|
||||
name,
|
||||
@@ -102,38 +90,6 @@ constructor(
|
||||
}
|
||||
}
|
||||
|
||||
private fun listenForOccludedToGone() {
|
||||
scope.launch {
|
||||
keyguardInteractor.isKeyguardOccluded
|
||||
.sample(
|
||||
combine(
|
||||
keyguardInteractor.isKeyguardShowing,
|
||||
keyguardTransitionInteractor.startedKeyguardTransitionStep,
|
||||
::Pair
|
||||
),
|
||||
::toTriple
|
||||
)
|
||||
.collect { (isOccluded, isShowing, lastStartedKeyguardState) ->
|
||||
// Occlusion signals come from the framework, and should interrupt any
|
||||
// existing transition
|
||||
if (
|
||||
!isOccluded &&
|
||||
!isShowing &&
|
||||
lastStartedKeyguardState.to == KeyguardState.OCCLUDED
|
||||
) {
|
||||
keyguardTransitionRepository.startTransition(
|
||||
TransitionInfo(
|
||||
name,
|
||||
KeyguardState.OCCLUDED,
|
||||
KeyguardState.GONE,
|
||||
getAnimator(),
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun listenForOccludedToAodOrDozing() {
|
||||
scope.launch {
|
||||
keyguardInteractor.wakefulnessModel
|
||||
|
||||
@@ -397,92 +397,6 @@ class KeyguardTransitionScenariosTest : SysuiTestCase() {
|
||||
coroutineContext.cancelChildren()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `OCCLUDED to GONE`() =
|
||||
testScope.runTest {
|
||||
// GIVEN a device on lockscreen
|
||||
keyguardRepository.setKeyguardShowing(true)
|
||||
runCurrent()
|
||||
|
||||
// GIVEN a prior transition has run to OCCLUDED
|
||||
runner.startTransition(
|
||||
testScope,
|
||||
TransitionInfo(
|
||||
ownerName = "",
|
||||
from = KeyguardState.LOCKSCREEN,
|
||||
to = KeyguardState.OCCLUDED,
|
||||
animator =
|
||||
ValueAnimator().apply {
|
||||
duration = 10
|
||||
interpolator = Interpolators.LINEAR
|
||||
},
|
||||
)
|
||||
)
|
||||
keyguardRepository.setKeyguardOccluded(true)
|
||||
runCurrent()
|
||||
reset(mockTransitionRepository)
|
||||
|
||||
// WHEN keyguard goes away
|
||||
keyguardRepository.setKeyguardShowing(false)
|
||||
// AND occlusion ends
|
||||
keyguardRepository.setKeyguardOccluded(false)
|
||||
runCurrent()
|
||||
|
||||
val info =
|
||||
withArgCaptor<TransitionInfo> {
|
||||
verify(mockTransitionRepository).startTransition(capture(), anyBoolean())
|
||||
}
|
||||
// THEN a transition to GONE should occur
|
||||
assertThat(info.ownerName).isEqualTo("FromOccludedTransitionInteractor")
|
||||
assertThat(info.from).isEqualTo(KeyguardState.OCCLUDED)
|
||||
assertThat(info.to).isEqualTo(KeyguardState.GONE)
|
||||
assertThat(info.animator).isNotNull()
|
||||
|
||||
coroutineContext.cancelChildren()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `OCCLUDED to LOCKSCREEN`() =
|
||||
testScope.runTest {
|
||||
// GIVEN a device on lockscreen
|
||||
keyguardRepository.setKeyguardShowing(true)
|
||||
runCurrent()
|
||||
|
||||
// GIVEN a prior transition has run to OCCLUDED
|
||||
runner.startTransition(
|
||||
testScope,
|
||||
TransitionInfo(
|
||||
ownerName = "",
|
||||
from = KeyguardState.LOCKSCREEN,
|
||||
to = KeyguardState.OCCLUDED,
|
||||
animator =
|
||||
ValueAnimator().apply {
|
||||
duration = 10
|
||||
interpolator = Interpolators.LINEAR
|
||||
},
|
||||
)
|
||||
)
|
||||
keyguardRepository.setKeyguardOccluded(true)
|
||||
runCurrent()
|
||||
reset(mockTransitionRepository)
|
||||
|
||||
// WHEN occlusion ends
|
||||
keyguardRepository.setKeyguardOccluded(false)
|
||||
runCurrent()
|
||||
|
||||
val info =
|
||||
withArgCaptor<TransitionInfo> {
|
||||
verify(mockTransitionRepository).startTransition(capture(), anyBoolean())
|
||||
}
|
||||
// THEN a transition to LOCKSCREEN should occur
|
||||
assertThat(info.ownerName).isEqualTo("FromOccludedTransitionInteractor")
|
||||
assertThat(info.from).isEqualTo(KeyguardState.OCCLUDED)
|
||||
assertThat(info.to).isEqualTo(KeyguardState.LOCKSCREEN)
|
||||
assertThat(info.animator).isNotNull()
|
||||
|
||||
coroutineContext.cancelChildren()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `LOCKSCREEN to DOZING`() =
|
||||
testScope.runTest {
|
||||
|
||||
Reference in New Issue
Block a user