RxJava2 extensions for Android Databindings library
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
gradle/wrapper
lib
.gitignore
CHANGELOG.md
README.md
RELEASING.md
build.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.md

RxDatabindings

Download

RxJava2 extensions for Android Databindings library

Add RxDataBindings to your build.gradle

implementation "com.stepango.rxdatabindings:rxdatabindings:1.4.0"

Basic example of usage:

interface ViewModelState : Parcelable {
    val text: ObservableString
    val counter: ObservableInt
}

data class ViewModelStateImpl(
        override val text: ObservableString = ObservableString(),
        override val counter: ObservableInt = ObservableInt()
) : ViewModelState, AutoParcelable

class ViewModel(val state: ViewModelState) : ViewModelState by state {

    init {
        counter.observe()
                .setTo(text) { "Wow! You count till $it" }
                .doOnNext { Log.d("THREAD", Thread.currentThread().name) }
                .subscribe()
    }

    fun incCounter() = counter.inc(10)
    fun decCounter() = counter.dec(0)

}