Mainly involves using a network parameter rather than a separate build for testnet and mainnet. This network object is also now the source of the SAPLING_ACTIVATION_HEIGHT, which varies by network. The other major change is the way wallet initialization works, particularly around viewing keys. Under the hood, this involves a database migration so it is worth testing the upgrade path.
There was a logic error that caused the load screen to cover the create/restore screen because the load screen was waiting for the synchronizer to start but it would not start until after the wallet was created (or restored). The simple fix was to turn off the load screen during the create/restore flow and then reactivate it, if needed while creating the syncrhonizer. In almost all cases, users will not see the load screen. However, when there is a race condition and the homescreen attempts to draw before the synchronizer is ready, it will now display a load screen instead.
Pulled out all strings and also cleaned up warnings along the way. Introduced base translation files, one of which is mapped directly to the excel spreadsheet of translations.
This is important because sync times are getting longer, every day. If users can see and input a more accurate birthday, then they will have dramatically improved sync times.
Addresses https://github.com/zcash/zcash-android-wallet/issues/143 by placing everything behind a user setting that can be enabled in the future by users who want to continue helping us improve the user experience. For the most part, this will just be turned on for internal company releases in order to continue learning and improving the app.
- Implemented long press to clear amount
- fixed bugs around No Funds being shown when available was zero but change was pending confirmation
- colored the gray z-icon on the home screen
- added color emphasis when change is pending
- added profile button
Dagger Android is overly complex and confusing and Google admitted that they need to change it and simply its use. In the meantime, it is easier to just remove it and setup dagger the old way.
- added home screen banner and logic to show/hide messages
- added no balance banner and behavior
- added landing and backup screens
- fixed and finished receive screen
- added back buttons
- switched from rounded to cut corners
- added sound and vibration
- added ability to detect dev environment and adjust behavior