From 0df1745ab1a98eb480aeede278a2fda38fa9ad0c Mon Sep 17 00:00:00 2001 From: Kevin Deus Date: Mon, 18 Nov 2024 18:35:42 -0800 Subject: [PATCH] UI updates to Proximity Sharing and issuance completion screens. Minor updates to the text and layout to bring them closer to the specs provided by our UX designer. In the case of the completion screen, the title used to mention scanning, but many paths that reach the completion screen didn't scan anything, so I've adjusted the text a bit. Tested by: - Manual testing. Signed-off-by: Kevin Deus --- .../composeResources/values/strings.xml | 12 +++---- .../ui/consent/ConsentModalBottomSheet.kt | 9 ++++- .../issuance/proofing/defaultGraph.kt | 4 +-- .../main/resources/resources/generic/tos.html | 6 ++-- wallet/src/main/res/values/strings.xml | 34 +++++++++---------- 5 files changed, 36 insertions(+), 29 deletions(-) diff --git a/identity-appsupport/src/commonMain/composeResources/values/strings.xml b/identity-appsupport/src/commonMain/composeResources/values/strings.xml index 7ba094d1c..d0c800afc 100644 --- a/identity-appsupport/src/commonMain/composeResources/values/strings.xml +++ b/identity-appsupport/src/commonMain/composeResources/values/strings.xml @@ -7,12 +7,12 @@ Cancel More Share - Share with %1$s - Share with Unknown requester - The following information will be shared with %1$s: - The following information will be shared: - The following information will be shared with and stored by %1$s: - The following information will be shared with and stored by the requester: + %1$s requests info from this document + An unknown requester requests info from this document + According to %1$s, this info will be shared: + According to the requester, this info will be shared: + According to %1$s, this info will be shared and stored: + According to the requester, this info will be shared and stored: The OWF Identity Credential Website describes how your data is being handled The verifier requesting this data is not in a trust list. Make sure you are comfortable sharing this data with them. Card Art diff --git a/identity-appsupport/src/commonMain/kotlin/com/android/identity/appsupport/ui/consent/ConsentModalBottomSheet.kt b/identity-appsupport/src/commonMain/kotlin/com/android/identity/appsupport/ui/consent/ConsentModalBottomSheet.kt index 1ea459e55..a5ff722c3 100644 --- a/identity-appsupport/src/commonMain/kotlin/com/android/identity/appsupport/ui/consent/ConsentModalBottomSheet.kt +++ b/identity-appsupport/src/commonMain/kotlin/com/android/identity/appsupport/ui/consent/ConsentModalBottomSheet.kt @@ -38,6 +38,7 @@ import androidx.compose.ui.text.ExperimentalTextApi import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.unit.dp import com.android.identity.appsupport.ui.getOutlinedImageVector @@ -188,7 +189,11 @@ private fun RelyingPartySection(relyingParty: ConsentRelyingParty) { } if (relyingParty.trustPoint.displayName != null) { Text( - text = relyingParty.trustPoint.displayName!!, + text = stringResource( + Res.string.consent_modal_bottom_sheet_headline_share_with_known_requester, + relyingParty.trustPoint.displayName!! + ), + textAlign = TextAlign.Center, style = MaterialTheme.typography.titleLarge, fontWeight = FontWeight.Bold, ) @@ -199,12 +204,14 @@ private fun RelyingPartySection(relyingParty: ConsentRelyingParty) { Res.string.consent_modal_bottom_sheet_headline_share_with_known_requester, relyingParty.websiteOrigin ), + textAlign = TextAlign.Center, style = MaterialTheme.typography.titleLarge, fontWeight = FontWeight.Bold, ) } else { Text( text = stringResource(Res.string.consent_modal_bottom_sheet_headline_share_with_unknown_requester), + textAlign = TextAlign.Center, style = MaterialTheme.typography.titleLarge, fontWeight = FontWeight.Bold, ) diff --git a/identity-issuance/src/main/java/com/android/identity/issuance/proofing/defaultGraph.kt b/identity-issuance/src/main/java/com/android/identity/issuance/proofing/defaultGraph.kt index cef1ca906..e8c5a07c5 100644 --- a/identity-issuance/src/main/java/com/android/identity/issuance/proofing/defaultGraph.kt +++ b/identity-issuance/src/main/java/com/android/identity/issuance/proofing/defaultGraph.kt @@ -201,8 +201,8 @@ fun defaultGraph( } completionMessage( id = "detailedMessage", - messageTitle = "Document Scanning Complete", - message = "Your application is now under ID issuer verification. This process might take a few hours.", + messageTitle = "Document Submission Complete", + message = "Your application is now being verified by the issuer. This process might take a few hours.", assets = mapOf(), acceptButtonText = "Done", rejectButtonText = null diff --git a/server/src/main/resources/resources/generic/tos.html b/server/src/main/resources/resources/generic/tos.html index 1eb503c87..1c1599505 100644 --- a/server/src/main/resources/resources/generic/tos.html +++ b/server/src/main/resources/resources/generic/tos.html @@ -1,4 +1,4 @@

Provisioning $ID_NAME credential

-

In the following screens, information will be collected for provisioning of $ID_NAME - from $ISSUER_NAME.

-

The created $ID_NAME will be bound to this device.

+

In the following screens, information will be collected to provision $ID_NAME + from $ISSUER_NAME.

+

The created $ID_NAME will be bound to this device.

diff --git a/wallet/src/main/res/values/strings.xml b/wallet/src/main/res/values/strings.xml index e283893a1..791380fdf 100644 --- a/wallet/src/main/res/values/strings.xml +++ b/wallet/src/main/res/values/strings.xml @@ -306,7 +306,7 @@ Reused Credential - Use your screen lock + Verify it\'s you Authentication is required to share this information Ok Unable to Present Document @@ -418,8 +418,8 @@ \'State

Provisioning a Mobile Driving License (mDL)

-

In the following screens, information will be collected for provisioning of a mDL.

-

The mDL can either contain hard-coded data for fictional person or +

In the following screens, information will be collected to provision an mDL.

+

The mDL can either contain hard-coded data for a fictional person or data derived from the chip in an ePassport or eID document.

In this version of the application the mDL is generated and signed on-device. In future versions the collected evidence will be conveyed securely and privately to an issuance @@ -443,11 +443,11 @@ \'State

Provisioning a Mobile Driving License (mDL)

-

In the following screens, information will be collected for provisioning of a mDL.

-

The mDL can either contain hard-coded data for fictional person or +

In the following screens, information will be collected to provision an mDL.

+

The mDL can either contain hard-coded data for a fictional person or data derived from the chip in an ePassport or eID document.

In this version of the Issuing Authority the mDL is generated and signed on-device. - In other versions the collected evidence are conveyed securely and privately to an issuance + In other versions the collected evidence is conveyed securely and privately to an issuance server for evaluation and signing of the mDL.

The created mDL will be bound to this device.

]]> @@ -457,11 +457,11 @@ \'State

