Skip to content

Instantly share code, notes, and snippets.

@Ochornma
Created December 4, 2022 17:11
Show Gist options
  • Save Ochornma/490e9cdb89d25fc7c2330ad645d9e4cd to your computer and use it in GitHub Desktop.
Save Ochornma/490e9cdb89d25fc7c2330ad645d9e4cd to your computer and use it in GitHub Desktop.
fun mockMetadata(metadata: SIDMetadata, request: SelfieVerificationRequest, base64: String = "") {
val userIdInfo = metadata.sidUserIdInfo
userIdInfo.idNumber = "0000000004"
// userIdInfo.idNumber = request.documentId
// .replace("[0-9]".toRegex(), "0")
// .replace("0\$".toRegex(), "4")
if (base64.isNotEmpty()) {
// metadata.partnerParams.addtionalValues[request.documentType.mockPictureTag()] = selfieFile.toBase64String()
metadata.partnerParams.addtionalValues[request.documentType.mockPictureTag()] = base64
Log.d("Base 64 Image", base64)
}
//metadata.partnerParams.addtionalValues["id_number"] = request.documentId
metadata.partnerParams.addtionalValues[request.documentType.mockFirstNameTag()] = request.firstName
metadata.partnerParams.addtionalValues[request.documentType.mockLastNameTag()] = request.lastName
metadata.partnerParams.addtionalValues[request.documentType.mockFullNameTag()] = "${request.firstName} ${request.lastName}"
metadata.partnerParams.addtionalValues[request.documentType.mockBirthDateTag()] = request.birthDate
}
private fun submitToNetworkRequest(data: SelfieVerificationRequest){
Log.d("Tag is this ","Tag is check 2 ${data.tag}")
print("Tag is check 1 ${data.tag}")
val baseB4 = binding.base64Image.text.toString()
// val baseB4 =
if (baseB4.isEmpty()){
Toast.makeText(this, "Enter base 64 image in the field provided", Toast.LENGTH_LONG).show()
return
}
Log.d("SELFIE-2", data.tag)
val request = SIDNetworkRequest(this)
request.setOnUpdateListener { progress ->
/* emitter.onNext(
if (progress < 100) SelfieVerificationStatus.UploadingSelfie(progress)
else SelfieVerificationStatus.Processing)*/
}
request.set0nErrorListener { exception ->
}
request.setOnEnrolledListener { response ->
synchronizeWithBackend(response)
}
request.submit(SIDConfig.Builder(this)
.setMode(SIDConfig.Mode.ENROLL)
.setJobType(1)
.setValidateIdInfo(true)
.setRetryOnfailurePolicy(RetryOnFailurePolicy(3, TimeUnit.SECONDS.toMillis(15)))
.setSmileIdNetData(SIDNetData(this,
if (component.presenter.isReleaseApi) SIDNetData.Environment.PROD
else SIDNetData.Environment.TEST))
.setSIDMetadata(data.toMetadata(baseB4))
.build(data.tag))
}
private fun SelfieVerificationRequest.toMetadata(baseB4: String = ""): SIDMetadata {
val metadata = SIDMetadata()
val userIdInfo = metadata.sidUserIdInfo
userIdInfo.firstName = firstName
userIdInfo.lastName = lastName
userIdInfo.email = email
userIdInfo.country = residence.displayCountry
userIdInfo.countryCode = residence.countryPrefix
userIdInfo.idType = documentType.raw
if (component.presenter.isReleaseApi) {
userIdInfo.idNumber = documentId
} else {
// userIdInfo.idNumber = documentId
SmileTestData.mockMetadata(metadata, this, base64 = baseB4)
}
return metadata
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment