From a34518ffbdf42e2ed3539df83e0b4f435ed3d727 Mon Sep 17 00:00:00 2001 From: Taras <tarassmakula@gmail.com> Date: Fri, 5 Aug 2022 17:08:51 +0300 Subject: [PATCH] Handle view model logic --- .../SubscriptionStageViewModel.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt b/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt index e115434d2..b0da6cb95 100644 --- a/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt +++ b/app/src/main/java/org/futo/circles/feature/sign_up/subscription_stage/SubscriptionStageViewModel.kt @@ -1,9 +1,13 @@ package org.futo.circles.feature.sign_up.subscription_stage +import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import org.futo.circles.core.SingleEventLiveData import org.futo.circles.extensions.Response import org.futo.circles.extensions.launchBg +import org.futo.circles.extensions.launchUi +import org.futo.circles.model.SubscriptionListItem +import org.futo.circles.subscriptions.SubscriptionManager import org.matrix.android.sdk.api.auth.registration.RegistrationResult class SubscriptionStageViewModel( @@ -11,6 +15,8 @@ class SubscriptionStageViewModel( ) : ViewModel() { val subscribeLiveData = SingleEventLiveData<Response<RegistrationResult>>() + val purchaseLiveData = SingleEventLiveData<Response<Unit>>() + val subscriptionsListLiveData = MutableLiveData<Response<List<SubscriptionListItem>>>() fun validateSubscriptionReceipt(receipt: String) { launchBg { @@ -18,4 +24,16 @@ class SubscriptionStageViewModel( } } + fun loadSubscriptionsList(subscriptionManager: SubscriptionManager) { + launchBg { + subscriptionsListLiveData.postValue(subscriptionManager.getDetails(dataSource.getProductIdsList())) + } + } + + fun purchaseProduct(subscriptionManager: SubscriptionManager, productId: String) { + launchUi { + purchaseLiveData.postValue(subscriptionManager.purchaseProduct(productId)) + } + } + } \ No newline at end of file -- GitLab