Fix social login button rendering on old OS

This commit is contained in:
Benoit Marty 2021-04-14 12:44:48 +02:00
parent 699b1429b7
commit 89c2662e09

View File

@ -91,18 +91,29 @@ class LoginFragment @Inject constructor() : AbstractSSOLoginFragment<FragmentLog
SignMode.SignUp -> {
views.loginField.setAutofillHints(HintConstants.AUTOFILL_HINT_NEW_USERNAME)
views.passwordField.setAutofillHints(HintConstants.AUTOFILL_HINT_NEW_PASSWORD)
views.loginSocialLoginButtons.mode = SocialLoginButtonsView.Mode.MODE_SIGN_UP
}
SignMode.SignIn,
SignMode.SignInWithMatrixId -> {
views.loginField.setAutofillHints(HintConstants.AUTOFILL_HINT_USERNAME)
views.passwordField.setAutofillHints(HintConstants.AUTOFILL_HINT_PASSWORD)
views.loginSocialLoginButtons.mode = SocialLoginButtonsView.Mode.MODE_SIGN_IN
}
}.exhaustive
}
}
private fun setupSocialLoginButtons(state: LoginViewState) {
when (state.signMode) {
SignMode.Unknown -> error("developer error")
SignMode.SignUp -> {
views.loginSocialLoginButtons.mode = SocialLoginButtonsView.Mode.MODE_SIGN_UP
}
SignMode.SignIn,
SignMode.SignInWithMatrixId -> {
views.loginSocialLoginButtons.mode = SocialLoginButtonsView.Mode.MODE_SIGN_IN
}
}.exhaustive
}
private fun submit() {
cleanupUi()
@ -277,6 +288,7 @@ class LoginFragment @Inject constructor() : AbstractSSOLoginFragment<FragmentLog
setupUi(state)
setupAutoFill(state)
setupSocialLoginButtons(state)
setupButtons(state)
when (state.asyncLoginAction) {