Skip to content

Instantly share code, notes, and snippets.

@ahinchman1
Last active October 28, 2022 06:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ahinchman1/e2d613f987f727d38eb2c077c2b17f2d to your computer and use it in GitHub Desktop.
Save ahinchman1/e2d613f987f727d38eb2c077c2b17f2d to your computer and use it in GitHub Desktop.
One leak fixed
class ActivityPresenter @Inject constructor(
private val repository: SomeRepository
) : BasePresenter<ActivityView>() {
/* removed for brevity */
private val viewDisposable = CompositeDisposable()
override fun attachView(view: ActivityView?) {
super.attachView(view)
val disposable = repository.doSomeHeavyWorkAndReturnState()
.subscribeOn(Schedulers.io()) // send work to background thread
.observeOn(AndroidSchedulers.mainThread()) // return results to main thread
.subscribe { viewState.render(it) }
viewDisposable.add(disposable)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment