Commit Graph

116 Commits

Author SHA1 Message Date
Kevin Gorham d8ae9c0ff4
Localization: extract strings to resources.
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.
2020-10-07 19:54:15 -04:00
Kevin Gorham d3efb08fb1
Minor fixes and cleanup. 2020-09-25 11:50:20 -04:00
Kevin Gorham bda474e65d
Align exit icons across all screens. 2020-09-25 11:49:38 -04:00
Kevin Gorham 5e2f79ba62
Add change server ability and respond to design feedback.
- Changed style of input boxes
- Updated button behavior to only enable when values have changed
- Added simple loading screen
- Added error handling messages when the change server fails
- Switched button order and simplified button text
- Added red validation messages below input
- Respond to user input, as they type
- Reformatted title area to match other screens
- Adjusted layouts to be percentage based to work more consistently on smaller screens
- Implemented logic for restoring the original server values
2020-09-25 11:49:09 -04:00
Kevin Gorham d38626c205
Incorporate new SDK initializer improvements.
The first step in working with viewingKeys directly.
2020-09-25 11:43:36 -04:00
Kevin Gorham 34b01347b7
Round down birthday calculation. 2020-09-25 11:41:00 -04:00
Kevin Gorham 453cd1d995
Merge pull request #203 from nighthawk24/feature/settings
Create Settings layout, fragment & view model
2020-09-23 23:52:15 -04:00
Kevin Gorham 2016beca00
Minor bug fixes and CHANGLOG update. 2020-09-23 23:28:31 -04:00
nighthawk24 3140399cb1 Create Settings layout, fragment & view model
Stringify resources in Profile.
Fix tint for navigation icons.
2020-09-16 01:49:43 -04:00
Kevin Gorham 11fffc5e67
Minor cleanup. 2020-08-28 04:05:14 -04:00
Kevin Gorham 630e7e773a
New: Implemented transaction detail view.
First pass complete. What remains is: error state handling, animations and hooking into the send flow.
2020-08-28 04:03:27 -04:00
Kevin Gorham de84bcbe7c
Updated and corrected home screen icons. 2020-08-28 04:00:32 -04:00
Kevin Gorham 5b02f188f6
Fix: Iterated on send flow from last sprint.
Addressed most design feedback from this list https://github.com/zcash/zcash-android-wallet/issues/113\#issuecomment-676622252
2020-08-28 03:58:35 -04:00
Kevin Gorham 25ffce866c
New: Updated receive screen and scan screen.
Removed the buttons that allowed navigation between the two screens, which has the nice benefit of removing the second way that the user could enter the Send flow. Lastly, split the address back into 8 parts and did other UI cleanup on the receive screen.
2020-08-28 03:52:10 -04:00
Kevin Gorham 462e3e10d9
Migrated some capabilities over to the MainActivity.
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.
2020-08-28 03:45:58 -04:00
Kevin Gorham 46c7cee030
New: Added first-use dialog and lockbox for app settings.
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.
2020-08-28 03:45:58 -04:00
Kevin Gorham 77e77ab724
New: Update to 1.2.0 version of RecyclerView to take advantage of new StateRestorationPolicy
which automatically handles some of the more complex state management. Without this change, the recyclerview would lose its scroll position after viewing tx details. Now it handles it perfectly due to setting transactionAdapter.stateRestorationPolicy =
            RecyclerView.Adapter.StateRestorationPolicy.PREVENT_WHEN_EMPTY