Provisioning a Personal ID (PID)

-

In the following screens, information will be collected for provisioning of a PID.

-

The PID can either contain hard-coded data for fictional person or +

In the following screens, information will be collected to provision a PID.

+

The PID can either contain hard-coded data for a fictional person or data derived from the chip in an ePassport or eID document.

In this version of the Issuing Authority the PID is generated and signed on-device. - In other versions the collected evidence are conveyed securely and privately to an issuance + In other versions the collected evidence is conveyed securely and privately to an issuance server for evaluation and signing of the PID.

The created PID will be bound to this device.

]]> @@ -471,11 +471,11 @@ \'State

Provisioning a Photo ID

-

In the following screens, information will be collected for provisioning of a Photo ID.

-

The Photo ID can either contain hard-coded data for fictional person or +

In the following screens, information will be collected to provision a Photo ID.

+

The Photo ID can either contain hard-coded data for a fictional person or data derived from the chip in an ePassport or eID document.

In this version of the Issuing Authority the Photo ID is generated and signed on-device. - In other versions the collected evidence are conveyed securely and privately to an issuance + In other versions the collected evidence is conveyed securely and privately to an issuance server for evaluation and signing of the Photo ID.

The created Photo ID will be bound to this device.

]]> @@ -488,7 +488,7 @@ ![State of Utopia Central Registry seal](utopia_logo.png){ style=height:150px;display:block;margin:auto}\n\n ## Provisioning a Personal Information Document (PID)\n\n - In the following screens, information will be collected for provisioning of a PID.\n\n + In the following screens, information will be collected to provision a PID.\n\n The PID can either contain hard-coded data for fictional person or data derived from the chip in an ePassport or eID document.\n\n In this version of the application the PID is generated and signed on-device. In future @@ -514,7 +514,7 @@ Provisioning a Personal Identification Data (PID) credential -

In the following screens, information will be collected for provisioning of a PID for +

In the following screens, information will be collected to provision a PID for a fictional person used for testing only.

The PID is generated and signed on the government server. The created PID will be bound to this device.

@@ -523,9 +523,9 @@ Provisioning $ID_NAME credential -

In the following screens, information will be collected for provisioning of $ID_NAME - from $ISSUER_NAME.

-

The created $ID_NAME will be bound to this device.

+

In the following screens, information will be collected to provision + $ID_NAME from $ISSUER_NAME.

+

The created $ID_NAME will be bound to this device.

]]>