Severiano Jaramillo
855f47e793
Generate QR in background thread.
...
- Moved the logic to generate the QR Code image from ReceiveTransactionFragment to its ViewModel (ReceiveTransactionViewModel), and used coroutines to send that process to a background thread to make sure this does not freeze the UI.
2019-08-27 13:47:25 -05:00
Severiano Jaramillo
2a88821710
Create ReceiveTransactionViewModel.
...
- The ReceiveTransactionFragment was using two ViewModels, which is not recommended. According to Google's MVVM guidelines, each activity/fragment should have only one ViewModel and that ViewModel should be coupled to only one activity/fragment. For that reason the methods used in the two ViewModels in ReceiveTransactionFragment were merged into ReceiveTransactionViewModel.
2019-08-27 11:21:26 -05:00
Severiano Jaramillo
e88ef6cb91
Added a Deep Link to the app so that it can tell the Android system that it can consume a link of the form 'www.bitshares.com/{to}/{amount}/{asset}/{memo}' so when a user clicks on a link like that the Android system lets the user choose Bitsy to manage it. This deep link takes to user directly to the SendTransactionFragment, fills all the required fields and validates the information so that if it is valid then the user all that needs to do is click the send button and authorize the operation.
2019-04-11 20:43:58 -05:00
Severiano Jaramillo
25bab08b5e
Updated the Material Components library to 1.1.0-alpha04 and fixed some issues presented because of the migration.
2019-03-19 18:05:08 -06:00
Severiano Jaramillo
8ba40899cf
Avoid NPE in some special cases when trying to create the QR code image in ReceiveTransactionFragment, instead of crashing the app it sends the exception to crashlytics and continues its flow.
2019-03-18 22:34:51 -06:00
Severiano Jaramillo
1e2695db51
Improve error handling of RxJava operations in ReceiveTransactionsFragment.
2019-03-16 22:32:13 -06:00
Severiano Jaramillo
0e11c67dfd
Avoid crash in ReceiveTransactionFragment due to an unhandled error in RxJava operators.
2019-03-16 21:32:27 -06:00
Severiano Jaramillo
5bee51092d
Avoid a crash in ReceiveTransactionFragment when the QR width and/or height is zero, but still send the report to Crashlytics to further investigate the issue in case it repeats again.
2019-03-16 20:53:22 -06:00
Severiano Jaramillo
3f3423873c
Automatically change the color of the navigation bar in the Receive Home and Send screens to green blue and red respectively.
2019-03-13 21:31:51 -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
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
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
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
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
e3f8e1d923
Remove '#bitsy' Memo from QR codes generated in ReceiveTransactionFragment.
2019-01-21 21:54:03 -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
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
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
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
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
80b5f9f571
Avoid sharing the QR code image if the fields are not filled correctly
2018-12-21 18:24:39 -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
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
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
75bd1b2e03
Created basic SendTransactionFragment and SendTransactionFragment with their respective layout files.
2018-12-03 15:37:27 -06:00