Commit Graph

34 Commits (855f47e793a1142d216efe7a3723d882ccaa5e61)

Author SHA1 Message Date
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