From 053df77c2084f7f60e4938d2bd59b91384351bfa Mon Sep 17 00:00:00 2001 From: Yoan Pintas Date: Wed, 30 Oct 2024 19:07:01 +0100 Subject: [PATCH] Add help item in bottom sheet verification (#1125) --- changelog.d/1113.improvements | 1 + changelog.d/1116.improvements | 1 + library/ui-strings/src/main/res/values-fr/strings.xml | 4 ++-- .../src/main/res/values-fr/strings_tchap.xml | 1 + library/ui-strings/src/main/res/values/strings.xml | 2 +- .../ui-strings/src/main/res/values/strings_tchap.xml | 1 + .../verification/self/SelfVerificationController.kt | 10 ++++++++++ .../verification/self/SelfVerificationFragment.kt | 11 +++++++++++ .../detail/timeline/factory/EncryptedItemFactory.kt | 3 ++- 9 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 changelog.d/1113.improvements create mode 100644 changelog.d/1116.improvements diff --git a/changelog.d/1113.improvements b/changelog.d/1113.improvements new file mode 100644 index 0000000000..5106daa05d --- /dev/null +++ b/changelog.d/1113.improvements @@ -0,0 +1 @@ +Améliorer l'explication pour la génération d'un nouveau code de récupération. \ No newline at end of file diff --git a/changelog.d/1116.improvements b/changelog.d/1116.improvements new file mode 100644 index 0000000000..c1cbd69cbb --- /dev/null +++ b/changelog.d/1116.improvements @@ -0,0 +1 @@ +Faciliter l'accès à l'aide sur la vérification d'appareil \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-fr/strings.xml b/library/ui-strings/src/main/res/values-fr/strings.xml index 625c371f77..7334f20647 100644 --- a/library/ui-strings/src/main/res/values-fr/strings.xml +++ b/library/ui-strings/src/main/res/values-fr/strings.xml @@ -1542,7 +1542,7 @@ Définir le rôle Vous redémarrerez sans aucun historique, message, appareil ou utilisateurs connus Si vous réinitialisez tout - Uniquement si vous avez perdu votre Code et n\'avez aucun autre appareil connecté à ${app_name}. + Uniquement si vous avez perdu votre code et n\'avez aucun autre appareil connecté à ${app_name}. Réinitialiser tout Générer un nouveau Code de Récupération Impossible d’enregistrer le fichier multimédia @@ -2940,7 +2940,7 @@ Message Message de %s Chiffré par un appareil supprimé - Veuillez ne continuer que si vous êtes certain d’avoir perdu tous vos autres appareils et votre Code de Récupération. + Veuillez continuer uniquement si vous êtes certain·e d’avoir perdu votre Code de Récupération et qu’aucun autres appareils n’a accès à l’historique de vos messages. La réinitialisation ne peut pas être annulée. Vous n’aurez plus accès à vos anciens messages chiffrés. La demande de vérification n’a pas été trouvée. Elle a peut-être été annulée, ou prise en charge dans une autre session. Une demande de vérification a été envoyée. Ouvrez ${app_name} sur l’un de vos autres appareils pour accepter et commencer la vérification. diff --git a/library/ui-strings/src/main/res/values-fr/strings_tchap.xml b/library/ui-strings/src/main/res/values-fr/strings_tchap.xml index f084939c09..3e99cbc478 100644 --- a/library/ui-strings/src/main/res/values-fr/strings_tchap.xml +++ b/library/ui-strings/src/main/res/values-fr/strings_tchap.xml @@ -116,6 +116,7 @@ La vérification de votre nouvelle session a échoué. + Obtenir de l’aide Voir l’état du service diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml index 3bca8e05b4..978ba4530e 100644 --- a/library/ui-strings/src/main/res/values/strings.xml +++ b/library/ui-strings/src/main/res/values/strings.xml @@ -2688,7 +2688,7 @@ Failed to access secure storage Lost your Recovery Code? Generate a new one. Reset everything - Only do this if you have no other device you can verify this device with. + Only do this if you lost your recovery code and you have no other device connected to ${app_name}. Resetting your verification keys cannot be undone. After resetting, you won\'t have access to old encrypted messages, and any friends who have previously verified you will see security warnings until you re-verify with them. If you reset everything diff --git a/library/ui-strings/src/main/res/values/strings_tchap.xml b/library/ui-strings/src/main/res/values/strings_tchap.xml index 6be5bb78a1..c8d27399a3 100644 --- a/library/ui-strings/src/main/res/values/strings_tchap.xml +++ b/library/ui-strings/src/main/res/values/strings_tchap.xml @@ -116,6 +116,7 @@ Failed to verify your new session. + Get help View the status of services diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationController.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationController.kt index 506d4222b8..ca450af7cc 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationController.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationController.kt @@ -54,6 +54,7 @@ class SelfVerificationController @Inject constructor( ) : BaseEpoxyVerificationController(stringProvider, colorProvider, eventHtmlRenderer) { interface InteractionListener : BaseEpoxyVerificationController.InteractionListener { + fun onClickHelp() fun onClickRecoverFromPassphrase() fun onClickSkip() fun onClickResetSecurity() @@ -320,6 +321,15 @@ class SelfVerificationController @Inject constructor( listener { host.selfVerificationListener?.onClickResetSecurity() } } + bottomSheetVerificationActionItem { + id("help") + title(host.stringProvider.getString(CommonStrings.tchap_verification_get_help)) + titleColor(host.colorProvider.getColorFromAttribute(com.google.android.material.R.attr.colorError)) + iconRes(R.drawable.ic_arrow_right) + iconColor(host.colorProvider.getColorFromAttribute(com.google.android.material.R.attr.colorError)) + listener { host.selfVerificationListener?.onClickHelp() } + } + if (!state.isVerificationRequired) { bottomSheetDividerItem { id("reset_div") diff --git a/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationFragment.kt b/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationFragment.kt index cce2290bfe..293c9ee7f4 100644 --- a/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationFragment.kt +++ b/vector/src/main/java/im/vector/app/features/crypto/verification/self/SelfVerificationFragment.kt @@ -37,10 +37,12 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.core.utils.PERMISSIONS_FOR_TAKING_PHOTO import im.vector.app.core.utils.checkPermissions import im.vector.app.core.utils.onPermissionDeniedDialog +import im.vector.app.core.utils.openUrlInChromeCustomTab import im.vector.app.core.utils.registerForPermissionsResult import im.vector.app.databinding.BottomSheetVerificationChildFragmentBinding import im.vector.app.features.crypto.verification.VerificationAction import im.vector.app.features.qrcode.QrCodeScannerActivity +import im.vector.app.features.settings.VectorSettingsUrls import im.vector.lib.strings.CommonStrings import org.matrix.android.sdk.api.session.crypto.verification.EVerificationState import timber.log.Timber @@ -94,6 +96,10 @@ class SelfVerificationFragment : VectorBaseFragment