Commit graph

356 commits

Author SHA1 Message Date
Severiano Jaramillo
5d8dbd0664 Correctly handle the scenario when the user scans a QR that requests an asset that he does not own, when that happens just parse the To and Memo fields and show a snackbar with a proper message, do not fill the amount field. 2019-02-11 20:38:46 -06:00
Severiano Jaramillo
dd8a52451a Make sure to use the asset precision to correctly format the asset amount when reading QRs in SendTransactionActivity. 2019-02-11 20:10:21 -06:00
Severiano Jaramillo
1e67fdf065 Improve the camera preview in SendTransactionFragment, so that both the preview and the scan zone are squared. 2019-02-11 18:53:18 -06:00
Severiano Jaramillo
653bdbec69 Fix a proguard rule and enable proguard on debug builds too. 2019-02-11 16:10:14 -06:00
Severiano Jaramillo
21c6b776af Make use of Kotlin's null safe operations to avoid NullPointerException in various places in the app. Use of the ContextCompat and ConfigurationCompat classes in different screens to safely access app configuration and resources in a backwards compatible way. 2019-02-11 12:16:56 -06:00
Severiano Jaramillo
42e0fc74b0 Changed the comparator used to sort the transactions in TransactionsActivity to compare the Long representation of the transfer ID instead of the String representation.
Even though transfer IDs are incremental in the form 1.11.x where x is the number that increments for each transfer, the field is a string and that causes errors when doing the comparisons because the string 9 is 'greater' than 123456789 so instead of doing the string comparison we had to convert the ID to a long number and only then do the comparison to make sure the transactions are correctly ordered.
2019-02-07 16:42:57 -06:00
Severiano Jaramillo
e5677436b1 Add the equivalent value to both PDF and CSV export options. 2019-02-07 13:40:26 -06:00
Severiano Jaramillo
d68b34f973 Add the functionality in TransactionsFragment to filter transactions by Equivalent Value range, taking into account the currency precision. 2019-02-07 13:20:24 -06:00
Severiano Jaramillo
abfbed91f5 Extract string resources from FilterOptionsDialog and add their Spanish translation. 2019-02-07 13:07:04 -06:00
Severiano Jaramillo
76fea6cfc1 Added the filter by Equivalent Value range option to the TransactionsFragment' FilterOptioinsDialog, which communicates the user selection back and forth. Also, renamed all string instances of Fiat Equivalent to Equivalent Value in order to use the same convention in all the screens 2019-02-07 12:52:37 -06:00
Severiano Jaramillo
d36de0b30a Fix db migration for the transfers table and for transfers of other asset than BTS, so that its propper bts_value can be fetched later. 2019-02-07 10:26:09 -06:00
Severiano Jaramillo
e4dce3cad4 Merge branch 'develop' of github.com:Agorise/bitsy-wallet into develop 2019-02-06 21:17:25 -06:00
Nelson R. Perez
94b5ae7780 - Commented some tests in the TransfersTests that no longer work due to changes in the API 2019-02-06 17:38:30 -05:00
Nelson R. Perez
cf8771ac5e - Introduced a small modification to the db migration to version 3 that will take care of filling up the 'bts_value' of pre-existing entries in the 'transfer' table made with BTS
- Extended the unit test for the 2-to-3 database migration to take in consideration said change
2019-02-06 17:38:01 -05:00
Severiano Jaramillo
032cb63218 Make both Transaction items and eReceipts to show the currency code instead of the currency symbol with the equivalent value. 2019-02-06 14:22:50 -06:00
Severiano Jaramillo
0b287ca714 Add fiatAmount and fiatSymbol members to the TransferDetail object and modify the query to fetch TransferDetails from the database to obtain those two objects from the EquivalentValues table if they have been already obtained 2019-02-06 12:42:18 -06:00
Severiano Jaramillo
577e3ae01f Merge branch 'feat_equiv_values' into develop 2019-02-05 21:12:03 -06:00
Severiano Jaramillo
94f4eaca0f Add the share icon in the eReceipt toolbar, which when tapped creates a screenshot of the eReceipt and sends an intent to the system so it shows all the possible options for the user to share the image. 2019-02-05 20:40:29 -06:00
Severiano Jaramillo
259294b6e3 Fix eReceipt title color in dark mode. 2019-02-05 17:19:14 -06:00
Severiano Jaramillo
032c5bcb5f Add functionality to eReceipts to fetch the Transaction information from the database and correctly format and display it on the screen. 2019-02-05 17:17:00 -06:00
Severiano Jaramillo
49b8ce1cb5 Create eReceipts dynamic layout. 2019-02-05 16:36:55 -06:00
Severiano Jaramillo
78dea00ee6 Update Navigation AAC Safe Args library version. Make use of the new Safe Args to pass the Transaction ID fromm the TransactionsActivity to the eReceipt. Update the use of Safe Args to the new way of passing data between HomeFragment and SendTransactionFragment, to decide whether or not to activate the Camera. 2019-02-05 15:14:10 -06:00
Severiano Jaramillo
d8f1ad7216 Create basic eReceipt screen, which is opened when a transaction is touched in the TransactionsFragment using the Navigation component. 2019-02-05 14:18:10 -06:00
Severiano Jaramillo
d4a8da0730 Update navigation, crashlytics and google maps libraries. 2019-02-05 12:36:04 -06:00
Severiano Jaramillo
caf909e453 Added a task to generate in the background the CSV representation of the filtered transactions with the same columns as the PDF export option. 2019-02-05 11:46:27 -06:00
Severiano Jaramillo
9a38b938a6 Extracted transactions PDF table header names as string resources and provided the Spanish translation. 2019-02-05 11:01:24 -06:00
Severiano Jaramillo
d7c728db2f Added the libraries to create PDF and CSV files directly from the app. Verify that the BiTSy folder exists in the external storage and if it doesn't then it creates it. Generate the filtered transactions' PDF with 7 columns: From, To, Memo, Date, Time, Asset Amount, and Fiat Equivalent. 2019-02-05 10:50:40 -06:00
Nelson R. Perez
c285bf6da7 Completed the comments to the onCleared function 2019-02-04 21:02:41 -05:00
Nelson R. Perez
35561059ce This commit finishes with the second part of the equivalent values calculation. In this part of the procedure a query is performed
looking for entries in the 'transactions' table that are missing a corresponding entry in the 'equivalent_values' table.

