Commit Graph

256 Commits (e02ff42a857878c8d1f41956fa31beb4354456f2)

Author SHA1 Message Date
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
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 a2c2c315b9 Add Firebase required libraries and configuration to Bitsy and enable Crashlytics. 2018-12-14 15:23:12 -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 283125b40e Add google maps library. 2018-12-14 11:42:05 -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 20e17108ec Enabled proguard for both debug and release versions and fixed the gradle warnings related to proguard unsatisfied rules in a correct way without ignoring all possible warnings. 2018-12-14 09:54:02 -06:00