Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package norweska.dolina.android.menu.checkout
- import android.app.Application
- import android.arch.lifecycle.AndroidViewModel
- import concierge.menu.repository.local.ConciergeDatabase
- import io.reactivex.Flowable
- import io.reactivex.Single
- import io.reactivex.android.schedulers.AndroidSchedulers
- import norweska.dolina.android.NorweskaDolinaApplication
- import norweska.dolina.android.menu.scheduler.PoolScheduler
- import javax.inject.Inject
- class CheckoutViewModel(application: Application) : AndroidViewModel(application) {
- @Inject
- lateinit var conciergeDatabase: ConciergeDatabase
- init {
- val norweskaDolinaApplication = application as NorweskaDolinaApplication
- norweskaDolinaApplication.applicationComponent.inject(this)
- }
- var cartCountObservable: Flowable<List<CheckoutModel>> =
- conciergeDatabase.query().getProductInCart()
- .map { it.map { CheckoutModel(conciergeDatabase, it) } }
- .subscribeOn(PoolScheduler.instance.getScheduler())
- .observeOn(AndroidSchedulers.mainThread())
- fun clearCart(): Single<*> {
- return Single.fromCallable { conciergeDatabase.query().clearCart() }
- .subscribeOn(PoolScheduler.instance.getScheduler())
- .subscribeOn(AndroidSchedulers.mainThread())
- }
- }
Add Comment
Please, Sign In to add comment