Severiano Jaramillo
b1a1abf231
Added a responseMap to the SettingsFragment to differentiate different requests made to the Node through graphenej's NetworkService. Added a method to obtain the encrypted private keys from the db through the SettingsFragmentViewModel, to create and sign the Upgrade to LTM transaction.
2019-02-22 17:01:32 -06:00
Severiano Jaramillo
99e378d123
Created SettingsFragmentViewModel to serve as an intermediary between the UserAccountRepository (db) and the SettingsFragment. Added the Accounts section to the Settings UI with a subsection to let the user upgrade its account to LTM. Added a listener that when the 'Upgrade to LTM' button is tapped, shows a dialog explaining what is needed to be LTM and its cost.
2019-02-21 15:11:45 -06:00
Severiano Jaramillo
eb0ae56a26
Modified SettingsFragment to extend from ConnectedFragment, which in turns handles all the communication with the Node trough graphenej's NetworkService.
2019-02-21 12:25:56 -06:00
Severiano Jaramillo
3c0c3a5114
Added Crashlytics custom key so that the crash reports include the last visited screen, that could help track crashes where the crash report alone does not include enough information.
2019-02-21 11:16:04 -06:00
Severiano Jaramillo
29c85d3d3c
Changed the title and subtitle of both PINSecurityLockDialog and PatternSecurityLockDialog
2019-02-21 10:53:42 -06:00
Severiano Jaramillo
d20183e36f
Forced to focus the EditText field and show the keyboard in the PINSecurityLockDialog as soon as it opens.
2019-02-21 10:27:15 -06:00
Severiano Jaramillo
2a869d7fe8
In the dialog that appears to choose a security lock, changed its title and modified the list to use a single choice list with radio buttons and pre-selecting the actual security lock option.
2019-02-21 10:09:10 -06:00
Severiano Jaramillo
2b7cd1c8c1
Updated the Material Dialogs library.
2019-02-21 09:36:50 -06:00
Severiano Jaramillo
364f6374ce
Updated Google maps library version.
2019-02-21 09:30:05 -06:00
Severiano Jaramillo
3553fc623d
Bumping version code to 5 and version name to 0.11.0-beta
2019-02-20 17:57:47 -06:00
Severiano Jaramillo
202466a71f
Fix PatternView too big on small screens in PatternSecurityLockDialog.
2019-02-20 17:18:50 -06:00
Severiano Jaramillo
4ad841d525
Correctly handle error gracefully in the RxBus that receives information from the Node through graphenej, to avoid a crash.
2019-02-20 17:12:41 -06:00
Severiano Jaramillo
8d257876a0
Fix issue in both PIN and Pattern SecurityLockDialogs, that the error message was not appearing correctly when the user wrongly entered the PIN/Pattern and also the error message was not being cleared once the cooldown timer expired.
2019-02-20 16:53:34 -06:00
Severiano Jaramillo
9e714d8f84
Wrap the contents of the CreateAccountFragment into a ScrollView, so that all its contents are available even for very small devices.
2019-02-20 14:10:51 -06:00
Severiano Jaramillo
5570229cef
Created the methods to show the messages and errors in the correct format and color in the PatternSecurityLockDialog.
2019-02-20 12:06:19 -06:00
Severiano Jaramillo
19ede70c69
Added the option to lock the pattern security lock option when the user has entered it wrong too many times. Once the cooldown timer ends the pattern is re-enabled so the user can try again.
2019-02-20 11:32:15 -06:00
Severiano Jaramillo
2ea32af377
Created the methods required to block the security lock PIN option when the user has entered incorrectly the current PIN more times than the max allowed. When that happens the text field to type the PIN gets disabled and a propper message is shown, explaining the issue and also showing the time that needs to pass until he can try again.
2019-02-20 11:03:39 -06:00
Severiano Jaramillo
97d9e8bcfb
Make sure to save the hash of the user selected PIN plus the salt used to generate it are both saved into the shared preferences, when creating or importing an account.
2019-02-18 14:13:02 -06:00
Severiano Jaramillo
fac7bb031e
Changed the method used to store the user selected PIN/Pattern into the shared preferences, the app now uses a hashed version of the PIN/Pattern with added salt at the beginning instead of an encrypted one. The salt is being saved into the shared preferences so that we can confirm the current PIN/Pattern when the user requires to do so.
2019-02-18 14:06:48 -06:00
Severiano Jaramillo
b0811ab2c8
Added a step to first verify the user's Security Lock before trying to send a transaction in SendTransactionFragment.
2019-02-16 17:48:50 -06:00
Severiano Jaramillo
a10a8cd836
Added the verification of the Pattern security lock option, before changing the current Security Lock or viewing the BrainKey in the Settings, when Pattern is the current security lock.
2019-02-16 16:58:36 -06:00
Severiano Jaramillo
fb329658eb
Added the logic to create a new Security Lock pattern and save it encrypted in the preferences, with all used strings translated to Spanish.
2019-02-16 16:41:02 -06:00
Severiano Jaramillo
e44f4ea6e2
Created PatternSecurityLockDialog, which will be in charge of creating and confirming a new Pattern of validating the existing one, with a logic similar to PINSecurityLockDialog's. Created basic PatternSecurityLockDialog with a UI that resembles Android's.
2019-02-14 19:57:42 -06:00
Severiano Jaramillo
e8e1259314
Added the options to change the Security Lock option between PIN and None, and force the UI to show the correct one when it is changed.
2019-02-14 15:17:29 -06:00
Severiano Jaramillo
b4965d8a01
Create the methods to ask for the current Security Lock before showing the BrainKey.
2019-02-14 13:41:27 -06:00
Severiano Jaramillo
f3c85e8875
Added the functionality to PINSecurityLockDialog to check if the entered PIN corresponds with the current PIN and if that is the case let the calling fragmet about it, so that the fragment can respond accordingly
2019-02-14 12:53:35 -06:00
Severiano Jaramillo
123482e996
Added the PatternLockView library to the project, which will let us add the pattern security option. Modified the Settings screen so that when the user tries to change its Security Lock option and the current one is PIN, show the PIN dialog first. Created the PINSecurityLockDialog which will host the logic of creating and confirming the new PIN, and verifying the current one. Finally, created BaseSecurityLockDialog which will host the shared logic between the PIN and Pattern Security Lock dialogs.
2019-02-14 09:06:22 -06:00
Severiano Jaramillo
084a90d515
Add a Security section to the Settings screen, with a Security Lock option where the user can see the currently selected Security Lock option. When it is tapped a dialog appears where the user can select his desired Security Lock (PIN/Pattern/None).
2019-02-13 13:37:15 -06:00
Severiano Jaramillo
19c50a0b6e
Update Navigation and Crashlytics library versions.
2019-02-12 15:33:09 -06:00
Severiano Jaramillo
d249f165d9
Change equivalent value text to just value in eReceipts.
2019-02-12 09:34:15 -06:00
Severiano Jaramillo
26abfffb1d
Disable proguard's minify until it can be properly configured
2019-02-11 20:41:29 -06:00
Severiano Jaramillo
4ab5ecbe6e
Bumping version code to 4 and version name to 0.10.0-beta
2019-02-11 20:40:23 -06:00
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
5465dcaa44
Enable proguard's minify and fix warnings to be able to create the apks.
2019-02-11 15:21:24 -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
9594726052
Bumping version code to 3 and version name to 0.9.1-beta
2019-01-30 12:19:39 -06: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
6bc3b77b79
Bumping version code to 2 and version name to 0.9.0-beta
2019-01-28 21:53:18 -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
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
6d4b229e7e
Disable proguard's minify meanwhile a solution is found to avoid wrong and different behavior in the app when minify is enabled.
2019-01-15 20:58:18 -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
98cfbbf90a
Change versionName to 0.8.0-beta.
2019-01-14 15:29:58 -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