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 e4fcd63c850fc6c298217eb8e7d1812389062548..dbfe4134e3e679ae87016bc2f6a7e360fefd9b58 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 00d2e66f1730a5e3b74445bb894022faf476d966..29e14f4e61452ae155ac3b9808af8cf4bee654e1 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 cce071d6b3979b9f03ca96cd4ffb3f05674c3cde..6730d6e1d52deb4e429ac4e201aeb82a65d1af75 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) }