mobile
mobile copied to clipboard
[SG-223] Mobile username generator
Type of change
- [ ] Bug fix
- [X] New feature development
- [ ] Tech debt (refactoring, code cleanup, dependency upgrades, etc)
- [ ] Build/deploy pipeline (DevOps)
- [ ] Other
Objective
Add username's generation option to mobile app.
Code changes
- GeneratorPage.xaml: Added UI elements needed for username generation options. Refactored password's display and some tags to help distinguish from password and username.
- GeneratorPage.xaml.cs: Added flags to control visual display of Password vs Username. Refactored Regenerate_Clicked into AsyncCommand in ViewModel.
- GeneratorPageViewModel.cs: Added logic to handle username creation, saving and loading username options. Refactored some properties to help distinguish from password and username.
- CipherAddEditPage.xaml: Refactored username field to grid and added button, with an icon, to navigate to Generator.
- CipherAddEditPageViewModel.cs: Added command to perform navigation to Generator page.
- AppResources.Designer.cs AppResources.resx: Added new strings.
- AppHelpers.cs: Added to new service to cache cleaning task.
- PickerIndexToBoolConverter.cs: Created to convert an int to boolean in order to control visibility of elements in xaml.
- Constants.cs: Added new constant key.
- ForwardedEmailServiceType.cs UsernameEmailType.cs UsernameType.cs: Added to help identify newly required types related to username creation.
- UsernameGenerationOptions.cs: Added model of username generation options.
- ApiService.cs: Added Http requests to various api's in order to consume their username creation service.
- StateService.cs: Added username generation options get/set support from/to storage.
- UsernameGenerationService.cs: Added to handle username creation based on username type intended.
- ServiceContainer.cs: Registered new service, UsernameGenerationService.cs.
Screenshots
Before you submit
- [X] I have checked for formatting errors (
dotnet tool run dotnet-format --check) (required) - [ ] I have added unit tests where it makes sense to do so (encouraged but not required)
- [ ] This change requires a documentation update (notify the documentation team)
- [ ] This change has particular deployment requirements (notify the DevOps team)