Skip to content

Instantly share code, notes, and snippets.

@kubode
Created December 24, 2017 08:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kubode/0896e6429c360160cd2e642b66ba722a to your computer and use it in GitHub Desktop.
Save kubode/0896e6429c360160cd2e642b66ba722a to your computer and use it in GitHub Desktop.
Lifecycleを使ってAutoDisposableを実現する ref: https://qiita.com/kubode/items/9d7f212219652e8439a9
val LifecycleOwner.disposeOn: Disposable.(Lifecycle.Event) -> Unit
get() = { disposeEvent -> disposeOn(lifecycle, disposeEvent) }
val LifecycleOwner.autoDispose: Disposable.() -> Unit
get() = { autoDispose(lifecycle) }
class FooFragment: Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
lifecycle.asObservable()
.filter { it == Lifecycle.Event.ON_RESUME }
.subscribe { toast("resumed") }
.autoDispose()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment