Skip to content

Commit b8d4ff5

Browse files
committed
separating the user name entered action for login vs register in prep for different behaviours
1 parent ffb8b10 commit b8d4ff5

File tree

5 files changed

+19
-9
lines changed

5 files changed

+19
-9
lines changed

vector/src/main/java/im/vector/app/features/onboarding/OnboardingAction.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,10 @@ sealed interface OnboardingAction : VectorViewModelAction {
5252
object ResendResetPassword : OnboardingAction
5353
object ResetPasswordMailConfirmed : OnboardingAction
5454

55-
data class MaybeUpdateHomeserverFromMatrixId(val userId: String) : OnboardingAction
55+
sealed interface UserNameEnteredAction : OnboardingAction {
56+
data class Registration(val userId: String) : UserNameEnteredAction
57+
data class Login(val userId: String) : UserNameEnteredAction
58+
}
5659
sealed interface AuthenticateAction : OnboardingAction {
5760
data class Register(val username: String, val password: String, val initialDeviceName: String) : AuthenticateAction
5861
data class Login(val username: String, val password: String, val initialDeviceName: String) : AuthenticateAction

vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ class OnboardingViewModel @AssistedInject constructor(
144144
is OnboardingAction.UpdateSignMode -> handleUpdateSignMode(action)
145145
is OnboardingAction.InitWith -> handleInitWith(action)
146146
is OnboardingAction.HomeServerChange -> withAction(action) { handleHomeserverChange(action) }
147-
is OnboardingAction.MaybeUpdateHomeserverFromMatrixId -> handleMaybeUpdateHomeserver(action)
147+
is OnboardingAction.UserNameEnteredAction -> handleUserNameEntered(action)
148148
is AuthenticateAction -> withAction(action) { handleAuthenticateAction(action) }
149149
is OnboardingAction.LoginWithToken -> handleLoginWithToken(action)
150150
is OnboardingAction.WebLoginSuccess -> handleWebLoginSuccess(action)
@@ -167,10 +167,17 @@ class OnboardingViewModel @AssistedInject constructor(
167167
}
168168
}
169169

170-
private fun handleMaybeUpdateHomeserver(action: OnboardingAction.MaybeUpdateHomeserverFromMatrixId) {
171-
val isFullMatrixId = MatrixPatterns.isUserId(action.userId)
170+
private fun handleUserNameEntered(action: OnboardingAction.UserNameEnteredAction) {
171+
when(action) {
172+
is OnboardingAction.UserNameEnteredAction.Login -> maybeUpdateHomeserver(action.userId)
173+
is OnboardingAction.UserNameEnteredAction.Registration -> maybeUpdateHomeserver(action.userId)
174+
}
175+
}
176+
177+
private fun maybeUpdateHomeserver(userNameOrMatrixId: String) {
178+
val isFullMatrixId = MatrixPatterns.isUserId(userNameOrMatrixId)
172179
if (isFullMatrixId) {
173-
val domain = action.userId.getServerName().substringBeforeLast(":").ensureProtocol()
180+
val domain = userNameOrMatrixId.getServerName().substringBeforeLast(":").ensureProtocol()
174181
handleHomeserverChange(OnboardingAction.HomeServerChange.EditHomeServer(domain))
175182
} else {
176183
// ignore the action

vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedLoginFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class FtueAuthCombinedLoginFragment @Inject constructor(
6060
views.loginRoot.realignPercentagesToParent()
6161
views.editServerButton.debouncedClicks { viewModel.handle(OnboardingAction.PostViewEvent(OnboardingViewEvents.EditServerSelection)) }
6262
views.loginPasswordInput.setOnImeDoneListener { submit() }
63-
views.loginInput.setOnFocusLostListener { viewModel.handle(OnboardingAction.MaybeUpdateHomeserverFromMatrixId(views.loginInput.content())) }
63+
views.loginInput.setOnFocusLostListener { viewModel.handle(OnboardingAction.UserNameEnteredAction.Login(views.loginInput.content())) }
6464
views.loginForgotPassword.debouncedClicks { viewModel.handle(OnboardingAction.PostViewEvent(OnboardingViewEvents.OnForgetPasswordClicked)) }
6565
}
6666

vector/src/main/java/im/vector/app/features/onboarding/ftueauth/FtueAuthCombinedRegisterFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class FtueAuthCombinedRegisterFragment @Inject constructor() : AbstractSSOFtueAu
7070
views.editServerButton.debouncedClicks { viewModel.handle(OnboardingAction.PostViewEvent(OnboardingViewEvents.EditServerSelection)) }
7171
views.createAccountPasswordInput.setOnImeDoneListener { submit() }
7272
views.createAccountInput.setOnFocusLostListener {
73-
viewModel.handle(OnboardingAction.MaybeUpdateHomeserverFromMatrixId(views.createAccountInput.content()))
73+
viewModel.handle(OnboardingAction.UserNameEnteredAction.Registration(views.createAccountInput.content()))
7474
}
7575
}
7676

vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ class OnboardingViewModelTest {
296296
val test = viewModel.test()
297297
val fullMatrixId = "@a-user:${A_HOMESERVER_URL.removePrefix("https://")}"
298298

299-
viewModel.handle(OnboardingAction.MaybeUpdateHomeserverFromMatrixId(fullMatrixId))
299+
viewModel.handle(OnboardingAction.UserNameEnteredAction.Registration(fullMatrixId))
300300

301301
test
302302
.assertStatesChanges(
@@ -316,7 +316,7 @@ class OnboardingViewModelTest {
316316
val test = viewModel.test()
317317
val onlyUsername = "a-username"
318318

319-
viewModel.handle(OnboardingAction.MaybeUpdateHomeserverFromMatrixId(onlyUsername))
319+
viewModel.handle(OnboardingAction.UserNameEnteredAction.Registration(onlyUsername))
320320

321321
test
322322
.assertStates(initialState)

0 commit comments

Comments
 (0)