Created
May 1, 2019 17:47
-
-
Save dinorahto/0d5447bd4ccb76b931f2c9d161ffe10e to your computer and use it in GitHub Desktop.
Base Presenter and Disposable Subscribers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Created by Dinorah Tovar on 8/21/18 | |
| * All presenter should extend from this. | |
| */ | |
| open class BasePresenter : DisposableImpl { | |
| /** | |
| * Save disposables in a list to dispose them once user is navigate out of screen. | |
| */ | |
| private val compositeDisposable = CompositeDisposable() | |
| /** | |
| * Add disposable to CompositeDisposable | |
| */ | |
| override fun safeAdd(disposable: Disposable?) { | |
| disposable?.let { | |
| compositeDisposable.add(disposable) | |
| } | |
| } | |
| /** | |
| * Clear disposables. | |
| */ | |
| override fun safeDispose() { | |
| compositeDisposable.clear() | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /** | |
| * Disposable Impl | |
| */ | |
| interface DisposableImpl { | |
| fun safeAdd(disposable: Disposable?) | |
| fun safeDispose() | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment