Skip to content
Snippets Groups Projects
Commit a34518ff authored by Taras's avatar Taras
Browse files

Handle view model logic

parent 07340c10
No related branches found
No related tags found
No related merge requests found
package org.futo.circles.feature.sign_up.subscription_stage package org.futo.circles.feature.sign_up.subscription_stage
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import org.futo.circles.core.SingleEventLiveData import org.futo.circles.core.SingleEventLiveData
import org.futo.circles.extensions.Response import org.futo.circles.extensions.Response
import org.futo.circles.extensions.launchBg 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 import org.matrix.android.sdk.api.auth.registration.RegistrationResult
class SubscriptionStageViewModel( class SubscriptionStageViewModel(
...@@ -11,6 +15,8 @@ class SubscriptionStageViewModel( ...@@ -11,6 +15,8 @@ class SubscriptionStageViewModel(
) : ViewModel() { ) : ViewModel() {
val subscribeLiveData = SingleEventLiveData<Response<RegistrationResult>>() val subscribeLiveData = SingleEventLiveData<Response<RegistrationResult>>()
val purchaseLiveData = SingleEventLiveData<Response<Unit>>()
val subscriptionsListLiveData = MutableLiveData<Response<List<SubscriptionListItem>>>()
fun validateSubscriptionReceipt(receipt: String) { fun validateSubscriptionReceipt(receipt: String) {
launchBg { launchBg {
...@@ -18,4 +24,16 @@ class SubscriptionStageViewModel( ...@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment