Skip to content

Instantly share code, notes, and snippets.

@drawers
Created August 11, 2019 08:11
Show Gist options
  • Save drawers/a2d141e90428251eaaf8baab520dc551 to your computer and use it in GitHub Desktop.
Save drawers/a2d141e90428251eaaf8baab520dc551 to your computer and use it in GitHub Desktop.
Cleaning it up slightly
private typealias PageDebounceSelector = (data: PickupData) -> ObservableSource<Long>
class PickupFragment {
override fun onStart() {
super.onStart()
source().viewStates()
.debounce(loadingOnly)
.observeOn(AndroidSchedulers.mainThread())
.subscribe { data: PickupData ->
adapter.setData(data)
}
.addTo(disposables)
}
private val loadingOnly: PageDebounceSelector =
{
when {
it.isLoading() -> Observable.timer(250, TimeUnit.MILLISECONDS)
else -> Observable.empty()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment