An example: ``` override fun onSatelliteClicked()...
# rx
u
An example:
Copy code
override fun onSatelliteClicked() {
        mapSubject.take(1).subscribe(this::toggleSatelliteMode)
    }
k
this will trigger
toggleSatelliteMode
once only
u
oneClick -> oneAction
a new click event -> a new subscription. that may sound crazy, I suppose 😀
k
Copy code
myClickSubject.switchMap {
    mapSubject.take(1)
}.subscribe(this::toggleSatelliteMode, onError = {/* dont forget error ;) */ } )
Copy code
override fun onSatelliteClicked() {
myClickSubject.onNext(1)
}
this way you don’t have to subscribe just once and each click will take one from the map. @jeremy was right with using the SwitchMap
not sure if
take(1)
will unsubscribe from the
myClickSubject
or not