Skip to content

Commit e51219e

Browse files
NFC-83 Cert and Sign view improvements
1 parent 675aec8 commit e51219e

File tree

4 files changed

+75
-39
lines changed

4 files changed

+75
-39
lines changed

app/src/main/kotlin/ee/ria/DigiDoc/fragment/screen/WebEidScreen.kt

Lines changed: 65 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -304,35 +304,11 @@ fun WebEidScreen(
304304
} else if (signRequest != null) {
305305
val responseUri = signRequest.responseUri.lowercase()
306306
val isCertificateFlow = responseUri.contains("/certificate") && !responseUri.contains("/signature")
307-
Column(
308-
horizontalAlignment = Alignment.CenterHorizontally,
309-
modifier = Modifier.fillMaxWidth(),
310-
) {
311-
Text(
312-
text = stringResource(R.string.web_eid_certificate_consent_text),
313-
style = MaterialTheme.typography.bodySmall,
314-
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.8f),
315-
textAlign = TextAlign.Center,
316-
modifier = Modifier.padding(top = XSPadding),
317-
)
318-
Text(
319-
text = signRequest.origin.take(80),
320-
style = MaterialTheme.typography.labelSmall,
321-
color = MaterialTheme.colorScheme.onBackground,
322-
textAlign = TextAlign.Center,
323-
maxLines = 1,
324-
overflow = TextOverflow.Ellipsis,
325-
)
326-
Text(
327-
text =
328-
if (isCertificateFlow) {
329-
stringResource(R.string.web_eid_requests_certificate)
330-
} else {
331-
stringResource(R.string.web_eid_requests_signing)
332-
},
333-
style = MaterialTheme.typography.bodyMedium,
334-
color = MaterialTheme.colorScheme.onBackground,
335-
textAlign = TextAlign.Center,
307+
308+
if (!isWebEidAuthenticating) {
309+
WebEidSignOrCertificateInfo(
310+
origin = signRequest.origin,
311+
isCertificateFlow = isCertificateFlow,
336312
)
337313
}
338314

@@ -372,6 +348,7 @@ fun WebEidScreen(
372348
isSigning = false,
373349
isDecrypting = false,
374350
isWebEidAuthenticating = isWebEidAuthenticating,
351+
canNumberReadOnly = true,
375352
onError = {
376353
isWebEidAuthenticating = false
377354
cancelWebEidSignAction()
@@ -486,7 +463,7 @@ private fun WebEidAuthInfo(authRequest: WebEidAuthRequest) {
486463
Spacer(modifier = Modifier.height(16.dp))
487464

488465
Text(
489-
text = stringResource(R.string.web_eid_auth_details_forwarded),
466+
text = stringResource(R.string.web_eid_details_forwarded),
490467
style = MaterialTheme.typography.labelMedium,
491468
textAlign = TextAlign.Left,
492469
)
@@ -511,6 +488,64 @@ private fun WebEidAuthInfo(authRequest: WebEidAuthRequest) {
511488
}
512489
}
513490

491+
@Composable
492+
private fun WebEidSignOrCertificateInfo(
493+
origin: String,
494+
isCertificateFlow: Boolean,
495+
) {
496+
Column(
497+
modifier = Modifier.fillMaxWidth(),
498+
) {
499+
Text(
500+
text =
501+
if (isCertificateFlow) {
502+
stringResource(R.string.web_eid_cert_request_from)
503+
} else {
504+
stringResource(R.string.web_eid_sign_request_from)
505+
},
506+
style = MaterialTheme.typography.labelMedium,
507+
textAlign = TextAlign.Left,
508+
)
509+
510+
Spacer(modifier = Modifier.height(2.dp))
511+
512+
Text(
513+
text = origin.take(80),
514+
style = MaterialTheme.typography.bodySmall,
515+
fontWeight = FontWeight.Medium,
516+
textAlign = TextAlign.Left,
517+
maxLines = 2,
518+
overflow = TextOverflow.Ellipsis,
519+
)
520+
521+
Spacer(modifier = Modifier.height(16.dp))
522+
523+
Text(
524+
text = stringResource(R.string.web_eid_details_forwarded),
525+
style = MaterialTheme.typography.labelMedium,
526+
textAlign = TextAlign.Left,
527+
)
528+
529+
Spacer(modifier = Modifier.height(2.dp))
530+
531+
Text(
532+
text = "NAME, PERSONAL IDENTIFICATION CODE",
533+
style = MaterialTheme.typography.bodySmall,
534+
textAlign = TextAlign.Left,
535+
)
536+
537+
Spacer(modifier = Modifier.height(16.dp))
538+
539+
Text(
540+
text = stringResource(R.string.web_eid_certificate_consent_text),
541+
style = MaterialTheme.typography.bodySmall,
542+
color = MaterialTheme.colorScheme.onBackground,
543+
textAlign = TextAlign.Left,
544+
modifier = Modifier.fillMaxWidth(),
545+
)
546+
}
547+
}
548+
514549
@Composable
515550
private fun WebEidRememberMe(
516551
rememberMe: Boolean,

app/src/main/kotlin/ee/ria/DigiDoc/ui/component/signing/NFCView.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ fun NFCView(
166166
cancelWebEidSignAction: (() -> Unit) -> Unit = {},
167167
isAuthenticated: (Boolean, IdCardData) -> Unit,
168168
webEidViewModel: WebEidViewModel? = null,
169+
canNumberReadOnly: Boolean = false,
169170
) {
170171
val context = LocalContext.current
171172
val scope = rememberCoroutineScope()
@@ -757,6 +758,8 @@ fun NFCView(
757758
)
758759
}
759760
},
761+
readOnly = canNumberReadOnly,
762+
enabled = !canNumberReadOnly,
760763
modifier =
761764
modifier
762765
.focusRequester(canNumberFocusRequester)
@@ -774,7 +777,7 @@ fun NFCView(
774777
contentDescription = canNumberLocationText
775778
}.testTag("signatureUpdateNFCCAN"),
776779
trailingIcon = {
777-
if (!isTalkBackEnabled(context) && canNumber.text.isNotEmpty()) {
780+
if (!isTalkBackEnabled(context) && canNumber.text.isNotEmpty() && !canNumberReadOnly) {
778781
IconButton(onClick = {
779782
canNumber = TextFieldValue("")
780783
}) {

app/src/main/res/values-et/strings.xml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -665,16 +665,15 @@
665665
<string name="web_eid_auth_no_payload">Autentimispäringut ei saadetud</string>
666666
<string name="web_eid_auth_consent_text">Autentides nõustun oma nime ja isikukoodi edastamisega teenusepakkujale.</string>
667667
<string name="web_eid_auth_request_from">Autentimispäring:</string>
668-
<string name="web_eid_auth_details_forwarded">Edastatavad andmed:</string>
668+
<string name="web_eid_details_forwarded">Edastatavad andmed:</string>
669669
<string name="web_eid_remember_me_message">Järgmisel kasutamisel on andmeväljad eeltäidetud.</string>
670670
<string name="web_eid_get_certificate">Kinnita</string>
671671
<string name="web_eid_certificate_title">Vali sertifikaat</string>
672672
<string name="web_eid_certificate_consent_text">Sertifikaati valides nõustun oma nime ja isikukoodi edastamisega teenusepakkujale.</string>
673673
<string name="web_eid_sign">Allkirjastamine</string>
674674
<string name="web_eid_sign_title">Allkirjasta ID-kaardiga</string>
675-
<string name="web_eid_requests_authentication">soovib autentimist</string>
676-
<string name="web_eid_requests_certificate">soovib sertifikaati</string>
677-
<string name="web_eid_requests_signing">soovib allkirjastamist</string>
675+
<string name="web_eid_cert_request_from">Sertifikaadipäring:</string>
676+
<string name="web_eid_sign_request_from">Allirjastamispäring:</string>
678677
<string name="web_eid_ignore">Ignoreeri</string>
679678
<string name="web_eid_invalid_request_error">Vigane Web eID päring</string>
680679
<string name="web_eid_request_error">Päringu viga</string>

app/src/main/res/values/strings.xml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -665,16 +665,15 @@
665665
<string name="web_eid_auth_no_payload">No auth payload received.</string>
666666
<string name="web_eid_auth_consent_text">By authenticating, I agree to the transfer of my name and personal identification code to the service provider.</string>
667667
<string name="web_eid_auth_request_from">Authentication request from:</string>
668-
<string name="web_eid_auth_details_forwarded">Details forwarded:</string>
668+
<string name="web_eid_details_forwarded">Details forwarded:</string>
669669
<string name="web_eid_remember_me_message">The entered data will be filled the next time you authenticate.</string>
670670
<string name="web_eid_get_certificate">Confirm</string>
671671
<string name="web_eid_certificate_title">Select a certificate</string>
672672
<string name="web_eid_certificate_consent_text">By choosing the certificate, I agree to the transfer of my name and personal identification code to the service provider.</string>
673673
<string name="web_eid_sign">Sign</string>
674674
<string name="web_eid_sign_title">Sign with ID-card</string>
675-
<string name="web_eid_requests_authentication">requests authentication</string>
676-
<string name="web_eid_requests_certificate">requests certificate</string>
677-
<string name="web_eid_requests_signing">requests signing</string>
675+
<string name="web_eid_cert_request_from">Certificate request from:</string>
676+
<string name="web_eid_sign_request_from">Signing request from:</string>
678677
<string name="web_eid_ignore">Ignore</string>
679678
<string name="web_eid_invalid_request_error">Invalid Web eID request</string>
680679
<string name="web_eid_request_error">Request error</string>

0 commit comments

Comments
 (0)