Commit Graph

256 Commits (e02ff42a857878c8d1f41956fa31beb4354456f2)

Author SHA1 Message Date
Severiano Jaramillo 1a335b2ab5 Change settings icon to outlined. 2018-12-13 20:56:18 -06:00
Severiano Jaramillo 8d25b92063 Create a new BalancesFragment and NetWorthFragment which are used in the HomeFragment's second card. The Balances is already working but the NetWorth only shows a 'Coming soon' notice. 2018-12-13 20:53:38 -06:00
Severiano Jaramillo a608ec162a Create the menus for Balances and Net Worth that make use of a customized TabLayout and a ViewPager to obtain the desired effect.
- Created custom themed attribute colorBackgroundFocusable to assign the correct background color to the balances and net worth tabs.
- Renamed BalancesFragment to HomeFragment because, the BalancesFragment will now only be used to display the Balances in the above mentioned ViewPager.
2018-12-13 20:21:03 -06:00
Severiano Jaramillo dd290a4b2c Improve Balances' Material cards to show nice elevation with shadows. 2018-12-13 16:57:58 -06:00
Severiano Jaramillo 8f0026c205 - Update the MaterialDialogs library version.
- Add the functionality to the Settings BrainKey's View & Show button. It first fetches the brainkey from the authorities db table and then shows it in a custom MaterialDialog so that the user can view and copy it.
2018-12-13 16:01:26 -06:00
Severiano Jaramillo f45d9055c3 Add functionality to the Settings 'Automatically close BiTSy after 3 minutes of inactivity', the user selection is saved into the SharedPreferences and if it happens to be true then the app will close when that time amount of inactivity happens. 2018-12-13 14:29:32 -06:00
Severiano Jaramillo e1c32eb7f8 Add methods to automatically change the theme to night mode when the user selects it and also avoid a crash in the TransfersLoader. 2018-12-13 13:10:19 -06:00
Severiano Jaramillo ffebc39bcf Add Send/Receive text below the Send/Receive buttons in the Balances screen and improve its layout so they are always centered both vertically and horizontally. 2018-12-13 12:47:25 -06:00
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 bada77f224 Enable proguard minify to reduce size of the release APK. After enabling the minify some warnings did not allow to build the release APK so I disabled the proguard warnings for now but a proper solution has to be found that actually handles the warnings in a proper way. 2018-12-10 17:19:28 -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 5c5bc5c439 Barcode qr library 2018-10-31 18:56:21 -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 d8cd132c88 Barcode qr library 2018-10-31 16:52:53 -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 f04708bde1 Update Kotlin version and add proper Room and Paging libreries. 2018-10-31 10:02:33 -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
Severiano Jaramillo 75a4f601c1 Added graphenej as a git submodule and as a module to the app. 2018-10-31 08:27:09 -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 7e758607ee Merge branch 'master' of github.com:Agorise/bitsy-wallet 2018-10-30 16:21:54 -06:00
Severiano Jaramillo 418c0b4ddd Add content to the BalancesFragment, mostly copied fron the old wallet. 2018-10-30 15:27:20 -06:00
dtvv 30e1be54d2 Merge branch 'master' of https://github.com/Agorise/bitsy-wallet 2018-10-30 14:25:16 -06:00
dtvv 4d3b24e61f room and viewmodels dependencies 2018-10-30 13:55:04 -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