2020-08-28 03:19:13 -04:00
Kevin Gorham 94f942136b
Fix: Trim improperly parsed characters from memos. 2020-08-28 03:05:08 -04:00
Kevin Gorham f314bdc78b
Fix: keypad stops working when navigating back to home screen.
Addresses one of the issues mentioned in https://github.com/zcash/zcash-android-wallet/issues/113\#issuecomment-676622252 . The core problem was that the underlying model was getting cleared but the view retained its state. The fix is to prevent clearing the model whenever the view already has a value.
2020-08-28 03:05:08 -04:00
Kevin Gorham 1577b3223d
Fix: prevent black screen after failed initialization.
If a crash occurs before feedback is started then attempting to report that crash will, itself, crash because the lateinit feedback instance is not initialized. The result is a black screen on launch! This fixes that by catching everything while trying to report an error.
2020-08-28 03:05:07 -04:00
Kevin Gorham 35d268622c
Allow ViewModel injection from the MainActivity. 2020-08-28 03:05:06 -04:00
Kevin Gorham 22d3e19ddf
Renamed 'WalletDetail' to 'History'. 2020-08-28 03:05:06 -04:00
Kevin Gorham c167099438
New: Change the default lightwalletd server.
The old server will be shutting down to coincide with our internal app deployment changes.
2020-08-13 23:48:43 -04:00
Kevin Gorham 649e50c3b0
New: Fully removed crashlytics, in favor of bugsnag. 2020-08-13 23:46:53 -04:00
Kevin Gorham 38a1f36539
New: Add bugsnag for better crash reporting.
Removed crashlytics.
2020-08-13 23:25:00 -04:00
Kevin Gorham 20c3317564
New: Entirely revamped the send flow.
Before it was more of a wizard but now it is all done on one screen. Indirectly, this also made 'cancellation' a first-class citizen, again.
2020-08-01 03:02:45 -04:00
Kevin Gorham 00ccb674aa
New: added expired state and mined height to details view.
Showing the mined height is helpful so users can more easily select their birthday height, when needed.
2020-08-01 03:00:52 -04:00
Kevin Gorham 002152c847
New: added view utilities. 2020-08-01 02:57:38 -04:00
Kevin Gorham 92b19820cb
Fix: amount not clearing when returning to the home screen.
After a transaction was sent, the old value would linger. That's fine in the case of a failure so the user can try again but it is not okay after completing a transaction. The issue was that the fragment was staying in memory and it's UiModel was still available. The fix is to let the SendViewModel be the source of truth about what amount the user has entered.
2020-08-01 02:56:42 -04:00
Kevin Gorham a9bc645cb1
Fix: wallet history now correctly scrolls to the top.
Previously, it would chop off the last transaction which happens to be what users are most interested in seeing. This was happening because the scroll was being called before the list contents were fully loaded from the database so we were scrolling to the top of an empty list.
2020-08-01 02:53:01 -04:00
Kevin Gorham 3a336396a0
New: added convenience function to get the latest height.
This is cached in the processor so we're basically just bubbling it up. No processing is needed to return this value.
2020-08-01 02:50:25 -04:00
Kevin Gorham c92cfaf07d
New: more precise birthday height support
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.
2020-08-01 02:48:20 -04:00
Kevin Gorham 8e5c87e301
New: Add biometric authentication support. 2020-08-01 02:46:49 -04:00
Kevin Gorham 6f44dbcb8b
New: improve reply-to support in memos. 2020-08-01 02:45:18 -04:00
Kevin Gorham 8f9da23f27
Pull in SDK changes from hackathon. 2020-07-29 13:10:32 -04:00
Kevin Gorham f9e085f661
Merge pull request #181 from zcash/bugfix/possible-shell-injection
Fix: security finding in issue #121.
2020-07-29 02:25:46 -04:00
Kevin Gorham 9873e9efbe
Improve handling of files with spaces. 2020-07-29 02:15:00 -04:00
Kevin Gorham 9ac3f23130
Switch from 'sent from' to 'Reply-To'.
Addresses #183 but still allows the UI to show things as it did, before. We removed the aggressive address parsing because it is not necessary and might lead to vulnerabilities.
2020-07-08 16:41:54 -04:00
Kevin Gorham 7d95585c4e
Fix: security finding in issue #121.
Avoids shell injection by verifying that the supplied value is a file. Also allows for spaces in the file path, which probably fixes certaind devices that were crashing when trying to open logs.
2020-07-02 18:30:25 -04:00
Kevin Gorham f6622d2320
Merge pull request #180 from zcash/feature/show-scan-error
Feature: show message for scan errors.
2020-07-02 18:27:14 -04:00
Kevin Gorham e3a243259b
Addresses #157 by adding a scan message.
Whenever something is scanned that is not a proper address for the given network, the user will be presented with that value and an error message. This requires a bit of additional support in the SDK but, for now, a workaround is enough.
2020-07-02 18:25:12 -04:00
Kevin Gorham 5891f948b1
Fixes #106 per suggestions from @CrystalPony. 2020-07-02 18:15:01 -04:00
Hlib 45a4f43079 Changes for #177
Replaced doBeforeTextChanged and doAfterTextChanged calls with a TextWatcher
Moved the limitDecimalPlaces code to the EditText ext
Implemented uniform currency formatter functions
Hugely simplified limitDecimalPlaces code
This fixes all cases related to the user's locale
2020-07-02 14:40:44 +03:00
Hlib 68e14cc754 PR #177 changes 2020-06-29 00:39:38 +03:00
Hlib d9386b98b0 Limits decimal places in amount inputs on the home and send screens
Adds a zero in front of the amount if dot is entered on the send screen
Prevents and removes odd leading zeroes in the address text input on the send screen
2020-06-28 18:36:05 +03:00
Hlib c6872d20eb Fix address field cursor position resetting after trimming spaces 2020-06-27 23:56:03 +03:00
Kevin Gorham 1bda85c1c4
Updated product name and removed local dependency. 2020-06-10 17:09:20 -04:00
Kevin Gorham de69567812
Explicitly disable all feedback, dev info and crash reporting.
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.
2020-06-10 10:02:53 -04:00
Kevin Gorham 340fb8c993
Address security finding #127 by validating address.
This just needs to be tested on detail views with a lot of transactions to be sure that rapid scrolling doesn't cause too much backpressure.
2020-06-10 08:50:52 -04:00
Kevin Gorham ebbe69125c
New: Provide checksum warning to user.
If the user enters an invalid seed phrase, let them know immediately, per #120.
2020-06-10 08:26:21 -04:00