Severiano Jaramillo
5a6b098f38
Replaced SettingsActivity with SettingsFragmet and created the Navigation methods to hook the Balances' Settings toolbar icon with the Settings fragment so it automatically opens when the icon is tapped.
2018-12-13 12:34:42 -06:00
Severiano Jaramillo
1565bab28c
Improve Transactions' cards UI.
2018-12-13 11:49:57 -06:00
Severiano Jaramillo
22666021f1
- Add Navigation's SafeArgs plugin to the project, this plugin enables to pass arguments between fragments in a safe way.
...
- Use the Navigation AAC to create the navigation from the Balances to the Send and Receive fragments, using Navigation's SafeArgs to activate the camera in SendTransactionFragment in the case the user tapped on the camera button instead ofjust the send button in the Balances.
2018-12-13 11:24:18 -06:00
Severiano Jaramillo
6e25dd7589
Create new Balances layout with the send and receive buttons at the top and the user balances at the bottom per Ken's design.
2018-12-13 10:16:57 -06:00
Severiano Jaramillo
2619541e16
- Create and add the new Transactions, Merchants and Settings icons and use them in the Balances toolbar.
...
- Remove the transactions section from the Balances fragment.
- Create a new TransactionsFragment which hosts the list of trasactions.
- Add the transactions destination to the navigation graph so that the Navigation component automatically handles the transition when the transactions icon is selected in Balances.
2018-12-13 08:20:17 -06:00
Severiano Jaramillo
3d6ce645b5
Make proper configurations to enable the Navigation component and make use of it to add the navigation to the Merchants fragment and back to the Balances fragment.
2018-12-12 21:30:27 -06:00
Severiano Jaramillo
82efa60a36
Introduce the new Android Architecture Components' Navigation.
...
- Remove the old MainActivity layout that included a BottomNavigationView.
- Start using the Navigation AAC and make the BalancesFragment the default Fragment so that it is the first to appear.
2018-12-12 20:56:20 -06:00
Severiano Jaramillo
410d22c5b0
Create Settings screen layout.
2018-12-11 16:22:55 -06:00
Severiano Jaramillo
2dc0deb23f
Improve ImportBrainkeyActivity by automatically showing errors if the PIN is not long enough, the PIN Confirmation does not match or if the brainkey does not have the correct format as the user types but with a small debunce to avoid showing errors while the user is typing. Once the three fields are correct then the Import button is enabled.
2018-12-11 13:25:15 -06:00
Severiano Jaramillo
50a266ffb4
- Move the method to updateBalances from the MainActivity to the ConnectedActivity, so that it can be always trying to update the Balances even if we are not in the MainActivity and also to be able to update the Balances right after we notice there are new transactions for the current BitShares account.
...
- Move the TransfersLoader from MainActivity for the same reason than the updateBalances method described above and fix it so that it no longer needs the activity Lifecycle.
2018-12-08 22:55:28 -06:00
Severiano Jaramillo
0f96c48135
Create method to update the Transactions list when new operations are detected for the current user account. When new transactions are fetched and saved into the database they automatically appear on the Transactions list.
2018-12-08 22:15:06 -06:00
Severiano Jaramillo
2b168180c6
Prevent calling the method to obtain account iformation when there is no longer missing account information.
2018-12-08 20:52:48 -06:00
Severiano Jaramillo
628b30ce54
Created a method that is always listening to changes in the database and finds out when at least one UserAccount involved in a transaction is not present in the user_accounts db table. When such accounts are found they are retrieved in a form of a list and their information is requested to the BitShares nodes through graphenej's NetworkService and saved into the db once a response is received. The updated user account information is automatically displayed in the transactions list because of AAC's ViewModel, LiveData and Room.
2018-12-08 20:36:31 -06:00
Severiano Jaramillo
496e0ac21f
Add cryptoAmount, cryptoPrecision and cryptoSymbol to TransferDetails model and fetch that iformation from the database, which is later used to correctly format and display the crypto amount in the Transactions list.
2018-12-07 17:23:44 -06:00
Severiano Jaramillo
8ef4610db3
- Update graphenej reference to use a new method included to Broadcast a Transaction using the NetworkService's centralized node connection.
...
- Make use of the described new method in Graphenej's NetworkService to actually broadcast a Bitsy transaction to the blockchain. If the transaction is successful then all SendTransactionActivity fields are cleaned, the Send button hiden and a Toast showing that the transaction was successful. If the transaction fails then a Toast shows the error received from the Blockchain explaining the reason for the failure.
2018-12-07 16:10:08 -06:00
Severiano Jaramillo
04b509651b
- Adjusted how the Android virtual keyboard appears on the screen so that it does not distort the QR code image.
...
- Created a method to update the QR code when the user updates the Amount text field information, using RxJava debounce to avoid calls while the user is still typing.
- Created a method to remove the QR when there is no Asset selected.
2018-12-07 15:18:23 -06:00
Severiano Jaramillo
28561d55f1
- Modified the Asset entity model by adding a method 'toString()', so that it can be used in the adapter for the ReceiveTransactionFragment's Asset AutoCompleteTextView.
...
- Created AssetViewModel to obtain the the elements from the assetd db table using the AssetRepository and serving the obtained assets to the ReceiveTransactionFragment.
- Fire an event to update the QR code when the user selects an asset from the AutoCompleteTextView.
2018-12-07 13:50:31 -06:00
Severiano Jaramillo
b9a765e682
Create custom AutoCompleteTextView which can be used inside of a TextInputLayout to show a nice square with the suggestion like the other text fields used in the app.
2018-12-07 12:17:45 -06:00
Severiano Jaramillo
39073e3d9c
Added method in ReceiveTransactionFragment to generate QR codes encoded using BitShares merchant protocol.
2018-12-06 21:33:40 -06:00
Severiano Jaramillo
dca3e6872d
Create ReceiveTransactionFragment layout.
2018-12-06 19:09:36 -06:00
Severiano Jaramillo
e50f4064df
- Add memo field to the transfer operation if it exists.
...
- Create method in SendTransactionFragment that once the DynamicGlobalProperties is received, calls the Grahpenej's NetworkService method to get the required fees for the operation that the user wants to do.
2018-12-06 15:59:47 -06:00
Severiano Jaramillo
00df51e9f9
Create method to initiate the first step required to send a transaction from the wallet, which is building a Graphenej's transaction object and request the DynamicGlobalProperties.
2018-12-06 15:12:38 -06:00
Severiano Jaramillo
53479f8837
- Add a amount verification to the SendTransactionFragment to ensure the user has at least that amount of the selected asset in his account.
...
- Show the balance of the current selected asset below the asset Spinner.
- Enable the send transaction button only after verifying that both the to account and the amount are both valid.
2018-12-05 21:49:26 -06:00
Severiano Jaramillo
4739e41fce
- Added the RxBindings library to be able to use RxJava on Android Widgets.
...
- Connected the SendTransactionFragment to Graphenej's NetworkService so that it can directly send requests to the nodes.
- Added the RxBus to SendTransactionsFragment so that it can listen to responses from the NetworkService and take the useful ones.
- Added account validation to SendTransactionFragment, if the account typed exists then the Send button is enabled, if not the button is disabled an a error is shown below the typed account.
2018-12-05 18:38:34 -06:00
Severiano Jaramillo
5388e90331
Add methods to remember the currently selected Spinner's Asset and make sure that selection is not lost when the balances table is updated. Make an improvement to the camera feed UI.
2018-12-05 10:10:45 -06:00
Severiano Jaramillo
2aa685d1da
- Create AssetsAdapter to populate the Assets Spinner in SendTransactionFragment.
...
- Use BalanceDetailViewModel to fetch the Balance details from the database and pass them to the AssetsAdapter.
2018-12-04 15:49:22 -06:00
Severiano Jaramillo
fa2c7a07d8
Add camera permission to Manifest to be able to use camera in the app to read QR codes.
...
- Add methods to SendTransactionFragment to request camera permission and start/stop the camera preview accordingly.
2018-12-04 11:33:58 -06:00
Severiano Jaramillo
95404708a9
Create SendTransactionFragment layout similar to Crystal's
2018-12-03 17:22:21 -06:00
Severiano Jaramillo
75bd1b2e03
Created basic SendTransactionFragment and SendTransactionFragment with their respective layout files.
2018-12-03 15:37:27 -06:00
Severiano Jaramillo
70ebea75b0
Add direction to TransferDetail and use it to display the correct left bar color and direction arrow in the Transactions list..
2018-12-03 13:51:36 -06:00
Severiano Jaramillo
de75c12197
Created a new TransferDetail model and DAO to create a object composed form the transfers, assets, accounts, and equivalent_values db tables and used such classes to correctly show the accounts involved in transactions in the BalancesFragment.
2018-12-03 13:34:13 -06:00
Severiano Jaramillo
cd2f388894
Created a new BalancesDetail model and DAO to create a object composed form the balances and assets db tables and used such classes to correctly show the balances in the BalancesFragment.
2018-12-02 20:17:31 -06:00
Severiano Jaramillo
5ec8afbdb3
Provide a better package structure for Room database related files.
2018-12-01 09:25:25 -06:00
Severiano Jaramillo
dd770fdb5b
- Created Balances adapter and ViewModel to show the Account Balances in the BalancesFragment.
...
- Simplified the Balances db table.
2018-12-01 08:48:19 -06:00
Severiano Jaramillo
fc98208c30
- Add method to update account balances.
...
- Create BalancesRepository to handle Balances related db operations.
2018-11-28 21:52:00 -06:00
Severiano Jaramillo
51363bdf00
- Create basic TransactionsAdapter to populate the Transactions RecyclerView in Balances.
...
- Create basic Transactions items layout.
2018-11-28 20:13:40 -06:00
Severiano Jaramillo
bebffa14ed
- Remove no needed code and simplifyy TransfersLoader, also add a CompositeDisposable to keep track of all RxJava subscriptions and be able to dispose them when the class is finished.
...
- Call the TransfersLoader in MainActivity from a better place.
2018-11-28 18:55:53 -06:00
Severiano Jaramillo
3cbe738fd7
Move deleteAll method from TransferRepository to an async thread, to avoid app crashes for doing db operations in the main thread.
2018-11-28 14:28:18 -06:00
Severiano Jaramillo
d979d366cf
Update EULA and change DISAGREE button color to red and AGREE button color to green.
2018-11-28 14:21:43 -06:00
Severiano Jaramillo
d4e96f98e6
- Remove memo_from and memo_to fields from the transfers db table.
...
- Added method to obtain WIF key from the authorities db table.
- Make use of WIF in TransfersLoader to decrypt memo messages before saving them into the db.
2018-11-28 12:28:38 -06:00
Severiano Jaramillo
61aeca0575
- Extend Authority entity table to also store the authorities in WIF format.
...
- Make ImportBrainkeyActivity to create and store the WIF format into the database.
2018-11-28 10:19:53 -06:00
Severiano Jaramillo
cec0857113
- Add Room RxJava dependency to be able to use RxJava in Room db queries.
...
- Use RxJava's Single to make a Room query in TransfersLoader.
2018-11-27 21:42:39 -06:00
Severiano Jaramillo
08cf6b3c40
- Created a specific package entities for Room entities and do not mix them with plain models.
...
- Simplified the Transfers entity so that we store only the information that will actually be used.
- Create a TransfersLoader, which once launched checks and updated Transfer operations.
2018-11-27 13:33:04 -06:00
Severiano Jaramillo
c63388155a
Created a DatabaseLoadActivity which loads basic information of all the BitShares assets and stores them in the database. This process only occurs once during the initial setup.
2018-11-26 15:11:34 -06:00
Severiano Jaramillo
d42050afa1
- Created basic Balances layout with sections to show the account name, a list of Balances and a list of Transactions.
...
- Created UserAccountViewModel to serve as a bridge between the views and the database, and use it to fetch the current active UserAccount to display it in the BalancesFragment.
2018-11-26 12:26:20 -06:00
Severiano Jaramillo
c77c62fb87
Create a Toolbar menu to MainActivity and add an entry to open the SettingsActivity.
2018-11-24 10:11:30 -06:00
Severiano Jaramillo
175d48f8c6
- Simplified Database structure to include only what is going to be used for the wallet.
...
- Properly distroy NetworkService connection when ConnectedActivty is distroyed to avoid crashes.
- Created UserAccountRepository and AuthorityRepository to handle their corresponding database operations in an asynchronous way, because Room enforces database operations to be done in a thread other than the UI thread.
- In ImportBrainkeyActivity when a proper brainkey is given save the imported account into the database, put a flag that tells the app there is a current account imported and send the user to MainActivity.
2018-11-24 09:11:57 -06:00
Severiano Jaramillo
847e8a8d7f
- Make an UX improvement to let the user import the account directly from the keyboard when typing the brainkey in the TextField.
...
- Add the MaterialDialogs library and use it to let the user choose the desired account to import when the brainkey controls more than one account.
2018-11-22 20:13:10 -06:00
Severiano Jaramillo
22a0735379
Remove code from BitsyApplication that is not going to be used.
...
- Add checks to ImportBrainkeyActivity to make sure the PIN and Brainkey have the correct length/structure.
2018-11-22 15:40:33 -06:00
Severiano Jaramillo
fcbd82e570
- Create BitsyApplication class to manage the connection to graphenej's NetworkService.
...
- Create ConnectedActivity which is the base activity that handles the communication to graphenej's NetworkService and will be extended by other apps that require communication to the BitShares nodes.
2018-11-22 13:35:32 -06:00
Severiano Jaramillo
dfa5df7e83
Create ImportBrainkeyActivity lyout.
2018-11-21 20:53:45 -06:00
Severiano Jaramillo
6b55151e3b
Created basic ImportBrainkeyActivity and a method to take the user to the MainActivity or ImportBrainkeyActivity depending on whether or not there is an active account after the user accepts the License.
2018-11-21 17:43:51 -06:00
Severiano Jaramillo
f19556c925
Created SplashActivity and LicenseActivity. Created a MaterialComponents button style with its state list animator.
2018-11-21 17:10:39 -06:00
Severiano Jaramillo
93f2abfb0e
- Removed not needed stuff.
...
- Created new MainActivity using a BottomNavigationBar and created all the necessary icons for such bar.
2018-11-21 14:47:21 -06:00
Severiano Jaramillo
fb1d6b89fa
Migrate Bitsy to MaterialComponets theme.
2018-11-21 13:13:07 -06:00
Severiano Jaramillo
16a8920ce5
Fix compilation errors.
2018-11-01 18:45:06 -06:00
Severiano Jaramillo
a8ff48b984
Merge branch 'feat_room_db' into develop
2018-11-01 16:21:21 -06:00
Severiano Jaramillo
253bbd0dea
We have now verified that both the weight_threshold in UserAccount and weight in UserAccountAuthority are Integers.
2018-11-01 15:53:43 -06:00
Severiano Jaramillo
73afded9bd
Add missing DAOs (Data Access Object) to use with the Room database.
2018-11-01 14:57:23 -06:00
Severiano Jaramillo
eed3407b7d
Simplify Assets and UserAccounts database tables.
2018-11-01 14:41:10 -06:00
Nelson R. Perez
ff43dcc4f4
Included a brain key model and simple DAO stub
2018-11-01 14:50:18 -05:00
Severiano Jaramillo
1932b27f7e
Fix Authority db table schema
2018-11-01 12:52:20 -06:00
Severiano Jaramillo
1c018346ae
Create UserAccountAuthority entity to establish a N:N relationship between the UserAccount and Authority entities in the database. Also made some structure improvements to all the Entities and Daos already described.
2018-11-01 11:19:32 -06:00
Severiano Jaramillo
bc180b38f5
Fix manifest
2018-10-31 19:12:09 -06:00
Severiano Jaramillo
b2c355210d
Merge branch 'feat_merchants' of github.com:Agorise/bitsy-wallet into feat_merchants
2018-10-31 19:07:54 -06:00
dtvv
aea1fd3302
SendFragment and ReceiveFragment changes
2018-10-31 19:05:03 -06:00
dtvv
4e5ee90605
QR code control
2018-10-31 18:55:12 -06:00
dtvv
14a6a520c9
Convert Constants.java to kotlin
2018-10-31 18:55:12 -06:00
Severiano Jaramillo
da9e0225cc
Create Operation, Transfer and Equivalent value Entities for the Room database.
2018-10-31 18:51:41 -06:00
dtvv
a2f696c326
SendFragment and ReceiveFragment changes
2018-10-31 18:46:48 -06:00
dtvv
04191b309d
QR code control
2018-10-31 15:25:36 -06:00
dtvv
f4759abc72
Convert Constants.java to kotlin
2018-10-31 15:22:44 -06:00
Severiano Jaramillo
72e39368aa
Created Authority entity and AuthoritiyDao to create the Authorities db table with Room
2018-10-31 15:16:22 -06:00
Severiano Jaramillo
e835e7de89
Created UserAccount entity and UserAccountDao to create the UserAccounts db table with Room
2018-10-31 14:51:23 -06:00
Severiano Jaramillo
c0d20e67bd
Created Balance entity and BalanceDao to create the Balances db table with Room
2018-10-31 14:40:17 -06:00
Severiano Jaramillo
e7d2719a4d
Create BitsyDatabase which extends Room and created Assets Entity and Assets Dao to use in the Room db
2018-10-31 13:44:49 -06:00
Severiano Jaramillo
a816098be8
Fix issues with migration to AdroidX and update graphenej library.
2018-10-31 09:46:30 -06:00
Severiano Jaramillo
cb3178f642
Update project to use the new AndroidX libraries.
2018-10-31 08:55:55 -06:00
dtvv
e562d322d7
Test
2018-10-30 19:56:03 -06:00
Severiano Jaramillo
b0d4c0a930
Create empty SendTransactionActivity and ReceiveTransactionActivity which are called from BalancesFragment
2018-10-30 19:32:06 -06:00
Severiano Jaramillo
63c63fd89f
Give better names to buttons in BalancesFragment
2018-10-30 16:22:24 -06:00
Severiano Jaramillo
418c0b4ddd
Add content to the BalancesFragment, mostly copied fron the old wallet.
2018-10-30 15:27:20 -06:00
Severiano Jaramillo
ad2b22a96c
Add day/night theme spinner in SettingsActivity along with a very basic implementation of its behavior.
2018-10-30 13:14:33 -06:00
Severiano Jaramillo
30ae9c36bf
Create empty SettingsActivity and an Intent to open it from the Settings icon in the MainActivity bottom status bar.
2018-10-30 12:41:09 -06:00
Severiano Jaramillo
79a0a5fc79
Add MainActivity's bottom status bar that shows app version, current BitShares block number, node connection status and the icon to open the Settings.
2018-10-30 10:04:05 -06:00
Severiano Jaramillo
e5bb27da44
Add basic Balances, Transactions and Merchants Fragments with their own layout and ViewModel.
2018-10-30 09:11:19 -06:00
Severiano Jaramillo
bc9d671656
Improved MainActivity TabLayout by making tabMode=scrollable and adding an animation to the bitshares logo to visually show when the fragment it represents is selected.
2018-10-30 08:18:40 -06:00
Severiano Jaramillo
2ae5656c5c
Created MainActivity's Tabs with the first tab having the bitshares logo and the other two their corresponding text names.
2018-10-29 20:30:53 -06:00
Severiano Jaramillo
0155f1f9f8
Create basic MainActivity with Tabs. Change app name to BiTSy and add the bitshares logo as the launcher icon.
2018-10-29 19:59:02 -06:00
Severiano Jaramillo
924cd255a8
Initial commit
2018-10-29 15:49:42 -06:00