diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt index c76f0fdf4febae338adcf567375467eaebade7dc..f918bc02a6b7587260b81a1ff073addc076793cd 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/SignUpDataSource.kt @@ -6,8 +6,6 @@ import dagger.hilt.android.qualifiers.ApplicationContext import org.futo.circles.auth.R import org.futo.circles.auth.bsspeke.BSSpekeClientProvider import org.futo.circles.auth.feature.pass_phrase.create.CreatePassPhraseDataSource -import org.futo.circles.auth.feature.sign_up.subscription_stage.SubscriptionStageDataSource -import org.futo.circles.auth.model.SubscriptionReceiptData import org.futo.circles.core.base.SingleEventLiveData import org.futo.circles.core.extensions.Response import org.futo.circles.core.extensions.createResult @@ -45,9 +43,7 @@ class SignUpDataSource @Inject constructor( var domain: String = "" private set - private val subscriptionStageDataSource = SubscriptionStageDataSource(this) - - suspend fun startSignUpStages( + fun startSignUpStages( stages: List<Stage>, serverDomain: String ) { @@ -64,7 +60,11 @@ class SignUpDataSource @Inject constructor( ): Response<RegistrationResult> { val wizard = MatrixInstanceProvider.matrix.authenticationService().getRegistrationWizard() val result = createResult { - wizard.registrationCustom(authParams, context.getString(R.string.initial_device_name), true) + wizard.registrationCustom( + authParams, + context.getString(R.string.initial_device_name), + true + ) } (result as? Response.Success)?.let { diff --git a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt index 36fcba934c027e716aeb0fe69994478c5a17165b..c6c451143fb1b4994ae19d661a1b83105c73cadc 100644 --- a/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt +++ b/auth/src/main/java/org/futo/circles/auth/feature/sign_up/subscription_stage/SubscriptionStageDataSource.kt @@ -4,7 +4,6 @@ import org.futo.circles.auth.base.BaseLoginStagesDataSource.Companion.TYPE_PARAM 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.auth.model.SubscriptionReceiptData -import org.futo.circles.core.base.CirclesAppConfig import org.futo.circles.core.extensions.Response import org.matrix.android.sdk.api.auth.registration.RegistrationResult import org.matrix.android.sdk.api.auth.registration.Stage @@ -20,7 +19,8 @@ class SubscriptionStageDataSource @Inject constructor( signUpDataSource.performRegistrationStage( mapOf( TYPE_PARAM_KEY to REGISTRATION_SUBSCRIPTION_TYPE, - PACKAGE_KEY to CirclesAppConfig.appId, + ORDER_ID_KEY to subscriptionReceiptData.orderId, + PACKAGE_KEY to subscriptionReceiptData.packageName, SUBSCRIPTION_ID_KEY to subscriptionReceiptData.productId, TOKEN_KEY to subscriptionReceiptData.purchaseToken ) @@ -32,6 +32,7 @@ class SubscriptionStageDataSource @Inject constructor( ?: emptyList() companion object { + private const val ORDER_ID_KEY = "order_id" private const val PACKAGE_KEY = "package" private const val SUBSCRIPTION_ID_KEY = "subscription_id" private const val TOKEN_KEY = "token" 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 29e14f4e61452ae155ac3b9808af8cf4bee654e1..acfc34a775242dde438f2a8605d27efe51d1c48b 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,7 +1,6 @@ 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 @@ -31,7 +30,6 @@ 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/model/SubscriptionReceiptData.kt b/auth/src/main/java/org/futo/circles/auth/model/SubscriptionReceiptData.kt index 71a96506c06015ec216624ad213092e4797fd283..fc281d28245a6efc1ff5e5c53e11c6b9e86552a3 100644 --- a/auth/src/main/java/org/futo/circles/auth/model/SubscriptionReceiptData.kt +++ b/auth/src/main/java/org/futo/circles/auth/model/SubscriptionReceiptData.kt @@ -2,5 +2,7 @@ package org.futo.circles.auth.model data class SubscriptionReceiptData( val productId: String, - val purchaseToken: String + val purchaseToken: String, + val orderId: String, + val packageName: String ) \ No newline at end of file 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 21e1e207f936d5c82325992807a633b228396c56..9d97f104fe3d630b77328e2de8ec77f98e7bb447 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,6 +1,5 @@ package org.futo.circles.auth.subscriptions -import android.util.Log import androidx.fragment.app.Fragment import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner @@ -224,8 +223,8 @@ class GoogleSubscriptionsManager( } private fun Purchase.toSubscriptionReceiptData(): SubscriptionReceiptData { - Log.d("MyLog", "Full purchase response ${this}") + val orderId = orderId ?: "" val productId = products.lastOrNull() ?: "" - return SubscriptionReceiptData(productId, purchaseToken) + return SubscriptionReceiptData(productId, purchaseToken, orderId, packageName) } } \ No newline at end of file