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

Test subscription paiment

parent cc809b80
No related branches found
No related tags found
No related merge requests found
...@@ -4,9 +4,11 @@ import android.content.Context ...@@ -4,9 +4,11 @@ import android.content.Context
import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.qualifiers.ApplicationContext
import org.futo.circles.auth.R import org.futo.circles.auth.R
import org.futo.circles.auth.feature.sign_up.SignUpDataSource import org.futo.circles.auth.feature.sign_up.SignUpDataSource
import org.futo.circles.auth.feature.sign_up.SignUpDataSource.Companion.REGISTRATION_SUBSCRIPTION_TYPE
import org.futo.circles.core.extensions.createResult import org.futo.circles.core.extensions.createResult
import org.futo.circles.core.provider.MatrixInstanceProvider import org.futo.circles.core.provider.MatrixInstanceProvider
import org.futo.circles.core.utils.HomeServerUtils.buildHomeServerConfigFromDomain import org.futo.circles.core.utils.HomeServerUtils.buildHomeServerConfigFromDomain
import org.matrix.android.sdk.api.auth.registration.Stage
import javax.inject.Inject import javax.inject.Inject
class SelectSignUpTypeDataSource @Inject constructor( class SelectSignUpTypeDataSource @Inject constructor(
...@@ -26,7 +28,23 @@ class SelectSignUpTypeDataSource @Inject constructor( ...@@ -26,7 +28,23 @@ class SelectSignUpTypeDataSource @Inject constructor(
val stages = authService.getRegistrationWizard().getAllRegistrationFlows().firstOrNull() val stages = authService.getRegistrationWizard().getAllRegistrationFlows().firstOrNull()
?: throw IllegalArgumentException(context.getString(R.string.wrong_signup_config)) ?: throw IllegalArgumentException(context.getString(R.string.wrong_signup_config))
signUpDataSource.startSignUpStages(stages, domain) val list = mutableListOf<Stage>().apply {
add(
Stage.Other(
true, REGISTRATION_SUBSCRIPTION_TYPE, mapOf(
"subscription_ids" to listOf(
"org.futo.circles.standard01month",
"org.futo.circles.standard12month",
"org.futo.circles.standard01month.eu",
"org.futo.circles.standard12month.eu"
)
)
)
)
addAll(stages)
}
signUpDataSource.startSignUpStages(list, domain)
} }
} }
\ No newline at end of file
package org.futo.circles.auth.feature.sign_up.subscription_stage package org.futo.circles.auth.feature.sign_up.subscription_stage
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.view.View import android.view.View
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import by.kirich1409.viewbindingdelegate.viewBinding import by.kirich1409.viewbindingdelegate.viewBinding
...@@ -11,9 +12,9 @@ import org.futo.circles.auth.feature.sign_up.subscription_stage.list.Subscriptio ...@@ -11,9 +12,9 @@ import org.futo.circles.auth.feature.sign_up.subscription_stage.list.Subscriptio
import org.futo.circles.auth.model.SubscriptionReceiptData import org.futo.circles.auth.model.SubscriptionReceiptData
import org.futo.circles.auth.subscriptions.ItemPurchasedListener import org.futo.circles.auth.subscriptions.ItemPurchasedListener
import org.futo.circles.auth.subscriptions.SubscriptionProvider import org.futo.circles.auth.subscriptions.SubscriptionProvider
import org.futo.circles.core.base.fragment.ParentBackPressOwnerFragment
import org.futo.circles.core.extensions.observeResponse import org.futo.circles.core.extensions.observeResponse
import org.futo.circles.core.extensions.showError import org.futo.circles.core.extensions.showError
import org.futo.circles.core.base.fragment.ParentBackPressOwnerFragment
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
...@@ -30,6 +31,7 @@ class SubscriptionStageFragment : ...@@ -30,6 +31,7 @@ class SubscriptionStageFragment :
subscriptionProvider.getManager( subscriptionProvider.getManager(
this, object : ItemPurchasedListener { this, object : ItemPurchasedListener {
override fun onItemPurchased(subscriptionReceiptData: SubscriptionReceiptData) { override fun onItemPurchased(subscriptionReceiptData: SubscriptionReceiptData) {
Log.d("Mylog", subscriptionReceiptData.toString())
viewModel.validateSubscription(subscriptionReceiptData) viewModel.validateSubscription(subscriptionReceiptData)
} }
......
package org.futo.circles.auth.subscriptions package org.futo.circles.auth.subscriptions
import android.util.Log
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleOwner
...@@ -208,6 +209,7 @@ class GoogleSubscriptionsManager( ...@@ -208,6 +209,7 @@ class GoogleSubscriptionsManager(
} }
private fun Purchase.toSubscriptionReceiptData(): SubscriptionReceiptData? { private fun Purchase.toSubscriptionReceiptData(): SubscriptionReceiptData? {
Log.d("MyLog", "Full purchase response ${this}")
val productId = products.lastOrNull() ?: return null val productId = products.lastOrNull() ?: return null
return SubscriptionReceiptData(productId, purchaseToken) return SubscriptionReceiptData(productId, purchaseToken)
} }
......
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