File tree Expand file tree Collapse file tree 6 files changed +29
-4
lines changed
java/dgca/verifier/app/android Expand file tree Collapse file tree 6 files changed +29
-4
lines changed Original file line number Diff line number Diff line change @@ -61,9 +61,15 @@ data class TestModel(
61
61
val testingCentre : String ,
62
62
val countryOfVaccination : String ,
63
63
val certificateIssuer : String ,
64
- val certificateIdentifier : String
64
+ val certificateIdentifier : String ,
65
+ val resultType : TestResult
65
66
) : CertificateData
66
67
68
+ enum class TestResult (val value : String ) {
69
+ DETECTED (" DETECTED" ),
70
+ NOT_DETECTED (" NOT DETECTED" )
71
+ }
72
+
67
73
data class RecoveryModel (
68
74
override val disease : String ,
69
75
val dateOfFirstPositiveTest : String ,
Original file line number Diff line number Diff line change @@ -62,10 +62,18 @@ fun Test.toTestModel(): TestModel {
62
62
testingCentre,
63
63
countryOfVaccination,
64
64
certificateIssuer,
65
- certificateIdentifier
65
+ certificateIdentifier,
66
+ getTestResultType().toTestResult()
66
67
)
67
68
}
68
69
70
+ fun Test.TestResult.toTestResult (): TestResult {
71
+ return when (this ) {
72
+ Test .TestResult .DETECTED -> TestResult .DETECTED
73
+ Test .TestResult .NOT_DETECTED -> TestResult .NOT_DETECTED
74
+ }
75
+ }
76
+
69
77
fun Vaccination.toVaccinationModel (): VaccinationModel {
70
78
return VaccinationModel (
71
79
disease,
Original file line number Diff line number Diff line change @@ -34,7 +34,7 @@ import dgca.verifier.app.android.parseFromTo
34
34
class TestViewHolder (private val binding : ItemTestBinding ) : RecyclerView.ViewHolder(binding.root) {
35
35
36
36
fun bind (data : TestModel ) {
37
- binding.testResultValue.text = data.testResult
37
+ binding.testResultValue.text = data.resultType.value
38
38
binding.dateOfCollectionValue.text = data.dateTimeOfCollection.parseFromTo(DATE_TIME , FORMATTED_DATE_TIME )
39
39
binding.dateOfTestResultValue.text = data.dateTimeOfTestResult?.parseFromTo(DATE_TIME , FORMATTED_DATE_TIME )
40
40
binding.diseaseValue.text = data.disease
Original file line number Diff line number Diff line change @@ -135,6 +135,7 @@ class VerificationDialogFragment : BottomSheetDialogFragment() {
135
135
binding.actionBtn.isVisible = true
136
136
binding.actionBtn.backgroundTintList = statusColor
137
137
binding.actionBtn.text = actionBtnText
138
+ binding.actionBtn.isVisible = true
138
139
}
139
140
140
141
private fun getCertificateListData (certificate : CertificateModel ): List <CertificateData > {
Original file line number Diff line number Diff line change @@ -36,6 +36,7 @@ import dgca.verifier.app.decoder.compression.CompressorService
36
36
import dgca.verifier.app.decoder.cose.CoseService
37
37
import dgca.verifier.app.decoder.cose.CryptoService
38
38
import dgca.verifier.app.decoder.model.GreenCertificate
39
+ import dgca.verifier.app.decoder.model.TestVerificationResult
39
40
import dgca.verifier.app.decoder.model.VerificationResult
40
41
import dgca.verifier.app.decoder.prefixvalidation.PrefixValidationService
41
42
import dgca.verifier.app.decoder.schema.SchemaValidator
@@ -96,6 +97,7 @@ class VerificationViewModel @Inject constructor(
96
97
97
98
schemaValidator.validate(coseData.cbor, verificationResult)
98
99
greenCertificate = cborService.decode(coseData.cbor, verificationResult)
100
+ validateCertData(greenCertificate, verificationResult)
99
101
100
102
val certificate = verifierRepository.getCertificate(kid.toBase64())
101
103
if (certificate == null ) {
@@ -110,4 +112,12 @@ class VerificationViewModel @Inject constructor(
110
112
_certificate .value = greenCertificate?.toCertificateModel()
111
113
}
112
114
}
115
+
116
+ private fun validateCertData (certificate : GreenCertificate ? , verificationResult : VerificationResult ) {
117
+ certificate?.tests?.let {
118
+ if (it.isNotEmpty()) {
119
+ verificationResult.testVerification = TestVerificationResult (it.first().isTestValid())
120
+ }
121
+ }
122
+ }
113
123
}
Original file line number Diff line number Diff line change 211
211
android : text =" @string/done"
212
212
android : textAllCaps =" false"
213
213
android : textColor =" @color/white"
214
- android : visibility =" visible " />
214
+ android : visibility =" gone " />
215
215
216
216
<androidx .appcompat.widget.AppCompatImageView
217
217
android : id =" @+id/logo"
You can’t perform that action at this time.
0 commit comments