I am learning Observer pattern, I want my observable to keep track of a certain variable when it changes it\'s value and do some operations, I\'ve done something like :
If interested here a Kotlin version of Variable class, which lets subscribers to be updated after every variable change.
class Variable(private val defaultValue: T) {
var value: T = defaultValue
set(value) {
field = value
observable.onNext(value)
}
val observable = BehaviorSubject.createDefault(value)
}
Usage:
val greeting = Variable("Hello!")
greeting.observable.subscribe { Log.i("RxKotlin", it) }
greeting.value = "Ciao!"
greeting.value = "Hola!"
This will print:
"Hello!"
"Ciao!"
"Hola!"