* [#1417] Add authentication
- Closes#1417
- Closes#326
- Partially addresses [Electric-Coin-Company/zashi#7] too
- Creates reusable AuthenticationVM component with all necessary logic that reports authentication status to its callers
- Addresses authentication requirements for the Send funds, Delete wallet, Export private data, and Recovery phrase. The App access authentication use case is prepared and can be turned on anytime.
- The new logic also counts with possible future user customization via the app UI of the default on/off states for all implemented authentication use cases
- Send.Confirmation logic simplification
- This also adds the welcome screen (splash) animation to all the app entry points (the app recreation caused by system included)
* Allow unauthenticated access
- In case no authentication method is available on the device
* Build supported authenticators for the device
- Based on the device Android SDK version
* Disable broken screenshot testing
- This is a temporary change until #1448 is addressed
* Changelog update
* Add temporary placeholder screenshot test
To suppress no test error
* [#947] About screen UI (partially implemented)
* [#947] About screen UI
* [#947] Fixed failing test case
* [#947] Added Zashi text logo
---------
Co-authored-by: Honza Rychnovský <rychnovsky.honza@gmail.com>
* [#947] UI: About Screen
* [#1005] Remove DebugMenu from Home screen
- The new design does not require it on the Home screen
- Partially moved to the Settings and About screens
* [#392] Update About screen texts
Closes#392 as not needed now
* [#1006] Enhance VersionInfo with other fields
* [#947] About screen UI + logic + tests
* Adopt VersionInfo on different screens
* VersionInfo test
Update .gitignore
---------
Co-authored-by: Venkat-corebts <143575548+Venkat-corebts@users.noreply.github.com>
Known issues
- We cannot use downloadable fonts with Compose, so the fonts must be embedded with the app
Questions
- How does the transparent button show a disabled state?
- Are the navigation buttons and secondary buttons supposed to be effectively the same style but one is smaller?
TODO
- Add gradients. Gradients are not implemented for background, progress bar, etc. Currently they simply use the start color for the gradient
- Icons are using Material Icons, pending decision on how to leverage the vectors in the design
- Add the border for hero images
- Add shapes for the callout, which is currently square
- Add padding
- Add drop shadows
- Double-check colors for correctness
This adds infrastructure to read/write preferences, with both a multiplatform wrapper and an Android-specific implementation.
This implementation is primarily designed to cover the initial needs of implementing the wallet SDK integration for issue #28 for securely storing keys (with encryption) for the user's wallet.