Cleanup
This commit is contained in:
parent
e8c24b65d1
commit
a4e2a688c3
8 changed files with 10 additions and 14 deletions
|
|
@ -29,9 +29,6 @@ import io.element.android.libraries.architecture.inputs
|
||||||
import io.element.android.libraries.di.AppScope
|
import io.element.android.libraries.di.AppScope
|
||||||
import io.element.android.libraries.matrix.api.auth.OidcDetails
|
import io.element.android.libraries.matrix.api.auth.OidcDetails
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO Transmit back press to the webview
|
|
||||||
*/
|
|
||||||
@ContributesNode(AppScope::class)
|
@ContributesNode(AppScope::class)
|
||||||
class OidcNode @AssistedInject constructor(
|
class OidcNode @AssistedInject constructor(
|
||||||
@Assisted buildContext: BuildContext,
|
@Assisted buildContext: BuildContext,
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,6 @@ fun OidcView(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
is Async.Loading -> {
|
is Async.Loading -> {
|
||||||
// Indeterminate indicator, to avoid the freeze effect if the connection takes time to initialize.
|
|
||||||
CircularProgressIndicator(
|
CircularProgressIndicator(
|
||||||
modifier = Modifier.align(Alignment.Center)
|
modifier = Modifier.align(Alignment.Center)
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ class LoginRootPresenter @Inject constructor(
|
||||||
LoginRootEvents.Submit -> {
|
LoginRootEvents.Submit -> {
|
||||||
val homeServerDetails = getHomeServerDetailsAction.value.dataOrNull() ?: return
|
val homeServerDetails = getHomeServerDetailsAction.value.dataOrNull() ?: return
|
||||||
when {
|
when {
|
||||||
homeServerDetails.supportsOidc -> localCoroutineScope.submitOidc(loggedInState)
|
homeServerDetails.supportsOidcLogin -> localCoroutineScope.submitOidc(loggedInState)
|
||||||
homeServerDetails.supportsPasswordLogin -> localCoroutineScope.submit(formState.value, loggedInState)
|
homeServerDetails.supportsPasswordLogin -> localCoroutineScope.submit(formState.value, loggedInState)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ data class LoginRootState(
|
||||||
val eventSink: (LoginRootEvents) -> Unit
|
val eventSink: (LoginRootEvents) -> Unit
|
||||||
) {
|
) {
|
||||||
val supportPasswordLogin = (homeserverDetails as? Async.Success)?.state?.supportsPasswordLogin.orFalse()
|
val supportPasswordLogin = (homeserverDetails as? Async.Success)?.state?.supportsPasswordLogin.orFalse()
|
||||||
val supportOidcLogin = (homeserverDetails as? Async.Success)?.state?.supportsOidc.orFalse()
|
val supportOidcLogin = (homeserverDetails as? Async.Success)?.state?.supportsOidcLogin.orFalse()
|
||||||
val submitEnabled: Boolean
|
val submitEnabled: Boolean
|
||||||
get() = loggedInState !is LoggedInState.ErrorLoggingIn &&
|
get() = loggedInState !is LoggedInState.ErrorLoggingIn &&
|
||||||
((formState.login.isNotEmpty() && formState.password.isNotEmpty()) || supportOidcLogin)
|
((formState.login.isNotEmpty() && formState.password.isNotEmpty()) || supportOidcLogin)
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ open class LoginRootStateProvider : PreviewParameterProvider<LoginRootState> {
|
||||||
MatrixHomeServerDetails(
|
MatrixHomeServerDetails(
|
||||||
"some-custom-server.com",
|
"some-custom-server.com",
|
||||||
supportsPasswordLogin = true,
|
supportsPasswordLogin = true,
|
||||||
supportsOidc = false
|
supportsOidcLogin = false
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
@ -45,7 +45,7 @@ open class LoginRootStateProvider : PreviewParameterProvider<LoginRootState> {
|
||||||
MatrixHomeServerDetails(
|
MatrixHomeServerDetails(
|
||||||
"server-with-oidc.org",
|
"server-with-oidc.org",
|
||||||
supportsPasswordLogin = false,
|
supportsPasswordLogin = false,
|
||||||
supportsOidc = true
|
supportsOidcLogin = true
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
@ -56,7 +56,7 @@ open class LoginRootStateProvider : PreviewParameterProvider<LoginRootState> {
|
||||||
MatrixHomeServerDetails(
|
MatrixHomeServerDetails(
|
||||||
"wrong.org",
|
"wrong.org",
|
||||||
supportsPasswordLogin = false,
|
supportsPasswordLogin = false,
|
||||||
supportsOidc = false
|
supportsOidcLogin = false
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
@ -69,7 +69,7 @@ open class LoginRootStateProvider : PreviewParameterProvider<LoginRootState> {
|
||||||
|
|
||||||
fun aLoginRootState() = LoginRootState(
|
fun aLoginRootState() = LoginRootState(
|
||||||
homeserverUrl = "matrix.org",
|
homeserverUrl = "matrix.org",
|
||||||
homeserverDetails = Async.Success(MatrixHomeServerDetails("matrix.org", supportsPasswordLogin = true, supportsOidc = false)),
|
homeserverDetails = Async.Success(MatrixHomeServerDetails("matrix.org", supportsPasswordLogin = true, supportsOidcLogin = false)),
|
||||||
loggedInState = LoggedInState.NotLoggedIn,
|
loggedInState = LoggedInState.NotLoggedIn,
|
||||||
formState = LoginFormState.Default,
|
formState = LoginFormState.Default,
|
||||||
eventSink = {}
|
eventSink = {}
|
||||||
|
|
|
||||||
|
|
@ -23,5 +23,5 @@ import kotlinx.parcelize.Parcelize
|
||||||
data class MatrixHomeServerDetails(
|
data class MatrixHomeServerDetails(
|
||||||
val url: String,
|
val url: String,
|
||||||
val supportsPasswordLogin: Boolean,
|
val supportsPasswordLogin: Boolean,
|
||||||
val supportsOidc: Boolean,
|
val supportsOidcLogin: Boolean,
|
||||||
): Parcelable
|
): Parcelable
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,6 @@ fun HomeserverLoginDetails.map(): MatrixHomeServerDetails = use {
|
||||||
MatrixHomeServerDetails(
|
MatrixHomeServerDetails(
|
||||||
url = url(),
|
url = url(),
|
||||||
supportsPasswordLogin = supportsPasswordLogin(),
|
supportsPasswordLogin = supportsPasswordLogin(),
|
||||||
supportsOidc = supportsOidcLogin(),
|
supportsOidcLogin = supportsOidcLogin(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,8 +47,8 @@ const val ANOTHER_MESSAGE = "Hello universe!"
|
||||||
const val A_HOMESERVER_URL = "matrix.org"
|
const val A_HOMESERVER_URL = "matrix.org"
|
||||||
const val A_HOMESERVER_URL_2 = "matrix-client.org"
|
const val A_HOMESERVER_URL_2 = "matrix-client.org"
|
||||||
|
|
||||||
val A_HOMESERVER = MatrixHomeServerDetails(A_HOMESERVER_URL, supportsPasswordLogin = true, supportsOidc = false)
|
val A_HOMESERVER = MatrixHomeServerDetails(A_HOMESERVER_URL, supportsPasswordLogin = true, supportsOidcLogin = false)
|
||||||
val A_HOMESERVER_OIDC = MatrixHomeServerDetails(A_HOMESERVER_URL, supportsPasswordLogin = false, supportsOidc = true)
|
val A_HOMESERVER_OIDC = MatrixHomeServerDetails(A_HOMESERVER_URL, supportsPasswordLogin = false, supportsOidcLogin = true)
|
||||||
|
|
||||||
const val AN_AVATAR_URL = "mxc://data"
|
const val AN_AVATAR_URL = "mxc://data"
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue