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

Add params to subscription signup stage

parent c4cfd635
No related branches found
No related tags found
No related merge requests found
...@@ -6,8 +6,6 @@ import dagger.hilt.android.qualifiers.ApplicationContext ...@@ -6,8 +6,6 @@ import dagger.hilt.android.qualifiers.ApplicationContext
import org.futo.circles.auth.R import org.futo.circles.auth.R
import org.futo.circles.auth.bsspeke.BSSpekeClientProvider import org.futo.circles.auth.bsspeke.BSSpekeClientProvider
import org.futo.circles.auth.feature.pass_phrase.create.CreatePassPhraseDataSource 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.base.SingleEventLiveData
import org.futo.circles.core.extensions.Response import org.futo.circles.core.extensions.Response
import org.futo.circles.core.extensions.createResult import org.futo.circles.core.extensions.createResult
...@@ -45,9 +43,7 @@ class SignUpDataSource @Inject constructor( ...@@ -45,9 +43,7 @@ class SignUpDataSource @Inject constructor(
var domain: String = "" var domain: String = ""
private set private set
private val subscriptionStageDataSource = SubscriptionStageDataSource(this) fun startSignUpStages(
suspend fun startSignUpStages(
stages: List<Stage>, stages: List<Stage>,
serverDomain: String serverDomain: String
) { ) {
...@@ -64,7 +60,11 @@ class SignUpDataSource @Inject constructor( ...@@ -64,7 +60,11 @@ class SignUpDataSource @Inject constructor(
): Response<RegistrationResult> { ): Response<RegistrationResult> {
val wizard = MatrixInstanceProvider.matrix.authenticationService().getRegistrationWizard() val wizard = MatrixInstanceProvider.matrix.authenticationService().getRegistrationWizard()
val result = createResult { 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 { (result as? Response.Success)?.let {
......
...@@ -4,7 +4,6 @@ import org.futo.circles.auth.base.BaseLoginStagesDataSource.Companion.TYPE_PARAM ...@@ -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
import org.futo.circles.auth.feature.sign_up.SignUpDataSource.Companion.REGISTRATION_SUBSCRIPTION_TYPE import org.futo.circles.auth.feature.sign_up.SignUpDataSource.Companion.REGISTRATION_SUBSCRIPTION_TYPE
import org.futo.circles.auth.model.SubscriptionReceiptData import org.futo.circles.auth.model.SubscriptionReceiptData
import org.futo.circles.core.base.CirclesAppConfig
import org.futo.circles.core.extensions.Response import org.futo.circles.core.extensions.Response
import org.matrix.android.sdk.api.auth.registration.RegistrationResult import org.matrix.android.sdk.api.auth.registration.RegistrationResult
import org.matrix.android.sdk.api.auth.registration.Stage import org.matrix.android.sdk.api.auth.registration.Stage
...@@ -20,7 +19,8 @@ class SubscriptionStageDataSource @Inject constructor( ...@@ -20,7 +19,8 @@ class SubscriptionStageDataSource @Inject constructor(
signUpDataSource.performRegistrationStage( signUpDataSource.performRegistrationStage(
mapOf( mapOf(
TYPE_PARAM_KEY to REGISTRATION_SUBSCRIPTION_TYPE, 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, SUBSCRIPTION_ID_KEY to subscriptionReceiptData.productId,
TOKEN_KEY to subscriptionReceiptData.purchaseToken TOKEN_KEY to subscriptionReceiptData.purchaseToken
) )
...@@ -32,6 +32,7 @@ class SubscriptionStageDataSource @Inject constructor( ...@@ -32,6 +32,7 @@ class SubscriptionStageDataSource @Inject constructor(
?: emptyList() ?: emptyList()
companion object { companion object {
private const val ORDER_ID_KEY = "order_id"
private const val PACKAGE_KEY = "package" private const val PACKAGE_KEY = "package"
private const val SUBSCRIPTION_ID_KEY = "subscription_id" private const val SUBSCRIPTION_ID_KEY = "subscription_id"
private const val TOKEN_KEY = "token" private const val TOKEN_KEY = "token"
......
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
...@@ -31,7 +30,6 @@ class SubscriptionStageFragment : ...@@ -31,7 +30,6 @@ 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)
} }
......
...@@ -2,5 +2,7 @@ package org.futo.circles.auth.model ...@@ -2,5 +2,7 @@ package org.futo.circles.auth.model
data class SubscriptionReceiptData( data class SubscriptionReceiptData(
val productId: String, val productId: String,
val purchaseToken: String val purchaseToken: String,
val orderId: String,
val packageName: String
) )
\ No newline at end of file
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
...@@ -224,8 +223,8 @@ class GoogleSubscriptionsManager( ...@@ -224,8 +223,8 @@ class GoogleSubscriptionsManager(
} }
private fun Purchase.toSubscriptionReceiptData(): SubscriptionReceiptData { private fun Purchase.toSubscriptionReceiptData(): SubscriptionReceiptData {
Log.d("MyLog", "Full purchase response ${this}") val orderId = orderId ?: ""
val productId = products.lastOrNull() ?: "" val productId = products.lastOrNull() ?: ""
return SubscriptionReceiptData(productId, purchaseToken) return SubscriptionReceiptData(productId, purchaseToken, orderId, packageName)
} }
} }
\ 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