From cd56a124d5cde287f7f13a2b23090de6c5860a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rui=20Tom=C3=A9?= <108268980+r-tome@users.noreply.github.com> Date: Thu, 7 Jul 2022 16:35:58 +0100 Subject: [PATCH] [EC-303] Add warning when vault timeout is set to "Never" (#1976) * Added to AppResources.resx the message warning the user about setting the lockout option to "Never" * Added the condition to check the newly selected option on the vault timeout settings * Changed the wording on the warning as to reflect the mobile version * Changed the vault timeout modal to have the ability to cancel * Simplified the reversion of value if the user cancels the change --- .../Settings/SettingsPage/SettingsPageViewModel.cs | 11 +++++++++++ src/App/Resources/AppResources.Designer.cs | 8 ++++++++ src/App/Resources/AppResources.resx | 3 +++ 3 files changed, 22 insertions(+) diff --git a/src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs b/src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs index 48a4e375a..831be4979 100644 --- a/src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs +++ b/src/App/Pages/Settings/SettingsPage/SettingsPageViewModel.cs @@ -257,6 +257,17 @@ namespace Bit.App.Pages } var cleanSelection = selection.Replace("✓ ", string.Empty); var selectionOption = _vaultTimeouts.FirstOrDefault(o => o.Key == cleanSelection); + + // Check if the selected Timeout action is "Never" and if it's different from the previous selected value + if (selectionOption.Value == null && selectionOption.Value != oldTimeout) + { + var confirmed = await _platformUtilsService.ShowDialogAsync(AppResources.NeverLockWarning, + AppResources.Warning, AppResources.Yes, AppResources.Cancel); + if (!confirmed) + { + return; + } + } _vaultTimeoutDisplayValue = selectionOption.Key; newTimeout = selectionOption.Value; } diff --git a/src/App/Resources/AppResources.Designer.cs b/src/App/Resources/AppResources.Designer.cs index 86794091b..3e1ac1c0a 100644 --- a/src/App/Resources/AppResources.Designer.cs +++ b/src/App/Resources/AppResources.Designer.cs @@ -4034,5 +4034,13 @@ namespace Bit.App.Resources { return ResourceManager.GetString("All", resourceCulture); } } + + public static string NeverLockWarning + { + get + { + return ResourceManager.GetString("NeverLockWarning", resourceCulture); + } + } } } diff --git a/src/App/Resources/AppResources.resx b/src/App/Resources/AppResources.resx index ee27902e0..4417d5b09 100644 --- a/src/App/Resources/AppResources.resx +++ b/src/App/Resources/AppResources.resx @@ -2254,4 +2254,7 @@ All + + Setting your lock options to “Never” keeps your vault available to anyone with access to your device. If you use this option, you should ensure that you keep your device properly protected. +