Guest User

Untitled

a guest
Feb 17th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. package norweska.dolina.android.menu.checkout
  2.  
  3. import android.app.Application
  4. import android.arch.lifecycle.AndroidViewModel
  5. import concierge.menu.repository.local.ConciergeDatabase
  6. import io.reactivex.Flowable
  7. import io.reactivex.Single
  8. import io.reactivex.android.schedulers.AndroidSchedulers
  9. import norweska.dolina.android.NorweskaDolinaApplication
  10. import norweska.dolina.android.menu.scheduler.PoolScheduler
  11. import javax.inject.Inject
  12.  
  13. class CheckoutViewModel(application: Application) : AndroidViewModel(application) {
  14.  
  15. @Inject
  16. lateinit var conciergeDatabase: ConciergeDatabase
  17.  
  18. init {
  19. val norweskaDolinaApplication = application as NorweskaDolinaApplication
  20. norweskaDolinaApplication.applicationComponent.inject(this)
  21. }
  22.  
  23. var cartCountObservable: Flowable<List<CheckoutModel>> =
  24. conciergeDatabase.query().getProductInCart()
  25. .map { it.map { CheckoutModel(conciergeDatabase, it) } }
  26. .subscribeOn(PoolScheduler.instance.getScheduler())
  27. .observeOn(AndroidSchedulers.mainThread())
  28.  
  29. fun clearCart(): Single<*> {
  30. return Single.fromCallable { conciergeDatabase.query().clearCart() }
  31. .subscribeOn(PoolScheduler.instance.getScheduler())
  32. .subscribeOn(AndroidSchedulers.mainThread())
  33. }
  34. }
Add Comment
Please, Sign In to add comment