Skip to content

Instantly share code, notes, and snippets.

@amay077
Created November 9, 2017 05:30
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save amay077/c99bb3cda5563a0a07f1cbf7ddedf8d3 to your computer and use it in GitHub Desktop.
Save amay077/c99bb3cda5563a0a07f1cbf7ddedf8d3 to your computer and use it in GitHub Desktop.
Convert RxJava:Observable<T> to AAC:LiveData<T>
package your.awesome.package
import android.arch.lifecycle.LiveData
import android.arch.lifecycle.MutableLiveData
import io.reactivex.Observable
import io.reactivex.disposables.Disposable
fun <T> Observable<T>.toLiveData() : LiveData<T> {
return object : MutableLiveData<T>() {
var disposable : Disposable? = null;
override fun onActive() {
super.onActive()
// Observable -> LiveData
disposable = this@toLiveData.subscribe({
this.postValue(it)
})
}
override fun onInactive() {
disposable?.dispose();
super.onInactive()
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment