Severiano Jaramillo
a913f380bb
Create MerchantMarkerRederer to create custom merchant and custom merchant cluster icons to show on the map. Use the same merchant cluster icon as in palmpay.io but with white text.
2019-01-23 12:17:46 -06:00
Severiano Jaramillo
6abcf6ed13
Add the android-maps-utils library and use the Cluster functionality to display a nice item amount when the markers are too close.
2019-01-22 20:14:17 -06:00
Severiano Jaramillo
8c56250d1a
Position the Merchants & Tellers Map by default somewhere near Panama with a zoom of 6.
2019-01-22 16:30:23 -06:00
Severiano Jaramillo
2ed39fabdd
Create a night mode style for the Merchants & Tellers map and apply it only when the app is in night mode, use the default map theme otherwise.
2019-01-22 15:53:14 -06:00
Severiano Jaramillo
227e0224a1
Add location permission request in the Merchants and Tellers screen, and if accepted show the icon on the map so that it can be moved to the current user's location if it is available already. Also, show the zoom UI controls on the map.
2019-01-22 15:31:24 -06:00
Severiano Jaramillo
55e57a11ad
Change Toolbar title of Merchants section to Merchants & Tellers
2019-01-22 14:00:35 -06:00
Severiano Jaramillo
4558d54d27
Create db migration to add and use the merchants and tellers tables.
2019-01-22 13:55:28 -06:00
Severiano Jaramillo
6ed34d20eb
Created MerchantDao and TellerDao to be able to access the merchants and tellers db tables. Modified Room to export the db schema to enable proper testing.
2019-01-22 13:28:17 -06:00
Severiano Jaramillo
e043b83b36
Improve query to obtain the merchants information from the webservice. Move the Merchant model to the entities folder and annotate it so it can be used to create a Room table. Create the Teller entity to be used to fetch the Tellers info from the webservice and create the tellers Room table. Removed not needed classes Ambassador and AmbassadorLocation.
2019-01-22 13:11:23 -06:00
Severiano Jaramillo
4c3822e8c1
Fix crash with Google maps in Android 9 [Pie] devices.
2019-01-22 10:17:22 -06:00
Severiano Jaramillo
357cc97e40
Improve homescreen buttons layout, making the camera button bigger and putting it over the Send button in the border at ~-140°, and removing the line that connected the camera and send buttons.
2019-01-22 09:56:58 -06:00
Severiano Jaramillo
6841e3eb9a
Created a tab_icon_selector file to dynamicaly color the Pie chart icon in the HomeFragment tabs in the activated/deactivated state in both day and night mode to match the same colors as the other tab's text.
2019-01-21 21:54:18 -06:00
Severiano Jaramillo
e3f8e1d923
Remove '#bitsy' Memo from QR codes generated in ReceiveTransactionFragment.
2019-01-21 21:54:03 -06:00
Severiano Jaramillo
ef5834264b
Force the back button in the Toolbar in different screens to use the same white color as the Toolbar title text.
2019-01-21 12:05:40 -06:00
Severiano Jaramillo
00b8919566
Created a blue lightning bolt icon and use it in the Homescreen to show it to the left of the account name in case it is LTM.
2019-01-21 11:13:54 -06:00
Severiano Jaramillo
848768a038
Change fiat placeholder in the Transactions items.
2019-01-16 16:47:29 -06:00
Severiano Jaramillo
0da52c2ee8
Prepare the strings.xml file for translation by putting every string resource into a single line. Create Spanish translation human verified.
2019-01-16 16:40:49 -06:00
Severiano Jaramillo
cfc8b13dbb
Avoid adding an operation to send a fee to agorise when the amount is zero, this can happen when the amount that is going to be sent is very small such that 0.01% of that is less than the minimum amount available of that asset.
2019-01-16 15:31:54 -06:00
Severiano Jaramillo
ea80a3e7e3
Improve SendTransactionFragment's QR code read feature to account for cases when the QR code is for a smartcoin (starts with bit).
2019-01-16 13:48:35 -06:00
Severiano Jaramillo
9a8af1b918
Make ReceiveTransactionFragment extend from ConnectedFragment to reduce boilerplate and repeated code. Change the method used to obtain the Assets list from the db in ReceiveTransactionFragment, it now retrieved only those Assets for which the user has a Balance > 0. Improve ReceiveTransactionFragment's function that obtains the suggestions for the AutoCompleteTextView when the user wants to receive a different Asset, to avoid crashes if the information received does not have the expected format.
2019-01-16 11:34:01 -06:00
Severiano Jaramillo
ec57bea829
Created an extension function that can be used to hide the keyboard from any view and used that extension function to add the behavior of hiding the keyboard when a EditText loses focus which was included in a custom view MyTextInputEditText. Then used that class in all EditText fields in SendTransactionFragment, ReceiveTransactionFragment, ImportBrainkeyFragment and CreateAccountFragment to introduce the described behavior.
2019-01-16 10:30:11 -06:00
Severiano Jaramillo
12d17c54d3
Improve HomeFragment layout by increasing elevation (and shadows) of buttons, changing the line that connect the camera and send buttons to red color and also improving the Send and Receive text by using caps and a small spacing from the buttons above.
2019-01-16 09:47:17 -06:00
Severiano Jaramillo
7f10c931a4
Reduce the amount of assets that should be sent to agorise as a network fee when sending transactions using Bitsy.
2019-01-16 09:18:17 -06:00
Severiano Jaramillo
7165df42cb
Fix crash when in ImportBrainkeyFragment when the user tries to import an account with an incorrect BrainKey. Also, removed trailing spaces from the written BrainKey before proceeding to verify it.
2019-01-16 09:02:18 -06:00
Severiano Jaramillo
887d9a249f
Improve FilterOptionsDialog layout by moving the 'IgnoreNetworkFees' section above the 'Fiat Amount' section.
2019-01-15 21:43:24 -06:00
Severiano Jaramillo
3014e12a5a
Add the functionality to filter all transactions sent to the agorise account, which are presumably transaction network fees.
2019-01-15 21:28:24 -06:00
Severiano Jaramillo
027f690480
Add a switch to the bottom of the Transactions' FilterOptionsDialog which will be used to hide/show the network fees sent to Agorise. Also added the communication back and forth from the Transactions to the Dialog to keep updated the user selection of the switch.
2019-01-15 21:23:54 -06:00
Severiano Jaramillo
6dc5e54ad1
Force amount validation in SendTransactionFragment when an asset is selected in Assets spinner. The amount validation was done only after the user changed the amount but it has to also be validated when the user selects a different Asset, because it is probable to have less of that asset than what is already typed in the amount field.
2019-01-15 17:13:02 -06:00
Severiano Jaramillo
bda2299cb5
Create a list of IDs of BTS and all the SmartCoins in the Constants class, so that we can easily decide whether sending the agorise fee or not. If the Asset ID is contained into the list then the fee is sent.
2019-01-15 17:06:00 -06:00
Severiano Jaramillo
529d5db41d
Improve SendTransactionFragment by adding description comments to all non-trivial functions and variables, and avoid crashes in many parts by always adding null-safe operations.
2019-01-15 14:34:42 -06:00
Severiano Jaramillo
086660409f
Add the code to send the fee to Agorise in the case the transfer Asset is BTS.
...
This is the easiest case because we only need to calculate the fee as a percentage of the transfer and add it to the Transaction.
2019-01-15 13:46:27 -06:00
Severiano Jaramillo
cb07673c8d
Force the app to go back to the home screen once a transaction is successfuly sent.
2019-01-15 11:22:28 -06:00
Severiano Jaramillo
33f45a6775
Activate the memo functionality in SendTransactionFragment.
...
The memo encryption was not working properly for two reasons, there is a number called nonce used to encrypt the memo and it has to be positive. The app was sometimes using a negative nonce which caused encryption problems. The second problem was that the nonce was being serialized as an hexadecimal but the node was expecting a decimal so it was not able to convert back the nonce from string to decimal.
2019-01-15 11:08:15 -06:00
Severiano Jaramillo
561612368a
Make node dialogs in ImportAccountFragment and SettingsFragment to stop asking for the DynamicGlobalProperties (block number, etc.) once they are dismissed.
2019-01-11 13:52:55 -06:00
Severiano Jaramillo
81531cc8b6
Add functionality to ImportBrainkeyFragment's 'View Network Status' to show the nodes dialog. Most of it was copied fom the same dialog already implemented in the Settings screen.
2019-01-11 13:46:50 -06:00
Severiano Jaramillo
dd619be8c8
Update ImportBrainkeyFragment layout to show the 'View Network Status' text and newtwork status icon at the bottom.
2019-01-11 13:27:34 -06:00
Severiano Jaramillo
464f8da353
Change the elevation of enabled buttons to 3dp.
2019-01-10 16:10:55 -06:00
Severiano Jaramillo
67ad71ff88
Change brainkey error description and create and import button labels in ImportBrainkeyFragment. Also added an 'Or' string between the import and create buttons.
2019-01-10 15:57:53 -06:00
Severiano Jaramillo
8a02ab43df
Remove focus from the first EditText by default in ImportBrainkeyFragment.
2019-01-10 15:32:30 -06:00
Severiano Jaramillo
e3f227d5bd
Add type checks to NetworkService responses in ImportBrainkeyFragment to avoid crashes.
2019-01-10 15:07:27 -06:00
Severiano Jaramillo
38039fc76b
Add the selected node information to the Crashlytics reports.
2019-01-10 14:23:10 -06:00
Severiano Jaramillo
7c1a3577e9
Extract string resources from TransactionsFragment's FilterOptionsDialog, so they can be easily translated.
2019-01-10 12:44:56 -06:00
Severiano Jaramillo
bd0b74eeaf
In the FilterOptionsDialog, add the option to filter by Asset, where the user can select to see transactions involving all assets or only a specific one that can be selected in a Spinner. This selection is communicated back to the TransactionsFragment to respond and show the transactions matching with the user selected criteria.
2019-01-10 12:23:17 -06:00
Severiano Jaramillo
f62286747c
Create DateFragmentPicker, which shows a dialog with a calendar where the user can select a date. This picker is used in TransactiondFragment's filter dialog to filter transactions by date. The picker looks nice in both day and night mode.
2019-01-09 20:39:42 -06:00
Severiano Jaramillo
5470ca1523
Chaged BrainKey modal in the Settings, it does not copu the BrainKey to the clipboard anymore, it just shows it so that the user writes it down.
2019-01-09 18:16:15 -06:00
Severiano Jaramillo
5075c59b7b
Remove border from FloatingActionButtons in HomeFragment and SendTransactionFragment.
...
This was the blue border that appeared around the rounded buttons in the mentioned screens.
2019-01-09 18:04:52 -06:00
Severiano Jaramillo
941a558a08
Force the app to start updating the account information just after it is imported/created.
...
This wasn't happening automatically the first time the account was imported, the the user had to close and reopen the app for the transfers update to take place. The problem was that the account information was only fetched from the shared preferences when the app started, thus a method to force the fetch was introduced just after the user imports/creates his user account.
2019-01-09 17:19:49 -06:00
Severiano Jaramillo
e16d651a63
Fix crash related to trying to create a Dialog from a thread other than the UI thread. Also, add the password toggle buttons to the PIN fields in CreateAccountFragment.
2019-01-08 20:53:57 -06:00
Severiano Jaramillo
8894c48e5c
Fix problem with Navigation from the ImportBrainkeyFragment and CreateAccountFragment when an account is imported/created and the user has to be taken back to the MainFragment.
2019-01-08 20:18:42 -06:00
Severiano Jaramillo
78909498c0
Added method to create Account using the Agorise's faucet, and also making use of Retrofit's suggested ServiceGenerator.
2019-01-08 16:35:14 -06:00
Severiano Jaramillo
860947b351
Create BaseAccountFragment, which is an abstract class that encapsulates the code needed in both ImportBrainkeyFragment and CreateAccountFragment to store into the information of the created/imported user account into the database.
2019-01-08 13:27:18 -06:00
Severiano Jaramillo
64d30f42ab
Create method to validate if the suggested user account given by the user is an available account name or not and display a message to the user with the result, in CreateAccountFragment.
2019-01-07 20:35:29 -06:00
Severiano Jaramillo
e530dc531e
Add account name validation to CreateAccountFragment using Kotlin extension functions and RxJava debounce operator.
2019-01-05 20:47:04 -06:00
Severiano Jaramillo
9236e374bc
Add PIN and Pin Confirmation validations to CreateAccountFragment using RxBindings with debounce, also add functionality to the 'CANCEL' button.
2019-01-05 20:02:07 -06:00
Severiano Jaramillo
14a4f79cb2
Added the BrainKey Bitshares dictionary as a text file in the app assets and make use of it to automatically generate BrainKeys in CreateAccountActivity when the user is trying to create a new account.
2019-01-05 16:30:57 -06:00
Severiano Jaramillo
991967cd7d
Created CreateAccountFragment with its layout and the methods to show it when the user clicks the 'Create' button in the ImportBrainkeyFragment using Navigation AAC.
2019-01-05 15:23:42 -06:00
Severiano Jaramillo
0deecca8ed
Remove no longer needed code from ConnectedActivity and MainActivity and add a description to each of the Activities to describe their purpose.
2019-01-04 17:01:06 -06:00
Severiano Jaramillo
2dd843fe91
Removed ImportBrainkeyActivity and created ImportBrainkeyFragment instead, with this the app is now using a single activity and all the content is divided in fragments. All the navigation inside the app is now controlled by the AAC Navigation component.
2019-01-04 16:50:56 -06:00
Severiano Jaramillo
58e1e0a575
Removed LicenseActivity and created LicenseFragment instead, to comply with the proposed app architecture using the AAC Navigation component where there is only one Activity and all the views are represented by Fragments.
2019-01-04 15:53:29 -06:00
Severiano Jaramillo
4e64b10014
Created ConnectedFragment, that encapsulates the repeated code which encapsulates the repeated code Fragmets that connect to the NetworkService use. Simplified SendTransactionFragment by extending the newly created ConnectedFragment.
2019-01-04 13:13:55 -06:00
Severiano Jaramillo
10014263d7
Improve query to obtain user balances to avoid showing assets with a balance equal to zero.
2019-01-03 17:11:58 -06:00
Severiano Jaramillo
2db74516bb
Create colorToolbarDark and colorStatusBar to color the toolbar and the status bar in the night mode theme and add the necessary methods to use them in the app accordingly.
2019-01-03 17:06:37 -06:00
Severiano Jaramillo
5cde97f1e7
Speed up the slide in/slide out animations used in fragment transitions.
2019-01-03 16:40:14 -06:00
Severiano Jaramillo
39ad3cca01
Changed the colorSend and colorReceive colors and added their respective darker versions. Changed the toolbar and status bar color in both the Send and Receive Transaction Fragment to colorSend and colorReceive with their darker variants accordingly.
2019-01-03 16:36:20 -06:00
Severiano Jaramillo
f32bfc567b
Created info dialog in SendTransactionFragment using the MaterialDialog library, which shows an explanation of the fields on that screen.
2019-01-03 12:45:28 -06:00
Severiano Jaramillo
bee79976b5
Create SendTransactionFragment menu, which consists of only an info icon.
2019-01-03 11:09:19 -06:00
Severiano Jaramillo
2643b0af4d
When the send button is disabled in SendTransactionFragment the background view is also 'disabled' changing its color to a lighter gray.
2019-01-03 10:47:58 -06:00
Severiano Jaramillo
f0b959b496
Fix error in SendTransactionFragment, when the user typed an amount larger than its current balance an error would appear, but if after that the user erased everything the error would still be there. Also solved a similar error with the To account field.
2019-01-03 10:27:17 -06:00
Severiano Jaramillo
c068efa84c
Create a toast extension function to reduce the boilerplate code required to create Toasts. Extracted string resources fron SendTransactionFragment and used the new toast extension funcion.
2019-01-03 09:45:47 -06:00
Severiano Jaramillo
8eed991e0e
Created Kotlin etension functions to add a enabled/disabled functionality to FloatingActionButtons. This is used in the SendTransactionFragment to show the Send button as disabled when the information to send a transaction is not all correct.
2019-01-03 09:11:58 -06:00
Severiano Jaramillo
1b4de3fb1e
Make camera and send buttons red in SendTransactionFragment.
2019-01-03 08:26:21 -06:00
Severiano Jaramillo
d4dbdc4aeb
Change 'Please Pay' to 'Please Send' string in ReceiveTransactionFragment. Also, in the same Fragment, added an 'Any Amount' string when the user has not explicitly specified an amount to receive.
2019-01-02 17:03:20 -06:00
Severiano Jaramillo
71f2a8b25b
Remove the eula from the strings and placed it instead as a file into the Assets folder.
...
We found that using the loadUrl WebView's method instead of loadData renders the html page better, for that reason the eula is now saved as a fule in the assets folder and loaded using the WebView's loadUrl method.
2019-01-02 14:11:44 -06:00
Severiano Jaramillo
573ae1d1dd
Update Gradle plugin version, navigation architecture components library version and Crsshlytics library version.
2019-01-02 09:59:30 -06:00
Severiano Jaramillo
242fe7656a
Enable the transaction direction filter, the user can apply the filter and see all transactions or just the sent or received.
2019-01-02 09:27:25 -06:00
Severiano Jaramillo
ddf7f16c2b
Create FilterOptionsDialog, which opens when the user clicks the filter icon in the Transactions toolbar. This dialog communicates back a forth with the TransactionsFragment to update the selected filter options via the OnFilterOptionsSelectedListener interface.
2018-12-26 11:59:02 -06:00
Severiano Jaramillo
e4391dad73
Fix crash related to using the wrong RxBinding method with the Transactions SearchView, make some improvements and remove the old code used with the SearchView before using the SearchView's RxBinding method.
2018-12-24 11:15:25 -06:00
Severiano Jaramillo
a39daaf155
Update RxBinding library version to 3.0.0-alpha2 and its usages.
...
The new version makes use of Kotlin extension functions which are elegant and effective. Also, make use of RxBinding in Transactions Toolbar SearchView, to add a nice debounce effect to wait 500ms after the user stops writing the search query, and actually call the filter method to avoid multiple calls while the user is still typing.
2018-12-24 10:55:54 -06:00
Severiano Jaramillo
2f720bb114
Add functionality to the Search funtion in the Transactions' toolbar, which fires events to filter the transactions list while the user types a search query.
2018-12-24 08:44:07 -06:00
Severiano Jaramillo
4391ff5ad4
Simplify BounceTouchListener and TransactionsFragment, to produce the same bouncy effect when overscrolling the transactions list, but with much less code.
2018-12-23 21:51:46 -06:00
Severiano Jaramillo
6ef5d84394
Show memo if available in the Transactions list.
2018-12-23 20:12:04 -06:00
Severiano Jaramillo
9fe152ef7c
Make the task to check if there are new transactions that involve the current user account a recurrent task.
2018-12-23 19:15:03 -06:00
Severiano Jaramillo
4b16a90870
Fix nodes dialog's node text style.
2018-12-23 15:34:45 -06:00
Severiano Jaramillo
f8e5a84da8
Remove Settings status footer and added instead a line below General's Night mode, View Network Status whith an icon that shows the current network status. When clicked it opens the Nodes dialog. Changed Nodes dialog title to show the current app version and added the block number as a single line below it.
2018-12-23 15:10:44 -06:00
Severiano Jaramillo
962afe78c6
Create method to always observe the database for Missing transaction times, which automatically launches a call to the NetworkService to obtain such value from the corresponding transfer's blockNumber. This value is updated in the Database and shown in the corresponding transaction item in the Transactions screen automatically.
2018-12-23 14:11:26 -06:00
Severiano Jaramillo
7fb1d4ff86
Add date field to TransferDetails model and correctly format and display it in the Transactions list.
2018-12-21 23:33:58 -06:00
Severiano Jaramillo
a96f3d0b77
Added ppGren to the colors resource, which is the PalmPay green and used that color in the connected status icon and the color of the latencies < 400ms.
2018-12-21 21:55:17 -06:00
Severiano Jaramillo
c4fd79f22c
Create FullNodesAdapter to display a live updated list of the nodes the app is watching and also the one it is connected to. This list is displayed inside a dialog that pops when the user clicks the status icon in the Settings Footer. The dialog also shows the live updated BitShares Block Number
2018-12-21 20:55:36 -06:00
Severiano Jaramillo
504441afa2
Connect SettingsFragment to graphenej's NetworkService and use the onServiceConnected and onServiceDisconnected to change the connection status icon in the footer accordingly.
2018-12-21 20:14:31 -06:00
Severiano Jaramillo
ae8a2f17e3
Add a footer to the SettingsFragment, which contains the app logo, the app name, version name and the Connection status icon.
2018-12-21 18:40:35 -06:00
Severiano Jaramillo
80b5f9f571
Avoid sharing the QR code image if the fields are not filled correctly
2018-12-21 18:24:39 -06:00
Severiano Jaramillo
5240e88e1f
- Add a FileProvider to the Manifest, to enable the app to share images with other applications.
...
- Modify the method that creates a temp image of the screenshot to use the FileProvider described above.
- Improve ReceiveTransactionFragment UI so that the QR screenshot looks nicely spaced.
2018-12-21 18:12:34 -06:00
Severiano Jaramillo
9647e700ed
Change the merchants and ambs webservice url.
2018-12-21 13:05:35 -06:00
Severiano Jaramillo
62fdc6a3e4
Add the share menu icon to the ReceiveTransactionFragment toolbar, verify for the storage permission required to store a temp image of the QR code when the sare icon is tapped and create a temp image of the QR code to be used later to send a share intent to the Andriod System so that it shows the user a list of options for him to select his preferred one.
2018-12-20 20:28:31 -06:00
Severiano Jaramillo
e3bea9f475
Center text vertically below QR code and fix Please Pay string.
2018-12-20 18:06:11 -06:00
Severiano Jaramillo
4beec4e66a
Add the BitShares icon to the Main screen toolbar and update the toolbar background so that it automatically uses the primaryColor of the selected theme.
2018-12-20 16:40:48 -06:00
Severiano Jaramillo
fddfe1ab8b
Set the 'Automatically close BiTSy after 3 minutes of inactivity' feature on by default.
2018-12-20 14:17:50 -06:00
Severiano Jaramillo
96fc421a99
Change the font used in the entire appto PFBeauSansPro.
2018-12-20 14:02:39 -06:00
Severiano Jaramillo
397515fea9
Improve AutoSuggestAssetAdapter to use Bitsy's Asset model, which has a 'toString' method to automatically show the symbol of the AssetSelected in the AutoCompleteTextView. Also Add a variable to avoid clearing the QR code just after the user selects an Asset from the AutoComplete suggestions.
2018-12-20 13:57:47 -06:00
Severiano Jaramillo
7f462bec63
- Add a responseMap (HashMap) to ConnectedActivity so that it only reacts to calls it has made.
...
- Create AutoSuggestAssetAdapter which is used in the ReceiveTransactionFragment's AutoCompleteTextView to show suggestions backed by the response from queries to the BitShares nodes, according to what the user has already typed in the text field.
2018-12-20 13:34:11 -06:00
Severiano Jaramillo
8fd7c28256
In ReceiveTransactionFragment, add an 'Other...' option at the end of the assets spinner and when the user selects it an AutoCompleteTextView appears below where the user can select other asset, the AutoCompleteTextView suggestions will be backed by BitShares node queries to show matching Assets.
2018-12-20 09:59:10 -06:00
Severiano Jaramillo
e8ec0e6f89
Create AssetsAdapter and use it to populate the asset spinner in the ReceiveTransactionFragment, so the user the asset he wants to receive.
2018-12-20 08:48:48 -06:00
Severiano Jaramillo
49f920877a
Use the NetworkService's GetAssets call to obtain the information of missing Assets and store it into the database, this enables us to remove the DatabaseLoad Activity and new assets information is downloaded as needed.
2018-12-19 20:25:58 -06:00
Severiano Jaramillo
a3c4c9a816
Update Bitsy's app icon.
2018-12-19 19:34:46 -06:00
Severiano Jaramillo
26e1e427c9
Add Transactions toolbar menu items with their respective icons.
2018-12-19 10:08:24 -06:00
Severiano Jaramillo
cee1753184
Create BounceTouchListener class in the project and use it to add a Bouncy effect to the Transactions items when the user tries to overscroll.
2018-12-19 09:43:09 -06:00
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
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
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
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
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