From 2a1c7dcf16e414dc2695442a40a7ad22b6a96a44 Mon Sep 17 00:00:00 2001 From: Neno Stefanov Date: Mon, 24 Nov 2025 13:45:49 +0200 Subject: [PATCH 1/3] refactor: update config props init --- .../main/java/com/miracl/trust/MIRACLTrust.kt | 16 +------ .../trust/configuration/Configuration.kt | 44 +++++++++++++------ 2 files changed, 33 insertions(+), 27 deletions(-) diff --git a/miracl-sdk/src/main/java/com/miracl/trust/MIRACLTrust.kt b/miracl-sdk/src/main/java/com/miracl/trust/MIRACLTrust.kt index 468496f..177533c 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/MIRACLTrust.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/MIRACLTrust.kt @@ -2,7 +2,6 @@ package com.miracl.trust import android.content.Context import android.net.Uri -import android.os.Build import androidx.annotation.VisibleForTesting import com.miracl.trust.authentication.* import com.miracl.trust.authentication.AuthenticatorScopes @@ -14,7 +13,6 @@ import com.miracl.trust.model.QuickCode import com.miracl.trust.model.User import com.miracl.trust.network.ApiRequestExecutor import com.miracl.trust.network.ApiSettings -import com.miracl.trust.network.HttpsURLConnectionRequestExecutor import com.miracl.trust.registration.* import com.miracl.trust.session.* import com.miracl.trust.session.SessionApiManager @@ -26,7 +24,6 @@ import com.miracl.trust.storage.UserStorageException import com.miracl.trust.storage.UserStorage import com.miracl.trust.util.UrlValidator import com.miracl.trust.util.json.KotlinxSerializationJsonUtil -import com.miracl.trust.util.log.DefaultLogger import com.miracl.trust.util.log.Logger import com.miracl.trust.util.log.LoggerConstants import com.miracl.trust.util.toUserDto @@ -91,7 +88,7 @@ public class MIRACLTrust private constructor( @VisibleForTesting internal var resultHandlerDispatcher: CoroutineDispatcher = Dispatchers.Main - private val deviceName: String = configuration.deviceName ?: Build.MODEL + private val deviceName: String = configuration.deviceName /** Project ID setting for the application in MIRACL Trust platform. */ public var projectId: String = configuration.projectId @@ -102,18 +99,9 @@ public class MIRACLTrust private constructor( //region Initialization init { logger = configuration.logger - ?: DefaultLogger( - configuration.loggingLevel ?: Logger.LoggingLevel.NONE - ) - - val httpRequestExecutor = configuration.httpRequestExecutor - ?: HttpsURLConnectionRequestExecutor( - configuration.connectTimeout, - configuration.readTimeout - ) val apiRequestExecutor = ApiRequestExecutor( - httpRequestExecutor, + configuration.httpRequestExecutor, KotlinxSerializationJsonUtil, configuration.applicationInfo ) diff --git a/miracl-sdk/src/main/java/com/miracl/trust/configuration/Configuration.kt b/miracl-sdk/src/main/java/com/miracl/trust/configuration/Configuration.kt index 9a284e6..e04ae39 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/configuration/Configuration.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/configuration/Configuration.kt @@ -1,9 +1,12 @@ package com.miracl.trust.configuration +import android.os.Build import com.miracl.trust.factory.ComponentFactory import com.miracl.trust.network.HttpRequestExecutor +import com.miracl.trust.network.HttpsURLConnectionRequestExecutor import com.miracl.trust.storage.UserStorage import com.miracl.trust.util.UrlValidator +import com.miracl.trust.util.log.DefaultLogger import com.miracl.trust.util.log.Logger import kotlinx.coroutines.Dispatchers import kotlin.coroutines.CoroutineContext @@ -18,12 +21,12 @@ import kotlin.jvm.Throws public class Configuration private constructor( internal val projectId: String, internal val projectUrl: String, + internal val deviceName: String, internal val applicationInfo: String? = null, - internal val deviceName: String? = null, - internal val httpRequestExecutor: HttpRequestExecutor? = null, + internal val httpRequestExecutor: HttpRequestExecutor, internal val componentFactory: ComponentFactory? = null, internal val userStorage: UserStorage? = null, - internal val logger: Logger? = null, + internal val logger: Logger, internal val loggingLevel: Logger.LoggingLevel? = null, internal val miraclCoroutineContext: CoroutineContext, internal val connectTimeout: Int, @@ -39,12 +42,12 @@ public class Configuration private constructor( this( builder.projectId, builder.projectUrl, + builder.deviceNameValue, builder.applicationInfo, - builder.deviceName, - builder.httpRequestExecutor, + builder.httpRequestExecutorValue, builder.componentFactory, builder.userStorage, - builder.logger, + builder.loggerValue, builder.loggingLevel, builder.coroutineContext, builder.connectTimeout, @@ -61,11 +64,11 @@ public class Configuration private constructor( internal val projectId: String, internal val projectUrl: String = DEFAULT_PLATFORM_URL ) { - internal var applicationInfo: String? = null + internal lateinit var deviceNameValue: String private set - internal var deviceName: String? = null + internal var applicationInfo: String? = null private set - internal var httpRequestExecutor: HttpRequestExecutor? = null + internal lateinit var httpRequestExecutorValue: HttpRequestExecutor private set internal var componentFactory: ComponentFactory? = null private set @@ -73,7 +76,7 @@ public class Configuration private constructor( private set internal var userStorage: UserStorage? = null private set - internal var logger: Logger? = null + internal lateinit var loggerValue: Logger private set internal var loggingLevel: Logger.LoggingLevel? = null private set @@ -98,13 +101,13 @@ public class Configuration private constructor( * Sets value of device name. */ public fun deviceName(deviceName: String): Builder = - apply { this.deviceName = deviceName } + apply { this.deviceNameValue = deviceName } /** * Provides implementation of the [HttpRequestExecutor] interface to be used by the SDK. */ public fun httpRequestExecutor(httpRequestExecutor: HttpRequestExecutor): Builder = - apply { this.httpRequestExecutor = httpRequestExecutor } + apply { this.httpRequestExecutorValue = httpRequestExecutor } /** * Provides implementation of the [UserStorage] interface to be used by the SDK. @@ -116,7 +119,7 @@ public class Configuration private constructor( * Provides implementation of the [Logger] interface to be used by the SDK. */ public fun logger(logger: Logger): Builder = - apply { this.logger = logger } + apply { this.loggerValue = logger } /** * Provides specific [Logger.LoggingLevel] to be used by the SDK default logger. @@ -162,6 +165,21 @@ public class Configuration private constructor( throw ConfigurationException.InvalidProjectUrl } + if (!this::deviceNameValue.isInitialized) { + deviceNameValue = Build.MODEL + } + + if (!this::httpRequestExecutorValue.isInitialized) { + httpRequestExecutorValue = + HttpsURLConnectionRequestExecutor(connectTimeout, readTimeout) + } + + if (!this::loggerValue.isInitialized) { + val loggingLevel = loggingLevel ?: Logger.LoggingLevel.NONE + loggerValue = DefaultLogger(loggingLevel) + this.loggingLevel = loggingLevel + } + return Configuration(this) } } From 2fa747de55113eb829a52529ddaf8bafd8598d62 Mon Sep 17 00:00:00 2001 From: Neno Stefanov Date: Mon, 10 Nov 2025 10:51:29 +0200 Subject: [PATCH 2/3] feat: provide a toString method for stateful types --- miracl-sdk/api/miracl-sdk.api | 14 +++++++++++ .../trust/configuration/Configuration.kt | 15 ++++++++++++ .../java/com/miracl/trust/model/QuickCode.kt | 6 ++++- .../main/java/com/miracl/trust/model/User.kt | 13 +++++++++++ .../com/miracl/trust/network/ApiException.kt | 12 +--------- .../miracl/trust/network/ClientErrorData.kt | 6 ++++- .../network/HttpRequestExecutorException.kt | 12 ++++++++++ .../ActivationTokenErrorResponse.kt | 6 ++++- .../registration/ActivationTokenResponse.kt | 6 ++++- .../registration/VerificationResponse.kt | 6 ++++- .../session/AuthenticationSessionDetails.kt | 19 ++++++++++++++- .../trust/session/CrossDeviceSession.kt | 21 ++++++++++++++++- .../trust/session/SigningSessionDetails.kt | 23 ++++++++++++++++++- .../com/miracl/trust/signing/Signature.kt | 14 ++++++++++- .../com/miracl/trust/signing/SigningResult.kt | 6 ++++- .../java/com/miracl/trust/storage/UserDto.kt | 15 +++++++++++- 16 files changed, 172 insertions(+), 22 deletions(-) diff --git a/miracl-sdk/api/miracl-sdk.api b/miracl-sdk/api/miracl-sdk.api index e63947c..986f619 100644 --- a/miracl-sdk/api/miracl-sdk.api +++ b/miracl-sdk/api/miracl-sdk.api @@ -127,6 +127,7 @@ public final class com/miracl/trust/authentication/AuthenticationException$UserN public final class com/miracl/trust/configuration/Configuration { public synthetic fun (Lcom/miracl/trust/configuration/Configuration$Builder;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun toString ()Ljava/lang/String; } public final class com/miracl/trust/configuration/Configuration$Builder { @@ -200,6 +201,7 @@ public final class com/miracl/trust/model/QuickCode : java/io/Serializable { public final fun getCode ()Ljava/lang/String; public final fun getExpireTime ()J public final fun getTtlSeconds ()I + public fun toString ()Ljava/lang/String; } public final class com/miracl/trust/model/User { @@ -208,6 +210,7 @@ public final class com/miracl/trust/model/User { public final fun getProjectId ()Ljava/lang/String; public final fun getRevoked ()Z public final fun getUserId ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; } public abstract class com/miracl/trust/network/ApiException : java/lang/Exception { @@ -253,6 +256,7 @@ public final class com/miracl/trust/network/ClientErrorData { public final fun getCode ()Ljava/lang/String; public final fun getContext ()Ljava/util/Map; public final fun getInfo ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; } public final class com/miracl/trust/network/HttpMethod : java/lang/Enum { @@ -273,6 +277,7 @@ public abstract interface class com/miracl/trust/network/HttpRequestExecutor { public abstract class com/miracl/trust/network/HttpRequestExecutorException : java/lang/Exception { public synthetic fun (Ljava/lang/String;Ljava/lang/Throwable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public synthetic fun (Ljava/lang/String;Ljava/lang/Throwable;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun toString ()Ljava/lang/String; } public final class com/miracl/trust/network/HttpRequestExecutorException$ExecutionError : com/miracl/trust/network/HttpRequestExecutorException { @@ -291,6 +296,7 @@ public final class com/miracl/trust/registration/ActivationTokenErrorResponse { public final fun getAccessId ()Ljava/lang/String; public final fun getProjectId ()Ljava/lang/String; public final fun getUserId ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; } public abstract class com/miracl/trust/registration/ActivationTokenException : java/lang/Exception { @@ -320,6 +326,7 @@ public final class com/miracl/trust/registration/ActivationTokenResponse { public final fun getActivationToken ()Ljava/lang/String; public final fun getProjectId ()Ljava/lang/String; public final fun getUserId ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; } public final class com/miracl/trust/registration/EmailVerificationMethod : java/lang/Enum { @@ -422,10 +429,12 @@ public final class com/miracl/trust/registration/VerificationException$Verificat public final class com/miracl/trust/registration/VerificationResponse { public final fun getBackoff ()J public final fun getMethod ()Lcom/miracl/trust/registration/EmailVerificationMethod; + public fun toString ()Ljava/lang/String; } public final class com/miracl/trust/session/AuthenticationSessionDetails : com/miracl/trust/session/SessionDetails { public final fun getAccessId ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; } public abstract class com/miracl/trust/session/AuthenticationSessionException : java/lang/Exception { @@ -471,6 +480,7 @@ public final class com/miracl/trust/session/CrossDeviceSession { public final fun getVerificationCustomText ()Ljava/lang/String; public final fun getVerificationMethod ()Lcom/miracl/trust/session/VerificationMethod; public final fun getVerificationUrl ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; } public abstract class com/miracl/trust/session/CrossDeviceSessionException : java/lang/Exception { @@ -534,6 +544,7 @@ public final class com/miracl/trust/session/SigningSessionDetails : com/miracl/t public final fun getSigningDescription ()Ljava/lang/String; public final fun getSigningHash ()Ljava/lang/String; public final fun getStatus ()Lcom/miracl/trust/session/SigningSessionStatus; + public fun toString ()Ljava/lang/String; } public abstract class com/miracl/trust/session/SigningSessionException : java/lang/Exception { @@ -601,6 +612,7 @@ public final class com/miracl/trust/signing/Signature { public final fun getTimestamp ()I public final fun getU ()Ljava/lang/String; public final fun getV ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; } public final synthetic class com/miracl/trust/signing/Signature$$serializer : kotlinx/serialization/internal/GeneratedSerializer { @@ -666,6 +678,7 @@ public final class com/miracl/trust/signing/SigningException$UnsuccessfulAuthent public final class com/miracl/trust/signing/SigningResult { public final fun getSignature ()Lcom/miracl/trust/signing/Signature; public final fun getTimestamp ()Ljava/util/Date; + public fun toString ()Ljava/lang/String; } public final class com/miracl/trust/storage/UserDto { @@ -678,6 +691,7 @@ public final class com/miracl/trust/storage/UserDto { public final fun getRevoked ()Z public final fun getToken ()[B public final fun getUserId ()Ljava/lang/String; + public fun toString ()Ljava/lang/String; } public abstract interface class com/miracl/trust/storage/UserStorage { diff --git a/miracl-sdk/src/main/java/com/miracl/trust/configuration/Configuration.kt b/miracl-sdk/src/main/java/com/miracl/trust/configuration/Configuration.kt index e04ae39..c16f408 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/configuration/Configuration.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/configuration/Configuration.kt @@ -54,6 +54,21 @@ public class Configuration private constructor( builder.readTimeout ) + override fun toString(): String { + return "Configuration(" + + "projectId=$projectId, " + + "projectUrl=$projectUrl, " + + "deviceName=$deviceName, " + + "applicationInfo=$applicationInfo, " + + "httpRequestExecutor=$httpRequestExecutor, " + + "userStorage=${userStorage ?: "DefaultUserStorage"}, " + + "logger=$logger, " + + "loggingLevel=$loggingLevel, " + + "connectTimeout=$connectTimeout, " + + "readTimeout=$readTimeout" + + ")" + } + /** * Builds a [Configuration] object. * diff --git a/miracl-sdk/src/main/java/com/miracl/trust/model/QuickCode.kt b/miracl-sdk/src/main/java/com/miracl/trust/model/QuickCode.kt index cffc864..a5df8c3 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/model/QuickCode.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/model/QuickCode.kt @@ -12,4 +12,8 @@ public class QuickCode internal constructor( public val code: String, public val expireTime: Long, public val ttlSeconds: Int -) : Serializable \ No newline at end of file +) : Serializable { + override fun toString(): String { + return "QuickCode(code=, expireTime=$expireTime, ttlSeconds=$ttlSeconds" + } +} \ No newline at end of file diff --git a/miracl-sdk/src/main/java/com/miracl/trust/model/User.kt b/miracl-sdk/src/main/java/com/miracl/trust/model/User.kt index 5c46ab8..35266bb 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/model/User.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/model/User.kt @@ -23,6 +23,19 @@ public class User internal constructor( ) { /** Hex encoded SHA256 representation of the mpinId property. */ public val hashedMpinId: String = mpinId.toSHA256() + + override fun toString(): String { + return "User(" + + "userId=$userId, " + + "projectId=$projectId, " + + "revoked=$revoked, " + + "pinLength=$pinLength, " + + "hashedMpinId=$hashedMpinId, " + + "token=, " + + "dtas=$dtas, " + + "publicKey=$publicKey" + + ")" + } } internal fun User.isEmpty(): Boolean = dtas.isBlank() || mpinId.isEmpty() || token.isEmpty() diff --git a/miracl-sdk/src/main/java/com/miracl/trust/network/ApiException.kt b/miracl-sdk/src/main/java/com/miracl/trust/network/ApiException.kt index b223834..5932525 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/network/ApiException.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/network/ApiException.kt @@ -20,16 +20,6 @@ public sealed class ApiException(public val url: String, cause: Throwable? = nul ApiException(url, cause) override fun toString(): String { - return "${super.toString()} $url: ${ - when (val cause = cause) { - is HttpRequestExecutorException.HttpError -> { - "${cause.responseCode} - ${cause.responseBody}" - } - - else -> { - "${cause?.message}" - } - } - }" + return "${this.javaClass.simpleName}(url=$url, cause=$cause)" } } diff --git a/miracl-sdk/src/main/java/com/miracl/trust/network/ClientErrorData.kt b/miracl-sdk/src/main/java/com/miracl/trust/network/ClientErrorData.kt index b78ebc3..a1901e3 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/network/ClientErrorData.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/network/ClientErrorData.kt @@ -11,4 +11,8 @@ public class ClientErrorData internal constructor( public val code: String, public val info: String, public val context: Map? -) +) { + override fun toString(): String { + return "ClientErrorData(code=$code, info=$info, context=$context)" + } +} diff --git a/miracl-sdk/src/main/java/com/miracl/trust/network/HttpRequestExecutorException.kt b/miracl-sdk/src/main/java/com/miracl/trust/network/HttpRequestExecutorException.kt index cd3b35f..ed8e32a 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/network/HttpRequestExecutorException.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/network/HttpRequestExecutorException.kt @@ -13,4 +13,16 @@ public sealed class HttpRequestExecutorException( /** Error while executing HTTP request. */ public class ExecutionError(message: String? = null, cause: Throwable? = null) : HttpRequestExecutorException(message = message, cause = cause) + + override fun toString(): String { + return when (this) { + is HttpError -> { + "HttpRequestExecutorException.HttpError(responseCode=$responseCode, responseBody=$responseBody)" + } + + is ExecutionError -> { + "HttpRequestExecutorException.ExecutionError(message=$message, cause=$cause)" + } + } + } } diff --git a/miracl-sdk/src/main/java/com/miracl/trust/registration/ActivationTokenErrorResponse.kt b/miracl-sdk/src/main/java/com/miracl/trust/registration/ActivationTokenErrorResponse.kt index c2566f6..8bfeb7d 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/registration/ActivationTokenErrorResponse.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/registration/ActivationTokenErrorResponse.kt @@ -14,4 +14,8 @@ public class ActivationTokenErrorResponse internal constructor( public val projectId: String, public val userId: String, public val accessId: String? -) +) { + override fun toString(): String { + return "ActivationTokenErrorResponse(projectId=$projectId, userId=$userId, accessId=$accessId)" + } +} diff --git a/miracl-sdk/src/main/java/com/miracl/trust/registration/ActivationTokenResponse.kt b/miracl-sdk/src/main/java/com/miracl/trust/registration/ActivationTokenResponse.kt index 72643ad..8631211 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/registration/ActivationTokenResponse.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/registration/ActivationTokenResponse.kt @@ -16,4 +16,8 @@ public class ActivationTokenResponse internal constructor( public val accessId: String?, public val userId: String, public val activationToken: String -) +) { + override fun toString(): String { + return "ActivationTokenResponse(activationToken=, projectId=$projectId, accessId=$accessId, userId=$userId)" + } +} diff --git a/miracl-sdk/src/main/java/com/miracl/trust/registration/VerificationResponse.kt b/miracl-sdk/src/main/java/com/miracl/trust/registration/VerificationResponse.kt index 8db86fc..0c7c589 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/registration/VerificationResponse.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/registration/VerificationResponse.kt @@ -12,4 +12,8 @@ import com.miracl.trust.MIRACLTrust public class VerificationResponse internal constructor( public val backoff: Long, public val method: EmailVerificationMethod -) \ No newline at end of file +) { + override fun toString(): String { + return "VerificationResponse(backoff=$backoff, method=$method)" + } +} \ No newline at end of file diff --git a/miracl-sdk/src/main/java/com/miracl/trust/session/AuthenticationSessionDetails.kt b/miracl-sdk/src/main/java/com/miracl/trust/session/AuthenticationSessionDetails.kt index 80f1336..31f2d5d 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/session/AuthenticationSessionDetails.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/session/AuthenticationSessionDetails.kt @@ -40,4 +40,21 @@ public class AuthenticationSessionDetails internal constructor( identityType, identityTypeLabel, quickCodeEnabled -) +) { + override fun toString(): String { + return "AuthenticationSessionDetails(" + + "accessId=$accessId, " + + "userId=$userId, " + + "projectId=$projectId, " + + "projectName=$projectName, " + + "projectLogoUrl=$projectLogoUrl, " + + "pinLength=$pinLength, " + + "verificationMethod=$verificationMethod, " + + "verificationUrl=$verificationUrl, " + + "verificationCustomText=$verificationCustomText, " + + "identityType=$identityType, " + + "identityTypeLabel=$identityTypeLabel, " + + "quickCodeEnabled=$quickCodeEnabled" + + ")" + } +} diff --git a/miracl-sdk/src/main/java/com/miracl/trust/session/CrossDeviceSession.kt b/miracl-sdk/src/main/java/com/miracl/trust/session/CrossDeviceSession.kt index af70579..e450c86 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/session/CrossDeviceSession.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/session/CrossDeviceSession.kt @@ -35,4 +35,23 @@ public class CrossDeviceSession( public val identityTypeLabel: String, public val quickCodeEnabled: Boolean, public val signingHash: String -) +) { + override fun toString(): String { + return "CrossDeviceSession(" + + "sessionId=$sessionId, " + + "sessionDescription=$sessionDescription, " + + "userId=$userId, " + + "projectId=$projectId, " + + "projectName=$projectName, " + + "projectLogoUrl=$projectLogoUrl, " + + "pinLength=$pinLength, " + + "verificationMethod=$verificationMethod, " + + "verificationUrl=$verificationUrl, " + + "verificationCustomText=$verificationCustomText, " + + "identityType=$identityType, " + + "identityTypeLabel=$identityTypeLabel, " + + "quickCodeEnabled=$quickCodeEnabled, " + + "signingHash=$signingHash" + + ")" + } +} diff --git a/miracl-sdk/src/main/java/com/miracl/trust/session/SigningSessionDetails.kt b/miracl-sdk/src/main/java/com/miracl/trust/session/SigningSessionDetails.kt index 600234a..e177b09 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/session/SigningSessionDetails.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/session/SigningSessionDetails.kt @@ -48,7 +48,28 @@ public class SigningSessionDetails internal constructor( identityType, identityTypeLabel, quickCodeEnabled -) +) { + override fun toString(): String { + return "SigningSessionDetails(" + + "sessionId=$sessionId, " + + "signingHash=$signingHash, " + + "signingDescription=$signingDescription, " + + "status=$status, " + + "expireTime=$expireTime, " + + "userId=$userId, " + + "projectId=$projectId, " + + "projectName=$projectName, " + + "projectLogoUrl=$projectLogoUrl, " + + "pinLength=$pinLength, " + + "verificationMethod=$verificationMethod, " + + "verificationUrl=$verificationUrl, " + + "verificationCustomText=$verificationCustomText, " + + "identityType=$identityType, " + + "identityTypeLabel=$identityTypeLabel, " + + "quickCodeEnabled=$quickCodeEnabled" + + ")" + } +} /** An enumeration describing the status of the signing session. */ public enum class SigningSessionStatus { diff --git a/miracl-sdk/src/main/java/com/miracl/trust/signing/Signature.kt b/miracl-sdk/src/main/java/com/miracl/trust/signing/Signature.kt index 37ac0b9..18af4bc 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/signing/Signature.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/signing/Signature.kt @@ -12,4 +12,16 @@ public class Signature internal constructor( @SerialName("dtas") public val dtas: String, @SerialName("hash") public val hash: String, @SerialName("timestamp") public val timestamp: Int -) \ No newline at end of file +) { + override fun toString(): String { + return "Signature(" + + "mpinId=$mpinId, " + + "U=, " + + "V=, " + + "publicKey=$publicKey, " + + "dtas=$dtas, " + + "hash=$hash, " + + "timestamp=$timestamp" + + ")" + } +} \ No newline at end of file diff --git a/miracl-sdk/src/main/java/com/miracl/trust/signing/SigningResult.kt b/miracl-sdk/src/main/java/com/miracl/trust/signing/SigningResult.kt index 8d5d935..412961e 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/signing/SigningResult.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/signing/SigningResult.kt @@ -11,4 +11,8 @@ import java.util.Date public class SigningResult internal constructor( public val signature: Signature, public val timestamp: Date -) \ No newline at end of file +) { + override fun toString(): String { + return "SigningResult(signature=$signature, timestamp=$timestamp)" + } +} \ No newline at end of file diff --git a/miracl-sdk/src/main/java/com/miracl/trust/storage/UserDto.kt b/miracl-sdk/src/main/java/com/miracl/trust/storage/UserDto.kt index f52ce03..5ca7680 100644 --- a/miracl-sdk/src/main/java/com/miracl/trust/storage/UserDto.kt +++ b/miracl-sdk/src/main/java/com/miracl/trust/storage/UserDto.kt @@ -29,4 +29,17 @@ public class UserDto( public val token: ByteArray, public val dtas: String, public val publicKey: ByteArray? -) +) { + override fun toString(): String { + return "UserDto(" + + "userId=$userId, " + + "projectId=$projectId, " + + "revoked=$revoked, " + + "pinLength=$pinLength, " + + "mpinId=$mpinId, " + + "token=, " + + "dtas=$dtas, " + + "publicKey=$publicKey" + + ")" + } +} From c7ea48ca946cb74dc3ff7f41a4aac95c68531a39 Mon Sep 17 00:00:00 2001 From: Neno Stefanov Date: Tue, 18 Nov 2025 11:44:26 +0200 Subject: [PATCH 3/3] chore: update version to 1.9.0 --- README.md | 4 ++-- miracl-sdk/build.gradle | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d457e8d..6e7db00 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ The MIRACL Trust Android SDK provides the following functionalities: ```kotlin dependencies { - implementation("com.miracl:trust-sdk-android:1.8.1") + implementation("com.miracl:trust-sdk-android:1.9.0") } ``` @@ -37,7 +37,7 @@ The MIRACL Trust Android SDK provides the following functionalities: ```groovy dependencies{ - implementation "com.miracl:trust-sdk-android:1.8.1" + implementation "com.miracl:trust-sdk-android:1.9.0" } ``` diff --git a/miracl-sdk/build.gradle b/miracl-sdk/build.gradle index 6cdc794..b77f58d 100644 --- a/miracl-sdk/build.gradle +++ b/miracl-sdk/build.gradle @@ -12,7 +12,7 @@ plugins { alias libs.plugins.jreleaser } -version = '1.8.1' +version = '1.9.0' android { namespace 'com.miracl.trust'