Commit graph

330 commits

Author SHA1 Message Date
Severiano Jaramillo
5af88291bc Update the Navigation component library version and Gradle version.
- Add simple slide in and out transition animations to the Send and Receive Transaction Fragments.
2018-12-19 09:24:56 -06:00
Severiano Jaramillo
d5d01115f8 Request merchants locations from the webservice and add them to the Merchants map. 2018-12-18 09:27:26 -06:00
Severiano Jaramillo
89cf6f3df2 Add slide-in animation when the Transactions items are loaded into the screen. 2018-12-18 08:51:45 -06:00
Severiano Jaramillo
dc7decfb77 Sort Balances alphabetically by symbol and place the asset symbol to the left and the balance amount to the right. 2018-12-18 07:55:04 -06:00
Severiano Jaramillo
720b4f7b1e Add BalanceView model and a method into it that is always observing the database and when it detects that there is missing assets information creates a list of such missing assets and fires an event to obtain the said information. 2018-12-18 07:37:21 -06:00
Severiano Jaramillo
5c20e2470d Avoid a crash in SendTransactionFragment when there are no assets loaded into de db. 2018-12-17 16:51:24 -06:00
Severiano Jaramillo
f8c9594602 Remove DatabaseLoadActivity and all related code. 2018-12-17 15:46:44 -06:00
Severiano Jaramillo
d425e4eece Enable just the best 7 BitShares nodes for the Mexico region.
- Disable the Memo field for now, we will fix and enable it later.
2018-12-15 10:19:58 -06:00
Severiano Jaramillo
41f7541918 Added code to fetch the merchants locations from the palmapay intranet web service. 2018-12-14 18:46:01 -06:00
Severiano Jaramillo
5659a1dd8c Fix crash when trying to insert an account that already exists in the database. 2018-12-14 16:02:00 -06:00
Severiano Jaramillo
a2c2c315b9 Add Firebase required libraries and configuration to Bitsy and enable Crashlytics. 2018-12-14 15:23:12 -06:00
Severiano Jaramillo
47e122e46c - Add the required libraries to fetch the merchants data from the web service.
- Create methods to redraw the Balances and NetWorth fragments each time they appear to the user, to temporarily avoid them not displaying correctly after returing from another screen or when changing the theme.
2018-12-14 14:20:16 -06:00
Severiano Jaramillo
5ddce2a33f Added a map to the Merchants section with the default values and using the Google Maps API key Tadeo created when he was working on the project. 2018-12-14 12:12:42 -06:00
Severiano Jaramillo
283125b40e Add google maps library. 2018-12-14 11:42:05 -06:00
Severiano Jaramillo
ba113e1a7f Found that enabling ProGuard's minify for the debug version breaks the debugger breakpoints functionality, minify was disabled until a solution is found. 2018-12-14 11:12:30 -06:00
Severiano Jaramillo
f76f293811 - Add a third tab to the Balances/Networth Tablayout which contains only a Pie chart as the title but has no content yet.
- Lighten up the above tabs that are not the current selected one. They are still grayed but just a bit.
2018-12-14 10:23:01 -06:00
Severiano Jaramillo
20e17108ec Enabled proguard for both debug and release versions and fixed the gradle warnings related to proguard unsatisfied rules in a correct way without ignoring all possible warnings. 2018-12-14 09:54:02 -06:00
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