mirror of
https://github.com/element-hq/element-android
synced 2024-10-25 12:17:25 +03:00
Fix issue after rebase
This commit is contained in:
parent
d812ed72d0
commit
f0433fd27d
1 changed files with 82 additions and 86 deletions
|
@ -618,48 +618,46 @@ class LoginViewModel2 @AssistedInject constructor(
|
||||||
} catch (failure: Throwable) {
|
} catch (failure: Throwable) {
|
||||||
_viewEvents.post(LoginViewEvents2.Failure(failure))
|
_viewEvents.post(LoginViewEvents2.Failure(failure))
|
||||||
null
|
null
|
||||||
|
} ?: return
|
||||||
|
|
||||||
|
val loginMode = when {
|
||||||
|
data.supportedLoginTypes.contains(LoginFlowTypes.SSO)
|
||||||
|
&& data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.SsoAndPassword(data.ssoIdentityProviders)
|
||||||
|
data.supportedLoginTypes.contains(LoginFlowTypes.SSO) -> LoginMode.Sso(data.ssoIdentityProviders)
|
||||||
|
data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.Password
|
||||||
|
else -> LoginMode.Unsupported
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data is LoginFlowResult.Success) {
|
val viewEvent = when (loginMode) {
|
||||||
val loginMode = when {
|
LoginMode.Password,
|
||||||
data.supportedLoginTypes.contains(LoginFlowTypes.SSO)
|
is LoginMode.SsoAndPassword -> {
|
||||||
&& data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.SsoAndPassword(data.ssoIdentityProviders)
|
retrieveProfileInfo(action.username)
|
||||||
data.supportedLoginTypes.contains(LoginFlowTypes.SSO) -> LoginMode.Sso(data.ssoIdentityProviders)
|
// We can navigate to the password screen
|
||||||
data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.Password
|
LoginViewEvents2.OpenPasswordScreen
|
||||||
else -> LoginMode.Unsupported
|
|
||||||
}
|
}
|
||||||
|
is LoginMode.Sso -> {
|
||||||
|
LoginViewEvents2.OpenSsoOnlyScreen
|
||||||
|
}
|
||||||
|
LoginMode.Unsupported -> LoginViewEvents2.OnLoginModeNotSupported(data.supportedLoginTypes.toList())
|
||||||
|
LoginMode.Unknown -> null
|
||||||
|
}
|
||||||
|
viewEvent?.let { _viewEvents.post(it) }
|
||||||
|
|
||||||
val viewEvent = when (loginMode) {
|
val urlFromUser = action.username.substringAfter(":")
|
||||||
LoginMode.Password,
|
setState {
|
||||||
is LoginMode.SsoAndPassword -> {
|
copy(
|
||||||
retrieveProfileInfo(action.username)
|
isLoading = false,
|
||||||
// We can navigate to the password screen
|
homeServerUrlFromUser = urlFromUser,
|
||||||
LoginViewEvents2.OpenPasswordScreen
|
homeServerUrl = data.homeServerUrl,
|
||||||
}
|
isNumericOnlyUserIdForbidden = urlFromUser == matrixOrgUrl,
|
||||||
is LoginMode.Sso -> {
|
loginMode = loginMode
|
||||||
LoginViewEvents2.OpenSsoOnlyScreen
|
)
|
||||||
}
|
}
|
||||||
LoginMode.Unsupported -> LoginViewEvents2.OnLoginModeNotSupported(data.supportedLoginTypes.toList())
|
|
||||||
LoginMode.Unknown -> null
|
|
||||||
}
|
|
||||||
viewEvent?.let { _viewEvents.post(it) }
|
|
||||||
|
|
||||||
val urlFromUser = action.username.substringAfter(":")
|
if ((loginMode == LoginMode.Password && !data.isLoginAndRegistrationSupported)
|
||||||
setState {
|
|| data.isOutdatedHomeserver) {
|
||||||
copy(
|
// Notify the UI
|
||||||
isLoading = false,
|
_viewEvents.post(LoginViewEvents2.OutdatedHomeserver)
|
||||||
homeServerUrlFromUser = urlFromUser,
|
|
||||||
homeServerUrl = data.homeServerUrl,
|
|
||||||
isNumericOnlyUserIdForbidden = urlFromUser == matrixOrgUrl,
|
|
||||||
loginMode = loginMode
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((loginMode == LoginMode.Password && !data.isLoginAndRegistrationSupported)
|
|
||||||
|| data.isOutdatedHomeserver) {
|
|
||||||
// Notify the UI
|
|
||||||
_viewEvents.post(LoginViewEvents2.OutdatedHomeserver)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -744,32 +742,31 @@ class LoginViewModel2 @AssistedInject constructor(
|
||||||
_viewEvents.post(LoginViewEvents2.Failure(failure))
|
_viewEvents.post(LoginViewEvents2.Failure(failure))
|
||||||
setState { copy(isLoading = false) }
|
setState { copy(isLoading = false) }
|
||||||
null
|
null
|
||||||
|
} ?: return@launch
|
||||||
|
|
||||||
|
// Valid Homeserver, add it to the history.
|
||||||
|
// Note: we add what the user has input, data.homeServerUrl can be different
|
||||||
|
rememberHomeServer(homeServerConnectionConfig.homeServerUri.toString())
|
||||||
|
|
||||||
|
val loginMode = when {
|
||||||
|
data.supportedLoginTypes.contains(LoginFlowTypes.SSO)
|
||||||
|
&& data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.SsoAndPassword(data.ssoIdentityProviders)
|
||||||
|
data.supportedLoginTypes.contains(LoginFlowTypes.SSO) -> LoginMode.Sso(data.ssoIdentityProviders)
|
||||||
|
data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.Password
|
||||||
|
else -> LoginMode.Unsupported
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data is LoginFlowResult.Success) {
|
val viewEvent = when (loginMode) {
|
||||||
// Valid Homeserver, add it to the history.
|
LoginMode.Password,
|
||||||
// Note: we add what the user has input, data.homeServerUrl can be different
|
is LoginMode.SsoAndPassword -> {
|
||||||
rememberHomeServer(homeServerConnectionConfig.homeServerUri.toString())
|
when (state.signMode) {
|
||||||
|
SignMode2.Unknown -> null
|
||||||
|
SignMode2.SignUp -> {
|
||||||
|
// Check that registration is possible on this server
|
||||||
|
try {
|
||||||
|
registrationWizard?.getRegistrationFlow()
|
||||||
|
|
||||||
val loginMode = when {
|
/*
|
||||||
data.supportedLoginTypes.contains(LoginFlowTypes.SSO)
|
|
||||||
&& data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.SsoAndPassword(data.ssoIdentityProviders)
|
|
||||||
data.supportedLoginTypes.contains(LoginFlowTypes.SSO) -> LoginMode.Sso(data.ssoIdentityProviders)
|
|
||||||
data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.Password
|
|
||||||
else -> LoginMode.Unsupported
|
|
||||||
}
|
|
||||||
|
|
||||||
val viewEvent = when (loginMode) {
|
|
||||||
LoginMode.Password,
|
|
||||||
is LoginMode.SsoAndPassword -> {
|
|
||||||
when (state.signMode) {
|
|
||||||
SignMode2.Unknown -> null
|
|
||||||
SignMode2.SignUp -> {
|
|
||||||
// Check that registration is possible on this server
|
|
||||||
try {
|
|
||||||
registrationWizard?.getRegistrationFlow()
|
|
||||||
|
|
||||||
/*
|
|
||||||
// Simulate registration disabled
|
// Simulate registration disabled
|
||||||
throw Failure.ServerError(
|
throw Failure.ServerError(
|
||||||
error = MatrixError(
|
error = MatrixError(
|
||||||
|
@ -780,38 +777,37 @@ class LoginViewModel2 @AssistedInject constructor(
|
||||||
)
|
)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
LoginViewEvents2.OpenSignUpChooseUsernameScreen
|
LoginViewEvents2.OpenSignUpChooseUsernameScreen
|
||||||
} catch (throwable: Throwable) {
|
} catch (throwable: Throwable) {
|
||||||
// Registration disabled?
|
// Registration disabled?
|
||||||
LoginViewEvents2.Failure(throwable)
|
LoginViewEvents2.Failure(throwable)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
SignMode2.SignIn -> LoginViewEvents2.OpenSignInWithAnythingScreen
|
|
||||||
}
|
}
|
||||||
|
SignMode2.SignIn -> LoginViewEvents2.OpenSignInWithAnythingScreen
|
||||||
}
|
}
|
||||||
is LoginMode.Sso -> {
|
|
||||||
LoginViewEvents2.OpenSsoOnlyScreen
|
|
||||||
}
|
|
||||||
LoginMode.Unsupported -> LoginViewEvents2.OnLoginModeNotSupported(data.supportedLoginTypes.toList())
|
|
||||||
LoginMode.Unknown -> null
|
|
||||||
}
|
}
|
||||||
viewEvent?.let { _viewEvents.post(it) }
|
is LoginMode.Sso -> {
|
||||||
|
LoginViewEvents2.OpenSsoOnlyScreen
|
||||||
|
}
|
||||||
|
LoginMode.Unsupported -> LoginViewEvents2.OnLoginModeNotSupported(data.supportedLoginTypes.toList())
|
||||||
|
LoginMode.Unknown -> null
|
||||||
|
}
|
||||||
|
viewEvent?.let { _viewEvents.post(it) }
|
||||||
|
|
||||||
if ((loginMode == LoginMode.Password && !data.isLoginAndRegistrationSupported)
|
if ((loginMode == LoginMode.Password && !data.isLoginAndRegistrationSupported)
|
||||||
|| data.isOutdatedHomeserver) {
|
|| data.isOutdatedHomeserver) {
|
||||||
// Notify the UI
|
// Notify the UI
|
||||||
_viewEvents.post(LoginViewEvents2.OutdatedHomeserver)
|
_viewEvents.post(LoginViewEvents2.OutdatedHomeserver)
|
||||||
}
|
}
|
||||||
|
|
||||||
setState {
|
setState {
|
||||||
copy(
|
copy(
|
||||||
isLoading = false,
|
isLoading = false,
|
||||||
homeServerUrlFromUser = homeServerConnectionConfig.homeServerUri.toString(),
|
homeServerUrlFromUser = homeServerConnectionConfig.homeServerUri.toString(),
|
||||||
homeServerUrl = data.homeServerUrl,
|
homeServerUrl = data.homeServerUrl,
|
||||||
isNumericOnlyUserIdForbidden = homeServerConnectionConfig.homeServerUri.toString() == matrixOrgUrl,
|
isNumericOnlyUserIdForbidden = homeServerConnectionConfig.homeServerUri.toString() == matrixOrgUrl,
|
||||||
loginMode = loginMode
|
loginMode = loginMode
|
||||||
)
|
)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue