Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi wallet & app design R3 #401

Merged
merged 74 commits into from Dec 20, 2019
Merged

Multi wallet & app design R3 #401

merged 74 commits into from Dec 20, 2019

Conversation

beansgum
Copy link
Contributor

@beansgum beansgum commented Aug 6, 2019

This pull request implements Multi Wallet (planetdecred/dcrlibwallet#57), rewrites most of the Java code in Kotlin and the entire user interface was changed. MultiWallet allows running more than one wallet concurrently. All wallets are opened at startup using the same public passphrase(to avoid prompting the user for each wallet's public passphrase).

These are screenshots explaining the multi-wallet features and also shows the new user interface.

  1. The transactions displayed in the overview are sorted by timestamp and the have a label of the wallet it belongs to.
Multi Wallet Single Wallet
  1. When syncing in multi-wallet, headers are fetched and sent to wallets missing them. The rest of the sync process is the same would be iterated for all wallets(Account & Address discovery, Rescan and Transaction Indexing).
Multi Wallet Single Wallet
  1. Wallets page shows a list of opened wallets and can also be expanded to manage the accounts.
Multi Wallet(1 expanded, 2 collapsed) Single Wallet(expanded)
  1. Transactions page shows a list of transactions from the wallet and adds multiple subfragments in the case of a multi-wallet.
Multi Wallet Single Wallet
  1. Sending and receiving dcr has the regular flow but with a multi-wallet account selector.
Sending DCR Receiving DCR

Account Selector

beansgum and others added 4 commits August 24, 2019 05:00
- Use SynclayoutUtil to manage all sync layout changes thereby
  cleaning up overview fragment.
- Complete sync layout
- Accounts ReclyerView
- Added "Add a wallet" button
- Use Toolbar for MainActivity's top bar

- Overivew Page
  add button to syncing layout to cancel sync
  implement multi wallet fetch header process
- added collapse icon
- set ripple for every background
- change wallets collaps menu
- increase wallet menu option ripple padding
- also added dialog to prompt spending passphrase
- added custom checkbox and also defined all font styles of source
  sans pro in one file
- added showError function to Snackbar
- custom info dialog
- added account picker bottom sheet dialog
- Remove bottom sheet extra top padding
- Fix create and restore button layout and ripple
- Currency conversion and switch between dcr and usd
- Custom spinners to select account
- Confirm transaction bottom sheet
- Changed transaction details dialog to a bottomsheet.
- added collapsible layout with extra transaction details.
- added custom dropdown for transaction input and output items.
- Create & remove security pin.
- Enter security pin at startup.
This adds a preference item under "Startup PIN/Password" category.
Custom password input was added everywhere as it wasn't used before.
Custom passcode input was also used in unlock wallet dialog.
Copy link
Contributor

@dreacot dreacot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Wallet name doesn't trim spaces.
    When creating or renaming a wallet, the extra white-space isn't trimmed before saving, giving the wallet name unnecessary blank spaces as seen in the picture

Version: testnet 2019-12-14
Android Version: 9.0
Phone Model: Samsung Galaxy A7

  1. Push notifications doesn't play sound and doesn't vibrate.

    Two scenarios
    i. When you receive DCR from another user with app in background, you get push notification without sound or vibration, even though it's set to do so

ii.When you transfer DCR between your wallets, you get push notifications, but without sound or vibration

Version: testnet 2019-12-14
Android Version: 9.0
Phone Model: Samsung Galaxy A7

- beep new blocks
- trim account name before creating/renaming account
- increase tx notification importance from low to high. notifications
  with low importance from android 8.0, are delivered silently and
  causes a bug with the app notifications settings as sound and vibration
  are not working.
- clear transaction list if a tx filter with zero matches is selected.
- change toolbar title left-padding to 8dp for toolbars having 16dp left
  padding.
@beansgum beansgum changed the base branch from ui to master December 17, 2019 16:21
@beansgum beansgum marked this pull request as ready for review December 17, 2019 16:49
@raedah raedah merged commit 197dc9a into planetdecred:master Dec 20, 2019
dcrandroid board automation moved this from Review to Done Dec 20, 2019
@beansgum beansgum deleted the tabs branch May 29, 2020 03:25
@beansgum beansgum restored the tabs branch May 29, 2020 03:25
@beansgum beansgum deleted the tabs branch May 22, 2021 05:46
This was referenced Sep 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging this pull request may close these issues.

None yet

4 participants