Alejo
06/27/2021, 6:27 PMAlejo
06/27/2021, 6:28 PMval showSky = remember { mutableStateOf(false) }
val skyAlpha by animateFloatAsState(if (showSky.value) 1f else .3f)
val userInteracting = MutableSharedFlow<Long>(replay = 0)
val coroutineScope = rememberCoroutineScope()
Box(
modifier = modifier
.fillMaxSize()
.pointerInteropFilter {
coroutineScope.launch {
userInteracting.emit(System.currentTimeMillis())
}
false
}
) {
coroutineScope.launch {
userInteracting.collectLatest {
Log.d("pointerInteropFilter", "$it received")
showSky.value = false
delay(5000)
showSky.value = true
Log.d("pointerInteropFilter", "$it processed")
}
}
}
Alejo
06/27/2021, 6:29 PMshowSky.value = true
in an old event.
Any help is appreciated to fix this problem or maybe to go in a different direction. Thanks in advanced.Alejo
06/27/2021, 6:31 PMFirst attemp
2021-06-27 13:27:25.901 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811245901 received
2021-06-27 13:27:26.477 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811246477 received
2021-06-27 13:27:27.011 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811247010 received
2021-06-27 13:27:27.539 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811247538 received
2021-06-27 13:27:28.072 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811248071 received
2021-06-27 13:27:28.596 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811248595 received
2021-06-27 13:27:29.090 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811249089 received
2021-06-27 13:27:29.603 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811249603 received
2021-06-27 13:27:30.133 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811250133 received
2021-06-27 13:27:30.645 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811250644 received
2021-06-27 13:27:31.149 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811251148 received
2021-06-27 13:27:31.674 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811251673 received
2021-06-27 13:27:32.197 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811252196 received
2021-06-27 13:27:32.736 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811252736 received
2021-06-27 13:27:33.272 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811253271 received
2021-06-27 13:27:33.803 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811253803 received
2021-06-27 13:27:34.350 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811254349 received
2021-06-27 13:27:34.946 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811254946 received
2021-06-27 13:27:39.947 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811254946 processed
Second attemp
2021-06-27 13:29:06.886 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811346886 received
2021-06-27 13:29:07.368 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811347367 received
2021-06-27 13:29:07.785 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811347784 received
2021-06-27 13:29:08.181 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811348181 received
2021-06-27 13:29:08.647 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811348646 received
2021-06-27 13:29:09.095 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811349095 received
2021-06-27 13:29:09.537 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811349536 received
2021-06-27 13:29:09.913 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811349912 received
2021-06-27 13:29:10.308 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811350307 received
2021-06-27 13:29:10.691 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811350690 received
2021-06-27 13:29:11.887 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811346886 processed
2021-06-27 13:29:15.692 1308-1308/com.example.androiddevchallenge.mock D/pointerInteropFilter: 1624811350690 processed
Lukasz Burcon
06/28/2021, 11:02 AM.conflate()
on your collect
. It stops processing old values when new ones are receivedLukasz Burcon
06/28/2021, 11:03 AM.collectLatest{
xxxxx
}.conflate()
Alejo
06/28/2021, 10:24 PM.conflate()
.collectLatest{
xxxxxx
}
but somehow the second time I start interacting with the app the first event scape the collectLatest and completesAlejo
07/03/2021, 4:22 PM