From 156bb28d94f286bab9bae96211985deb32272fc0 Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Wed, 5 Oct 2022 11:42:00 +0300 Subject: [PATCH] Add identifier as separate login stage param --- .idea/misc.xml | 2 +- .../matrix/android/sdk/api/auth/login/LoginWizard.kt | 2 +- .../sdk/internal/auth/login/DefaultLoginWizard.kt | 10 +++------- .../android/sdk/internal/auth/login/LoginFlowParams.kt | 5 ++++- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 5c9f89fe..54d5acd7 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ExternalStorageConfigurationManager" enabled="true" /> - <component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK"> + <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK"> <output url="file://$PROJECT_DIR$/build/classes" /> </component> <component name="ProjectType"> diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/login/LoginWizard.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/login/LoginWizard.kt index 07d748b9..b8851f0a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/login/LoginWizard.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/auth/login/LoginWizard.kt @@ -88,5 +88,5 @@ interface LoginWizard { * Current login "session" param will be included into authParams by default. * The authParams should contain at least one entry "type" with a String value. */ - suspend fun loginStageCustom(authParams: JsonDict): RegistrationResult + suspend fun loginStageCustom(authParams: JsonDict, identifierParams: JsonDict? = null): RegistrationResult } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DefaultLoginWizard.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DefaultLoginWizard.kt index e1b212f2..a1282f9e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DefaultLoginWizard.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/DefaultLoginWizard.kt @@ -17,7 +17,6 @@ package org.matrix.android.sdk.internal.auth.login import android.util.Patterns -import kotlinx.coroutines.delay import org.matrix.android.sdk.api.auth.LoginType import org.matrix.android.sdk.api.auth.data.Credentials import org.matrix.android.sdk.api.auth.login.LoginProfileInfo @@ -38,11 +37,7 @@ import org.matrix.android.sdk.internal.auth.data.TokenLoginParams import org.matrix.android.sdk.internal.auth.db.PendingSessionData import org.matrix.android.sdk.internal.auth.findStageForType import org.matrix.android.sdk.internal.auth.registration.AddThreePidRegistrationParams -import org.matrix.android.sdk.internal.auth.registration.DefaultRegisterTask import org.matrix.android.sdk.internal.auth.registration.RegisterAddThreePidTask -import org.matrix.android.sdk.internal.auth.registration.RegisterTask -import org.matrix.android.sdk.internal.auth.registration.RegistrationCustomParams -import org.matrix.android.sdk.internal.auth.registration.RegistrationParams import org.matrix.android.sdk.internal.network.executeRequest import org.matrix.android.sdk.internal.session.content.DefaultContentUrlResolver import org.matrix.android.sdk.internal.session.contentscanner.DisabledContentScannerService @@ -178,7 +173,8 @@ internal class DefaultLoginWizard( //Added to support few login flows override suspend fun loginStageCustom( - authParams: JsonDict + authParams: JsonDict, + identifierParams: JsonDict? ): RegistrationResult { val safeSession = pendingSessionData.currentSession ?: throw IllegalStateException("developer error, call createAccount() method first") @@ -186,7 +182,7 @@ internal class DefaultLoginWizard( val mutableParams = authParams.toMutableMap() mutableParams["session"] = safeSession - val params = LoginFlowParams(auth = mutableParams) + val params = LoginFlowParams(auth = mutableParams, identifier = identifierParams) return performRegistrationRequest(LoginType.CUSTOM, params) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/LoginFlowParams.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/LoginFlowParams.kt index 3515b56e..9d0136ba 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/LoginFlowParams.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/auth/login/LoginFlowParams.kt @@ -27,5 +27,8 @@ import org.matrix.android.sdk.api.util.JsonDict internal data class LoginFlowParams( // authentication parameters @Json(name = "auth") - val auth: JsonDict? = null + val auth: JsonDict? = null, + + @Json(name = "identifier") + val identifier: JsonDict? = null ) -- GitLab