Provide plans for signup and upgrade flow separately
Rationale: VPN wants to be able to have plan selection for plan upgrade flow but not for signup.
This commit is contained in:
parent
8105336ee6
commit
c9e7b13f1b
|
@ -1,3 +1,10 @@
|
|||
## Plan [1.18.3]
|
||||
|
||||
22 Nov, 2021
|
||||
|
||||
### Changes
|
||||
- Provide plans for signup and upgrade flow separately
|
||||
|
||||
## Network [1.16.0]
|
||||
|
||||
22 Nov, 2021
|
||||
|
|
|
@ -18,13 +18,15 @@
|
|||
|
||||
package me.proton.android.core.coreexample.di
|
||||
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import dagger.hilt.InstallIn
|
||||
import dagger.hilt.components.SingletonComponent
|
||||
import me.proton.core.network.data.ApiProvider
|
||||
import me.proton.core.plan.data.repository.PlansRepositoryImpl
|
||||
import me.proton.core.plan.domain.SupportedPaidPlans
|
||||
import me.proton.core.plan.domain.SupportedSignupPaidPlans
|
||||
import me.proton.core.plan.domain.SupportedUpgradePaidPlans
|
||||
import me.proton.core.plan.domain.repository.PlansRepository
|
||||
import javax.inject.Singleton
|
||||
|
||||
|
@ -33,7 +35,7 @@ import javax.inject.Singleton
|
|||
object PlansModule {
|
||||
|
||||
@Provides
|
||||
@SupportedPaidPlans
|
||||
@SupportedSignupPaidPlans
|
||||
fun provideClientSupportedPaidPlanNames(): List<String> =
|
||||
listOf("plus")
|
||||
|
||||
|
@ -42,3 +44,11 @@ object PlansModule {
|
|||
fun providePlansRepository(apiProvider: ApiProvider): PlansRepository =
|
||||
PlansRepositoryImpl(provider = apiProvider)
|
||||
}
|
||||
|
||||
@Module
|
||||
@InstallIn(SingletonComponent::class)
|
||||
interface PlansBindsModule {
|
||||
@Binds
|
||||
@SupportedUpgradePaidPlans
|
||||
fun bindClientSupportedUpgradePaidPlanNames(@SupportedSignupPaidPlans plans: List<String>): List<String>
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ plugins {
|
|||
kotlin("android")
|
||||
}
|
||||
|
||||
libVersion = Version(1, 18, 2)
|
||||
libVersion = Version(1, 18, 3)
|
||||
|
||||
android()
|
||||
|
||||
|
|
|
@ -20,6 +20,16 @@ package me.proton.core.plan.domain
|
|||
|
||||
import javax.inject.Qualifier
|
||||
|
||||
/**
|
||||
* Plans supported in signup.
|
||||
*/
|
||||
@Qualifier
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
annotation class SupportedPaidPlans
|
||||
annotation class SupportedSignupPaidPlans
|
||||
|
||||
/**
|
||||
* Plans supported in plan upgrade flow.
|
||||
*/
|
||||
@Qualifier
|
||||
@Retention(AnnotationRetention.BINARY)
|
||||
annotation class SupportedUpgradePaidPlans
|
||||
|
|
|
@ -24,21 +24,16 @@ import kotlinx.coroutines.flow.catch
|
|||
import kotlinx.coroutines.flow.flow
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.launch
|
||||
import me.proton.core.domain.entity.UserId
|
||||
import me.proton.core.payment.domain.entity.SubscriptionCycle
|
||||
import me.proton.core.payment.presentation.PaymentsOrchestrator
|
||||
import me.proton.core.payment.presentation.onPaymentResult
|
||||
import me.proton.core.plan.domain.SupportedPaidPlans
|
||||
import me.proton.core.plan.domain.SupportedSignupPaidPlans
|
||||
import me.proton.core.plan.domain.usecase.GetPlans
|
||||
import me.proton.core.plan.presentation.entity.PlanDetailsListItem
|
||||
import me.proton.core.plan.presentation.entity.SelectedPlan
|
||||
import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
internal class SignupPlansViewModel @Inject constructor(
|
||||
private val getPlans: GetPlans,
|
||||
@SupportedPaidPlans val supportedPaidPlanNames: List<String>,
|
||||
@SupportedSignupPaidPlans val supportedPaidPlanNames: List<String>,
|
||||
paymentsOrchestrator: PaymentsOrchestrator
|
||||
) : BasePlansViewModel(paymentsOrchestrator) {
|
||||
|
||||
|
|
|
@ -26,19 +26,15 @@ import kotlinx.coroutines.flow.catch
|
|||
import kotlinx.coroutines.flow.flow
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.launch
|
||||
import me.proton.core.domain.entity.UserId
|
||||
import me.proton.core.payment.domain.entity.SubscriptionCycle
|
||||
import me.proton.core.payment.domain.usecase.GetCurrentSubscription
|
||||
import me.proton.core.payment.presentation.PaymentsOrchestrator
|
||||
import me.proton.core.payment.presentation.onPaymentResult
|
||||
import me.proton.core.plan.domain.SupportedPaidPlans
|
||||
import me.proton.core.plan.domain.SupportedUpgradePaidPlans
|
||||
import me.proton.core.plan.domain.usecase.GetPlans
|
||||
import me.proton.core.plan.presentation.entity.PlanCurrency
|
||||
import me.proton.core.plan.presentation.entity.PlanDetailsListItem
|
||||
import me.proton.core.plan.presentation.entity.PlanPricing
|
||||
import me.proton.core.plan.presentation.entity.PlanType
|
||||
import me.proton.core.plan.presentation.entity.SelectedPlan
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Calendar
|
||||
import java.util.Locale
|
||||
|
@ -48,7 +44,7 @@ import javax.inject.Inject
|
|||
internal class UpgradePlansViewModel @Inject constructor(
|
||||
private val getPlans: GetPlans,
|
||||
private val getCurrentSubscription: GetCurrentSubscription,
|
||||
@SupportedPaidPlans val supportedPaidPlanNames: List<String>,
|
||||
@SupportedUpgradePaidPlans val supportedPaidPlanNames: List<String>,
|
||||
paymentsOrchestrator: PaymentsOrchestrator
|
||||
) : BasePlansViewModel(paymentsOrchestrator) {
|
||||
|
||||
|
|
Loading…
Reference in New Issue