The SDK now provides hooks for receiving a callback whenever a scan completes that includes information about the number of blocks scanned and duration. Use this info to report device metrics around scan speeds. This is in anticipation of greatly improving these numbers in the near future. Before that, we want to start collecting a baseline measurement.
This helps with managing the race condition at startup where existing wallets want to show data quickly but need to wait for the synchronizer to be fully ready, which often happens slower than how long it takes the screen to draw itself.
Previously, certain phones could press cancel to bypass biometrics. Others couldn't even enter the send flow. Google's library for this is still not stable but it has improved and the underlying issue that contributed to these bugs has been corrected.
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.
Most of these changes center around managing addresses. We might want to further compose the MainActivity and allow another object to handle these capabilities but for now they live in a place that's central for all fragments.
Since we do not want to pester users most of our dialogs, going forward, will prompt the user select a setting not to see them again. This commit also gets rid of two separate approaches for sharedPreferences and settles on a second instance of lockbox. Our current lockbox is used for keys so we create another that contains no cryptographic info and use it for settings. This will use the device's secure element, when present and do the most secure thing falling back to our minSDK.
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