From fd5bb6d69c6f2a1b5cd39f40c3c9a07dba5357c1 Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Mon, 11 Dec 2023 17:25:28 +0200 Subject: [PATCH] Test subscription paiment --- .../SelectSignUpTypeDataSource.kt | 20 ++++++++++++++++++- .../SubscriptionStageFragment.kt | 4 +++- .../GoogleSubscriptionsManager.kt | 2 ++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/sign_up_type/SelectSignUpTypeDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/sign_up_type/SelectSignUpTypeDataSource.kt index e4fcd63c8..dbfe4134e 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/sign_up_type/SelectSignUpTypeDataSource.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/sign_up_type/SelectSignUpTypeDataSource.kt @@ -4,9 +4,11 @@ import android.content.Context import dagger.hilt.android.qualifiers.ApplicationContext import org.futo.circles.auth.R 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.provider.MatrixInstanceProvider import org.futo.circles.core.utils.HomeServerUtils.buildHomeServerConfigFromDomain +import org.matrix.android.sdk.api.auth.registration.Stage import javax.inject.Inject class SelectSignUpTypeDataSource @Inject constructor( @@ -26,7 +28,23 @@ class SelectSignUpTypeDataSource @Inject constructor( val stages = authService.getRegistrationWizard().getAllRegistrationFlows().firstOrNull() ?: 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 diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt index 00d2e66f1..29e14f4e6 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageFragment.kt @@ -1,6 +1,7 @@ package org.futo.circles.auth.feature.sign_up.subscription_stage import android.os.Bundle +import android.util.Log import android.view.View import androidx.fragment.app.viewModels import by.kirich1409.viewbindingdelegate.viewBinding @@ -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.subscriptions.ItemPurchasedListener 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.showError -import org.futo.circles.core.base.fragment.ParentBackPressOwnerFragment import javax.inject.Inject @AndroidEntryPoint @@ -30,6 +31,7 @@ class SubscriptionStageFragment : subscriptionProvider.getManager( this, object : ItemPurchasedListener { override fun onItemPurchased(subscriptionReceiptData: SubscriptionReceiptData) { + Log.d("Mylog", subscriptionReceiptData.toString()) viewModel.validateSubscription(subscriptionReceiptData) } diff --git a/auth/src/main/java/org/futo/circles/auth/subscriptions/GoogleSubscriptionsManager.kt b/auth/src/main/java/org/futo/circles/auth/subscriptions/GoogleSubscriptionsManager.kt index cce071d6b..6730d6e1d 100644 --- a/auth/src/main/java/org/futo/circles/auth/subscriptions/GoogleSubscriptionsManager.kt +++ b/auth/src/main/java/org/futo/circles/auth/subscriptions/GoogleSubscriptionsManager.kt @@ -1,5 +1,6 @@ package org.futo.circles.auth.subscriptions +import android.util.Log import androidx.fragment.app.Fragment import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner @@ -208,6 +209,7 @@ class GoogleSubscriptionsManager( } private fun Purchase.toSubscriptionReceiptData(): SubscriptionReceiptData? { + Log.d("MyLog", "Full purchase response ${this}") val productId = products.lastOrNull() ?: return null return SubscriptionReceiptData(productId, purchaseToken) } -- GitLab