From 722977878cac769733e64a3d5731591a896bb38e Mon Sep 17 00:00:00 2001 From: Taras <tarassmakula@gmail.com> Date: Mon, 21 Mar 2022 15:02:24 +0200 Subject: [PATCH] Create view model and data source --- .../sign_up/data_source/SignUpDataSource.kt | 11 ++--------- .../validate_email/ValidateEmailViewModel.kt | 11 +++++++++++ .../data_source/ValidateEmailDataSource.kt | 18 ++++++++++++++++++ 3 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt create mode 100644 app/src/main/java/com/futo/circles/feature/validate_email/data_source/ValidateEmailDataSource.kt diff --git a/app/src/main/java/com/futo/circles/feature/sign_up/data_source/SignUpDataSource.kt b/app/src/main/java/com/futo/circles/feature/sign_up/data_source/SignUpDataSource.kt index d4fb22771..f204af572 100644 --- a/app/src/main/java/com/futo/circles/feature/sign_up/data_source/SignUpDataSource.kt +++ b/app/src/main/java/com/futo/circles/feature/sign_up/data_source/SignUpDataSource.kt @@ -9,9 +9,7 @@ import org.matrix.android.sdk.api.auth.registration.RegistrationResult import org.matrix.android.sdk.api.auth.registration.Stage import org.matrix.android.sdk.api.session.Session -enum class ExtraSignUpStages { Avatar, Circles } - -enum class NavigationEvents { TokenValidation, AcceptTerm, VerifyEmail, SetupAvatar, SetupCircles, FinishSignUp } +enum class NavigationEvents { TokenValidation, AcceptTerm, ValidateEmail, SetupAvatar, SetupCircles, FinishSignUp } class SignUpDataSource( private val context: Context @@ -31,9 +29,6 @@ class SignUpDataSource( stagesToComplete.clear() stagesToComplete.addAll(stages) - ExtraSignUpStages.values().forEach { - stagesToComplete.add(Stage.Other(false, it.name, null)) - } navigateToNextStage() } @@ -62,7 +57,7 @@ class SignUpDataSource( currentStage = stage val event = when (stage) { - is Stage.Email -> NavigationEvents.VerifyEmail + is Stage.Email -> NavigationEvents.ValidateEmail is Stage.Terms -> NavigationEvents.AcceptTerm is Stage.Other -> handleStageOther(stage.type) else -> throw IllegalArgumentException("Not supported stage $stage") @@ -76,8 +71,6 @@ class SignUpDataSource( private fun handleStageOther(type: String): NavigationEvents = when (type) { REGISTRATION_TOKEN_KEY -> NavigationEvents.TokenValidation - ExtraSignUpStages.Avatar.name -> NavigationEvents.SetupAvatar - ExtraSignUpStages.Circles.name -> NavigationEvents.SetupCircles else -> throw IllegalArgumentException("Not supported stage $type") } diff --git a/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt b/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt new file mode 100644 index 000000000..8832b2e8b --- /dev/null +++ b/app/src/main/java/com/futo/circles/feature/validate_email/ValidateEmailViewModel.kt @@ -0,0 +1,11 @@ +package com.futo.circles.feature.validate_email + +import androidx.lifecycle.ViewModel +import com.futo.circles.feature.validate_email.data_source.ValidateEmailDataSource + +class ValidateEmailViewModel( + private val dataSource: ValidateEmailDataSource +) : ViewModel() { + + +} \ No newline at end of file diff --git a/app/src/main/java/com/futo/circles/feature/validate_email/data_source/ValidateEmailDataSource.kt b/app/src/main/java/com/futo/circles/feature/validate_email/data_source/ValidateEmailDataSource.kt new file mode 100644 index 000000000..d7dd03554 --- /dev/null +++ b/app/src/main/java/com/futo/circles/feature/validate_email/data_source/ValidateEmailDataSource.kt @@ -0,0 +1,18 @@ +package com.futo.circles.feature.validate_email.data_source + +import com.futo.circles.feature.sign_up.data_source.SignUpDataSource +import com.futo.circles.provider.MatrixInstanceProvider + +class ValidateEmailDataSource( + private val signUpDataSource: SignUpDataSource +) { + + private val wizard by lazy { + MatrixInstanceProvider.matrix.authenticationService().getRegistrationWizard() + } + + suspend fun sendValidationCode(email: String) {} + + suspend fun validateEmail(code:String){} + +} \ No newline at end of file -- GitLab