Detekt
This commit is contained in:
parent
7b3c3d0dbb
commit
e375fa0e67
|
@ -57,7 +57,7 @@ data class WellKnown(
|
||||||
val integrations: JsonDict? = null,
|
val integrations: JsonDict? = null,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For delegation of auth via OIDC as per [MSC2965](https://github.com/matrix-org/matrix-spec-proposals/pull/2965)
|
* For delegation of auth via OIDC as per [MSC2965](https://github.com/matrix-org/matrix-spec-proposals/pull/2965).
|
||||||
*/
|
*/
|
||||||
@Json(name = "org.matrix.msc2965.authentication")
|
@Json(name = "org.matrix.msc2965.authentication")
|
||||||
val unstableDelegatedAuthConfig: DelegatedAuthConfig? = null,
|
val unstableDelegatedAuthConfig: DelegatedAuthConfig? = null,
|
||||||
|
|
|
@ -818,7 +818,10 @@ class LoginViewModel @AssistedInject constructor(
|
||||||
val loginMode = when {
|
val loginMode = when {
|
||||||
// SSO login is taken first
|
// SSO login is taken first
|
||||||
data.supportedLoginTypes.contains(LoginFlowTypes.SSO) &&
|
data.supportedLoginTypes.contains(LoginFlowTypes.SSO) &&
|
||||||
data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.SsoAndPassword(data.ssoIdentityProviders.toSsoState(), data.hasOidcCompatibilityFlow)
|
data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.SsoAndPassword(
|
||||||
|
data.ssoIdentityProviders.toSsoState(),
|
||||||
|
data.hasOidcCompatibilityFlow
|
||||||
|
)
|
||||||
data.supportedLoginTypes.contains(LoginFlowTypes.SSO) -> LoginMode.Sso(data.ssoIdentityProviders.toSsoState(), data.hasOidcCompatibilityFlow)
|
data.supportedLoginTypes.contains(LoginFlowTypes.SSO) -> LoginMode.Sso(data.ssoIdentityProviders.toSsoState(), data.hasOidcCompatibilityFlow)
|
||||||
data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.Password
|
data.supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.Password
|
||||||
else -> LoginMode.Unsupported
|
else -> LoginMode.Unsupported
|
||||||
|
|
|
@ -78,7 +78,8 @@ class SocialLoginButtonsView @JvmOverloads constructor(context: Context, attrs:
|
||||||
transformationMethod = null
|
transformationMethod = null
|
||||||
textAlignment = View.TEXT_ALIGNMENT_CENTER
|
textAlignment = View.TEXT_ALIGNMENT_CENTER
|
||||||
}.let {
|
}.let {
|
||||||
it.text = if (hasOidcCompatibilityFlow) context.getString(R.string.login_continue) else getButtonTitle(context.getString(R.string.login_social_sso))
|
it.text = if (hasOidcCompatibilityFlow) context.getString(R.string.login_continue)
|
||||||
|
else getButtonTitle(context.getString(R.string.login_social_sso))
|
||||||
it.textAlignment = View.TEXT_ALIGNMENT_CENTER
|
it.textAlignment = View.TEXT_ALIGNMENT_CENTER
|
||||||
it.setOnClickListener {
|
it.setOnClickListener {
|
||||||
listener?.onProviderSelected(null)
|
listener?.onProviderSelected(null)
|
||||||
|
@ -175,6 +176,7 @@ fun SocialLoginButtonsView.render(loginMode: LoginMode, mode: SocialLoginButtons
|
||||||
SsoState.Fallback -> null
|
SsoState.Fallback -> null
|
||||||
is SsoState.IdentityProviders -> state.providers.sorted()
|
is SsoState.IdentityProviders -> state.providers.sorted()
|
||||||
}
|
}
|
||||||
this.hasOidcCompatibilityFlow = (loginMode is LoginMode.Sso && loginMode.hasOidcCompatibilityFlow) || (loginMode is LoginMode.SsoAndPassword && loginMode.hasOidcCompatibilityFlow)
|
this.hasOidcCompatibilityFlow = (loginMode is LoginMode.Sso && loginMode.hasOidcCompatibilityFlow)
|
||||||
|
|| (loginMode is LoginMode.SsoAndPassword && loginMode.hasOidcCompatibilityFlow)
|
||||||
this.listener = SocialLoginButtonsView.InteractionListener { listener(it) }
|
this.listener = SocialLoginButtonsView.InteractionListener { listener(it) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,10 @@ class StartAuthenticationFlowUseCase @Inject constructor(
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun LoginFlowResult.findPreferredLoginMode() = when {
|
private fun LoginFlowResult.findPreferredLoginMode() = when {
|
||||||
supportedLoginTypes.containsAllItems(LoginFlowTypes.SSO, LoginFlowTypes.PASSWORD) -> LoginMode.SsoAndPassword(ssoIdentityProviders.toSsoState(), hasOidcCompatibilityFlow)
|
supportedLoginTypes.containsAllItems(LoginFlowTypes.SSO, LoginFlowTypes.PASSWORD) -> LoginMode.SsoAndPassword(
|
||||||
|
ssoIdentityProviders.toSsoState(),
|
||||||
|
hasOidcCompatibilityFlow
|
||||||
|
)
|
||||||
supportedLoginTypes.contains(LoginFlowTypes.SSO) -> LoginMode.Sso(ssoIdentityProviders.toSsoState(), hasOidcCompatibilityFlow)
|
supportedLoginTypes.contains(LoginFlowTypes.SSO) -> LoginMode.Sso(ssoIdentityProviders.toSsoState(), hasOidcCompatibilityFlow)
|
||||||
supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.Password
|
supportedLoginTypes.contains(LoginFlowTypes.PASSWORD) -> LoginMode.Password
|
||||||
else -> LoginMode.Unsupported
|
else -> LoginMode.Unsupported
|
||||||
|
|
Loading…
Reference in New Issue