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

Remove last subscription check

parent f4f98907
No related branches found
No related tags found
No related merge requests found
......@@ -9,13 +9,9 @@ import by.kirich1409.viewbindingdelegate.viewBinding
import dagger.hilt.android.AndroidEntryPoint
import org.futo.circles.auth.R
import org.futo.circles.auth.databinding.FragmentSelectSignUpTypeBinding
import org.futo.circles.auth.subscriptions.SubscriptionProvider
import org.futo.circles.core.base.CirclesAppConfig
import org.futo.circles.core.extensions.observeData
import org.futo.circles.core.extensions.observeResponse
import org.futo.circles.core.extensions.setIsVisible
import org.futo.circles.core.base.fragment.HasLoadingState
import javax.inject.Inject
import org.futo.circles.core.extensions.observeResponse
@AndroidEntryPoint
class SelectSignUpTypeFragment : Fragment(R.layout.fragment_select_sign_up_type),
......@@ -26,19 +22,6 @@ class SelectSignUpTypeFragment : Fragment(R.layout.fragment_select_sign_up_type)
private val binding by viewBinding(FragmentSelectSignUpTypeBinding::bind)
private val viewModel by viewModels<SelectSignUpTypeViewModel>()
@Inject
lateinit var subscriptionProvider: SubscriptionProvider
private val subscriptionManager by lazy {
subscriptionProvider.getManager(this, null)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (CirclesAppConfig.isSubscriptionsEnabled)
viewModel.getLastActiveSubscriptionReceipt(subscriptionManager)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
viewModel.clearSubtitle()
......@@ -48,7 +31,6 @@ class SelectSignUpTypeFragment : Fragment(R.layout.fragment_select_sign_up_type)
private fun setupViews() {
with(binding) {
groupSubscription.setIsVisible(CirclesAppConfig.isSubscriptionsEnabled)
btnEU.text = Html.fromHtml(
getString(R.string.eu_server_format, CirclesAppConfig.euServerDomain),
Html.FROM_HTML_MODE_COMPACT
......@@ -58,29 +40,15 @@ class SelectSignUpTypeFragment : Fragment(R.layout.fragment_select_sign_up_type)
getString(R.string.us_server_format, CirclesAppConfig.usServerDomain),
Html.FROM_HTML_MODE_COMPACT
)
btnToken.setOnClickListener {
startLoading(btnToken)
btnSignup.setOnClickListener {
startLoading(btnSignup)
viewModel.startSignUp(getDomain())
}
btnSubscription.setOnClickListener {
startLoading(btnSubscription)
viewModel.startSignUp(getDomain(), true)
}
}
}
private fun setupObservers() {
viewModel.startSignUpEventLiveData.observeResponse(this)
viewModel.isSubscribedLiveData.observeData(this) { isSubscribed ->
binding.tvSubscriptionTitle.text =
getString(
if (isSubscribed) R.string.sign_up_using_active_subscription
else R.string.create_a_subscription
)
binding.btnSubscription.setText(
getString(if (isSubscribed) R.string.sign_up else R.string.choose_a_subscription)
)
}
}
private fun getDomain() = when (binding.serverLocationGroup.checkedRadioButtonId) {
......
package org.futo.circles.auth.feature.sign_up.sign_up_type
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import dagger.hilt.android.lifecycle.HiltViewModel
import org.futo.circles.auth.model.SubscriptionReceiptData
import org.futo.circles.auth.subscriptions.SubscriptionManager
import org.futo.circles.core.base.SingleEventLiveData
import org.futo.circles.core.extensions.Response
import org.futo.circles.core.extensions.launchBg
......@@ -16,21 +13,10 @@ class SelectSignUpTypeViewModel @Inject constructor(
) : ViewModel() {
val startSignUpEventLiveData = SingleEventLiveData<Response<Unit?>>()
val isSubscribedLiveData = MutableLiveData(false)
var subscriptionReceiptData: SubscriptionReceiptData? = null
fun startSignUp(
serverDomain: String,
isSubscription: Boolean = false
) {
fun startSignUp(serverDomain: String) {
launchBg {
startSignUpEventLiveData.postValue(
dataSource.startNewRegistration(
serverDomain,
isSubscription,
subscriptionReceiptData
)
)
startSignUpEventLiveData.postValue(dataSource.startNewRegistration(serverDomain))
}
}
......@@ -38,16 +24,4 @@ class SelectSignUpTypeViewModel @Inject constructor(
dataSource.clearSubtitle()
}
fun getLastActiveSubscriptionReceipt(subscriptionManager: SubscriptionManager) {
launchBg {
when (val result = subscriptionManager.getActiveSubscriptionReceipt()) {
is Response.Success -> {
subscriptionReceiptData = result.data
isSubscribedLiveData.postValue(true)
}
is Response.Error -> isSubscribedLiveData.postValue(false)
}
}
}
}
\ 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