kluck
02/23/2018, 2:48 PMrakeeb
02/24/2018, 6:05 PMmaterialize
operator and have your own logic there. or I might be completely wrong here!kluck
02/26/2018, 9:49 AMmaterialize
, thank you!rakeeb
02/28/2018, 1:33 AMmaterialize
might be a bit overkill. use the scan
operatorval scanningSequence = Observable.fromIterable(listOf(1, 1, 2, 3, 5, 5))
.scan(Pair(0, false), { lastEmission: Pair<Int, Boolean>, current: Int ->
if(lastEmission.first != current) return@scan Pair(current, false)
return@scan Pair(current, true)
})
.flatMap {
if(it.second) {
return@flatMap Observable.just(it.first)
.throttleFirst(2, TimeUnit.SECONDS)
}
return@flatMap Observable.just(it.first)
}
kluck
02/28/2018, 9:55 AM