Android DC SDK Migration Guides 

Version 5.1.0 

API Changes 

  1. Remote credential identifier is used to retrive proper configuration from wallet configuration. This changes required API modificaitons:

    1. Credential interface got a new property:
    Kotlin
    1sealed interface Credential {
    2 val remoteCredentialId: String
    3}
    1. AdditionalCredentialCandidate also was extended:
    Kotlin
    1interface AdditionalCredentialCandidate {
    2 val remoteCredentialId: String
    3}
    1. CredentialType class changed its signature, id represents value of RemoteCredential.id from wallet configuration:
    Kotlin
    1// was
    2class CredentialType(val jurisdictionId: String, val documentType: String)
    3// is
    4class CredentialType(val id: String)
    1. Above changes also affected Enrollment Candidate interface. Since this version EnrollmentCandidate has not been using documentType and jurisdictionId
    Kotlin
    1// was
    2interface EnrollmentCandidate {
    3 val isRemoteEnrollmentAvailable: Boolean
    4 val isActivationTokenEnrollmentAvailable: Boolean
    5 val friendlyNames: Map<String, String>
    6 val credentialType: CredentialType
    7}
    8// is
    9interface EnrollmentCandidate {
    10 val remoteCredentialId: String
    11 val isRemoteEnrollmentAvailable: Boolean
    12 val isActivationTokenEnrollmentAvailable: Boolean
    13 val friendlyNames: Map<String, String>
    14}
  2. SDK provides more context about exception while request authorisation failed

    RequestAuthorizationFailedException signature has changed:

    Kotlin
    1// was
    2class RequestAuthorizationFailedException(failedOnStep: String, cause: Throwable? = null)
    3// is
    4class RequestAuthorizationFailedException(val requestAuthorizationError: RequestAuthorizationError, cause: Throwable? = null)
    5// where
    6sealed interface RequestAuthorizationError {
    7 object WeakOemBioVerification : RequestAuthorizationError
    8 object OemBioVerification : RequestAuthorizationError
    9 class CameraPermissionNotGranted(val step: String) : RequestAuthorizationError
    10 class PinVerification(val step: String) : RequestAuthorizationError
    11 class FaceThresholdNotReached(val step: String, val score: Long, val threshold: Long?) : RequestAuthorizationError
    12 class FaceVerification(val step: String) : RequestAuthorizationError
    13}