Whenere a transaction is detected to not have an equivalent value for a given fiat, a network request is made to the Coingecko's API in order
to obtain the BTS market value at the day of that transaction. An equivalent value is thus calculated using the 'bts_value' of the transaction.
2019-02-04 21:00:57 -05:00
Nelson R. Perez
262a0d58ad - Automatically setting the bts_value column for BTS transfers. 2019-02-03 18:13:00 -05:00
Nelson R. Perez
85846b6c75 - A LiveData wrapped query looking for entries of the 'transfer' table that lack a BTS value now automatically trigger a GetMarketHistory network call
- The network response is parsed and a BTS equivalent value is stored in the database
2019-02-03 15:08:32 -05:00
Severiano Jaramillo
b0e909072f Add a check to verify that the storage permission is already granted and if not then ask for it, before showing the export options dialog in the TransactionsFragment. 2019-02-01 16:29:21 -06:00
Severiano Jaramillo
df5f8c46f7 Create Export filtered transactions dialog in TransactionsFragment, which opens when the user clicks on the Toolbar's export button, with the corresponding Spanish translation of the new strings. 2019-02-01 15:57:56 -06:00
Nelson R. Perez
771aed9429 Linking the getTransfersWithMissingValueIn method to the repository, viewmodel and activity 2019-01-31 22:26:41 -05:00
Nelson R. Perez
f197e44262 Introducing the TransfersDao#getTransfersWithMissingValueIn(symbol: String) method, used to obtain only the transfers that lack a specific equivalent value entry, and related tests 2019-01-31 22:26:41 -05:00
Nelson R. Perez
a10c527956 Introducing an optional field called bts_value in the Transfer entity 2019-01-31 22:24:21 -05:00
Severiano Jaramillo
032c627725 Order assets alphabetically on Spinners in ReceiveTransactionFragment, SendTransactionFragment and TransactionsFragment's FilterOptionsDialog, always trying to select BTS by default. 2019-01-31 19:37:05 -06:00
Severiano Jaramillo
a8fe1ed2c5 Make the list of assets in the Balances section to be ordered by asset symbol ignoring the letters case. Show the bit prefix for smartcoins in the Transactions list. 2019-01-31 19:16:00 -06:00
Severiano Jaramillo
b628260d77 Make all smartcoins to show the 'bit' prefix in all the screens that show them, but keeping the original asset symbol unmodified to be used in the places where the symbol is required. 2019-01-31 18:52:41 -06:00
Severiano Jaramillo
535796b0be Change the db assets table to include the issuer column, and provide the db migration. 2019-01-31 17:59:14 -06:00
Severiano Jaramillo
5739922bce Merge branch 'develop' of github.com:Agorise/bitsy-wallet into develop 2019-01-31 17:01:18 -06:00
Severiano Jaramillo
785b555baf Completely kill the app after three minutes of innactivity. 2019-01-31 17:01:09 -06:00
Nelson R. Perez
deb8cf4401 Merge branch 'feat_equiv_values' into develop 2019-01-31 17:14:28 -05:00
Severiano Jaramillo
1a064c0a5e Avoid disabling the memo field in SendTransactionActivity if the QR code read's memo does not start with PP. 2019-01-31 16:12:26 -06:00
Severiano Jaramillo
981a14723e In the MerchantsFragment's Map InfoWindows allow line wraps for both name and address and if a section has no data do not show a blank line but just hide it. 2019-01-31 15:42:36 -06:00
Severiano Jaramillo
fbb66864e5 Change the method to zoom the map camera when a suggestion is selected from the Toolbar's SearchView in MerchantsFragment, it now shows a much bigger area. 2019-01-31 15:22:40 -06:00
Severiano Jaramillo
980517c168 Merge branch 'develop' of github.com:Agorise/bitsy-wallet into develop 2019-01-31 15:00:46 -06:00
Severiano Jaramillo
eaa661ba5d Fix crash in TransfersLoader when changing between night and day mode. 2019-01-31 14:59:40 -06:00
Nelson R. Perez
65250c57f5 Added an error handler to the RxBus instance subscription call 2019-01-31 15:27:00 -05:00
Nelson R. Perez
622205069d - Modified equivalent_values table in order to work directly with fiat values
- Introduced version 3 of the database with said modifications
- Introduced basic db migration
2019-01-31 15:12:14 -05:00
Severiano Jaramillo
c7138c5e22 Dynamically obtain the status bar and navigation bar height, to automatically and correctly place the Toolbar and Map UI Controllers in MerchantsFragment. 2019-01-31 13:36:38 -06:00
Severiano Jaramillo
6e5c6b50b8 Enable crashlytics reports on release builds only, avoiding crashes in the debug version when trying to initialize crashlytics. 2019-01-31 12:18:21 -06:00
Nelson R. Perez
d0218727e9 Enabling crashlytics reports on release builds only 2019-01-30 22:38:01 -05:00
Severiano Jaramillo
e328eb149b Make sure the popup menu is dismissed when the toolbar or the search icon are clicked in the MerchantsFragment. 2019-01-30 12:11:57 -06:00
Severiano Jaramillo
1505a5642c In MerchantsFragment, change the popup window background to transparent to match the maps theme. Hide the MyLocation button while the popup is open to avoid it making it hard to see the switches in the popup menu. Color the popup menu's switches to use the same green and yellow color as their corresponding pon markers. Move the popup window down to remove the overlapping with the Toolbar. 2019-01-30 11:15:07 -06:00
Severiano Jaramillo
4a47b5b637 Created AutoScrollingTextView which automatically scrolls its contents horizontally in case the contents do not fit the available width and used it in the Map suggestions' address to display the complete address. Also, improved the Map Toolbar color. 2019-01-30 09:35:06 -06:00
Severiano Jaramillo
28e0e9df52 Make the MerchantsFragment's custom translucent Toolbar works with the up button, and menu items, looks good in day and night modes and make sure everything goes back to normal when returning to the HomeFragment. 2019-01-29 23:46:04 -06:00
Severiano Jaramillo
4d8ed68912 Add translucent navigation and status bar to the MerchantsFragment and adjust the content size so that the map grows below them. 2019-01-29 22:33:32 -06:00
Severiano Jaramillo
ba82d50cc6 Change google map's night mode style. 2019-01-29 16:31:15 -06:00
Severiano Jaramillo
def6fd4ec5 Disable the memo field in SendTransactionFragment when reading a QR code that contains a memo, to avoid problems in case the receipient is expecting that exact memo. 2019-01-29 15:57:07 -06:00
Severiano Jaramillo
3a0527a5bf Delay camera activation in SendTransactionFragment after the transition from the homescreen, to avoid flicker during the transition. 2019-01-29 15:00:30 -06:00
Severiano Jaramillo
fb7c91d6bb Updated Navigation Architecture Component library version and tested it worked fine. Setted a maximum width to the MerchantsFragment's SearchView so that it does not move other items out of the screen. Added the auto hide keyboard feature to ReceiveTransactionFragment's AutoCompleteTextView when it loses focus. 2019-01-29 11:08:32 -06:00
Severiano Jaramillo
5fc5db88c2 Show merchants and tellers suggestions in MerchantsFragment's SearchView if they are enabled in the popup window. 2019-01-29 10:44:08 -06:00
Severiano Jaramillo
732d48796b Update google maps 2019-01-29 10:36:09 -06:00
Severiano Jaramillo
e02ff42a85 Remove google_maps_api from version control. 2019-01-29 10:25:21 -06:00
Severiano Jaramillo
c65cf1b69e When a suggestion is selected in the MerchantsFragment's SerachView, zoom and move the map camera to center the corresponding marker. 2019-01-28 21:50:32 -06:00
Severiano Jaramillo
978e8d6ee2 Improve responsivenes of suggestions in MerchantsFragment's SearchView by reducing the debounce effect and clearing the query results if the query is shorter than 2 chars. 2019-01-28 19:48:11 -06:00
Severiano Jaramillo
9ecac53f62 Create a new model MapObject to combine the returned list of Merchants and Tellers into the suggestions to appear under the MerchantsFragment's SearchView. 2019-01-28 19:21:19 -06:00
Nelson R. Perez
aebff15033 - Added new methods that allow a query of a single term over name, address, phone, telegram an website fields
- Linking this result to the code that handles the UI update (working for merchants only)
2019-01-28 18:34:07 -05:00
Severiano Jaramillo
07e39e9001 Merge branch 'develop' of github.com:Agorise/bitsy-wallet into develop 2019-01-28 16:32:49 -06:00
Severiano Jaramillo
84a524c486 Update MerchantsFragment's SearchView suggestions UI so that they include the merchant or teller icon, to make it easier for users and improve UX. 2019-01-28 16:14:11 -06:00
Severiano Jaramillo
f70e0434ff Added a custom layout to show suggestions to MerchantsFragment's SearchView so that it can show Merchat/Teller name and address. Added a way to figure out if the selected suggestion is a Merchant or a Teller, so we can decide on how to proceed to find its correct marker on the map. 2019-01-28 15:56:50 -06:00
Severiano Jaramillo
db58d601f4 Added a SearchView to MerchantsFragment's Toolbar, with an autocomplete feature that once the user starts writing shows suggestions to the user and listens when he selects one of those suggestions. The suggestions show dummy data for now, but it will query the database to obtain such suggestions. 2019-01-28 15:02:49 -06:00
Severiano Jaramillo
8aab7c03ac Added a dialog to explain what merchants and tellers are, which is opened in from the About option in the Merchants & Tellers's popup menu. 2019-01-26 16:25:59 -06:00
Agorise
7e17a612cd
Update strings.xml
added "y Tellers" to title on toolbar
2019-01-26 10:10:09 -06:00
Severiano Jaramillo
227a52d032 Add the methods to hide/show both merchants and tellers markers depending on the current switches selection in the corresponding popup menu. 2019-01-25 22:33:20 -06:00
Severiano Jaramillo
0c41c76097 Make sure the MerchantsFragment's custom popup dialog is dismissed if it is open and the user clicks anywhere else in the map. 2019-01-25 22:11:05 -06:00
Severiano Jaramillo
52c2cf8211 Added an (i) icon to the About section in the MerchantsFragment's custom popup menu and improved the menu positioning moving it a bit to the top so that it overlaps the toolbar. 2019-01-25 21:51:58 -06:00
Severiano Jaramillo
b9497a2db4 Created a three vertical dots icon and use it in the MerchantsFragment's Toolbar. Then forced that icon to display a custom Popup menu to control which pins will appear on the map (merchants and/or tellers). 2019-01-25 20:03:22 -06:00
Severiano Jaramillo
285a4b6c49 Add custom marker info window to teller markers, to show the complete information as with the merchants. 2019-01-24 19:18:59 -06:00
Severiano Jaramillo
2e07bc512f Improve merchants' marker info window layout. Added proper padding and nice rounded corners with a 1dp border to improve visibility. 2019-01-24 17:02:28 -06:00
Severiano Jaramillo
69c27d3092 Create a custom layout for Merchants marker's info dialogs in the MerchantsFragment map, to be able to show all the required information using a custom adapter. 2019-01-24 15:22:51 -06:00
Severiano Jaramillo
6a8def0cf1 Make some changes to the Merchant's map Cluster logic, so that both Merchants and Tellers clusters work at the same time and automatically as the map camera moves. 2019-01-24 13:37:06 -06:00
Severiano Jaramillo
fbbb4f9f48 Add the map icons for teller and teller cluster. Create TellerRepository to delegate it the responsability to keep the tellers info up to date into the database and serve the info to the MerchantsViewModel and MerchantsFragment immediatly. Create TellerMarketRenderer which is in charge of creating and serving the icons used for the tellers and tellers' clusters in the map. 2019-01-23 19:15:06 -06:00
Severiano Jaramillo
5331d8ebe2 Improve Merchants & Tellers map default location and zoom. 2019-01-23 16:30:34 -06:00
Severiano Jaramillo
38d6d7f7a8 Improve MerchantRepository to perform merchants update only if at least one day has passed since the last update. Also, perform a full delete of merchants before inserting the list received from thewebservice to make sure merchants removed there are also removed from the app. 2019-01-23 16:08:04 -06:00
Severiano Jaramillo
4bb53de009 Create MerchantViewModel and MerchantRepository, the first to hold the merchants data and deliver it to the MerchantsFragment and the second to serve as a single source to fetch the Merchants list. When it gets a request for the merchants it retrieves and serves the list from the database and meanwhile refreshes the list from the WebService. 2019-01-23 15:37:13 -06:00
Severiano Jaramillo
6aad0ca624 Override the method that is called when a cluster is tapped, so that the map updated the camera focus on an area that shows all the items from the selected cluster. 2019-01-23 12:42:19 -06:00
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