Guest User

Untitled

a guest
Mar 20th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. import android.annotation.SuppressLint
  2. import android.support.annotation.CallSuper
  3. import android.support.v7.app.AppCompatActivity
  4. import io.reactivex.disposables.CompositeDisposable
  5. import io.reactivex.disposables.Disposable
  6. import io.reactivex.internal.disposables.DisposableContainer
  7.  
  8. @SuppressLint("Registered")
  9. open class RxDisposableActivity : AppCompatActivity(), Disposable, DisposableContainer {
  10.  
  11. protected val compositeDisposable: CompositeDisposable = CompositeDisposable()
  12.  
  13. override fun add(d: Disposable?): Boolean = d?.let { compositeDisposable.add(it) } ?: false
  14.  
  15. override fun remove(d: Disposable?): Boolean = d?.let(compositeDisposable::remove) ?: false
  16.  
  17. override fun delete(d: Disposable?): Boolean = d?.let(compositeDisposable::delete) ?: false
  18.  
  19. override fun isDisposed(): Boolean = compositeDisposable.isDisposed
  20.  
  21. override fun dispose() = compositeDisposable.dispose()
  22.  
  23. @CallSuper
  24. override fun onDestroy() {
  25. super.onDestroy()
  26. this.dispose()
  27. }
  28. }
Add Comment
Please, Sign In to add comment