Severiano Jaramillo
b9cbcde877
Update russian strings.
...
- Updated russian strings, human translated by scientistnik.
2019-09-09 14:48:52 -05:00
Severiano Jaramillo
8c21e25e0e
Fix german translations.
...
- Added human corrected strings for the german language.
2019-09-09 14:39:10 -05:00
Severiano Jaramillo
7c28c1f2a1
Bumped versionName to 0.13.0-beta and versionCode to 8
2019-09-04 16:02:51 -05:00
Severiano Jaramillo
a1c494266c
Fix string templates.
...
- Fixed the string templates created with Vin's tool. Some of the languages mess up with the templates and need to be fixed by hand.
2019-09-04 16:01:39 -05:00
Severiano Jaramillo
2ea6c7624a
Fix several issues in the automatic translations.
...
- Fixed a bunch of errors in the automatically translated strings related mainly to special characters.
2019-09-04 15:24:44 -05:00
Severiano Jaramillo
56c95ed399
Add string resources to all supported languages.
...
- Used Vins tool to create the string resource translations to all supported languages.
2019-09-04 15:00:58 -05:00
Severiano Jaramillo
bad25f57fc
Scroll up when new transactions are found.
...
- Added a mechanism to automatically scroll to the top in the TransactionsFragment when the difference between the old and new list of transactions is 1, which most probably means that a new transaction was detected.
2019-09-04 12:37:25 -05:00
Severiano Jaramillo
fa8d6cb85f
Add account ID to crashlytics reports.
...
- Added the account ID to the crashlytics reports so that we can verify if a crash can be related to an account specific situation.
2019-09-04 11:49:00 -05:00
Severiano Jaramillo
b10d9e0196
Default request QR code to BTS.
...
- In ReceiveTransactionFragment, default the QR code to BTS in case the user has no balances so that he can easily show that QR to others and ask for funds.
2019-09-03 16:25:08 -05:00
Severiano Jaramillo
48f6304fd3
Fix create account validation.
...
- The create account transaction is paid by our faucet, for that reason we won't let users register premium account names for now. A couple of validations were added to make sure the account the user wants to create is not premium: account length has to be greater than 2 chars, account name has to start with a letter, and restrictions like having at least one dash, number or no vowels.
2019-09-03 14:31:09 -05:00
Severiano Jaramillo
544b79321b
Add the Remove Account functionality.
...
- Created the functionality to completely remove the current user account and its corresponding data from the database and the shared preferences, which will restart the whole application avoiding showing the License again.
2019-09-02 19:22:10 -05:00
Severiano Jaramillo
85f20bf11d
Fix Settings' Remove Account explanationC.
2019-09-02 18:06:34 -05:00
Severiano Jaramillo
e2008e5bcd
Show remove account confirmation.
...
- Created a Remove Account confirmation Dialog that appears when the user taps the REMOVE button. If the user has a PIN/Pattern selected, he must enter it successfully before showing the confirmation Dialog.
2019-09-02 11:45:05 -05:00
Severiano Jaramillo
629c5ff82c
Add a Remove Account section to the settings.
...
- Added a new section inside the Accounts card to the UI, to let the user remove the current account from the device.
2019-09-02 11:07:41 -05:00
Severiano Jaramillo
70d5e3d4d2
Remove a couple of not needed TODOs.
2019-08-30 19:52:23 -05:00
Severiano Jaramillo
232d81baa8
Stay at top in the Nodes Dialog.
...
- Add a method to the Nodes Dialog in the Settings, so that the list of nodes always stays at the top and shows the best nodes.
2019-08-29 12:15:31 -05:00
Severiano Jaramillo
3c0d2091d8
Update material-dialogs library.
...
- Updated the material-dialogs library, and its usages to reflect the new code style 100% focused on Kotlin.
2019-08-29 12:09:34 -05:00
Severiano Jaramillo
a42736b738
Improved Nodes Dialog.
...
- Made a couple of improvements to the Nodes Dialog in the Settings, so that it complies with the Nodes Dialog in PalmPay.
2019-08-29 11:46:22 -05:00
Severiano Jaramillo
e2637ddfa4
Keep the app connected to the best node.
...
- Added a recurrent method that verifies every minute that the app is connected to the best node, and if that is not the case then it requests a reconnection.
2019-08-29 11:06:17 -05:00
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
7603546424
Fix NetworkService connection issue.
...
- The NetworkServiceManager expects a call to onActivityResumed after it has been configured to start the connection with the NetworkManager. But because we are using a single activity architecture, the call to onActivityResumed the first time the app starts is called before configuring the NetworkServiceManager thus leaving the NetworkService disconnected until another onResume activity lifecycle event is received. A fake call to onActivityResumed in NetworkServiceManager was added right after it has been configured in BitsyApplication to address this issue.
2019-08-26 11:44:08 -05:00
Severiano Jaramillo
765ed13a6a
Add the nodes WS to Bitsy.
...
- Renamed the MerchantsWebservice to BitsyWebservice because it is now going to serve as a source of information of more than just merchants and tellers, but also the nodes the app is gonna connect to.
- Created new NodeRepository which will be in charge of accessing and updating the nodes database table with the information obtained from the webservice.
- Bitsy is now going to try to obtain the list of nodes it is going to try to connect to from the dabatase and use a hardcoded list as a fallback. The list of nodes in the database is updated regularly as well as their respective latency, so that in future app's startups it can use those latencies to immediately connect to the best node in the last app session.
2019-08-23 14:41:00 -05:00
Severiano Jaramillo
b077de95ac
Create nodes database table.
...
- Added the library dependency to use Kotlin Coroutines with Room.
- Created the Node Room Entity, which will create the nodes database table.
- Created NodeDao, which will be responsible to access the Room entity (nodes database table).
- Created a Room database migration, to create the nodes database table in existing instalations updating to the new version.
2019-08-23 12:48:58 -05:00
Severiano Jaramillo
1abbe95083
Add Kotlin's Parcelize to FilterOptions.
...
- Enabled Kotlin's Parcelize annotation and used it to easily make FilterOptions Parcelable.
- Converted the ServiceGenerator class to Kotlin. This is a helper class that generates instances of Retrofit Services.
2019-08-22 11:41:05 -05:00
Severiano Jaramillo
2b4b520c5d
Update a bunch of libraries.
...
- The project had been stale for a couple of months, so a lot of libraries were outdated. I updated most of the outdated libraries and verified everything kept working correctly.
- Simplified the ServiceGenerator, removing some stuff that is not used.
2019-08-22 11:02:09 -05:00
Severiano Jaramillo
1e75e369dc
Avoid crash in Transactions' FilterOptionsDialog.
...
- This crash was being caused when the user tried to filter the transactions in the Transactions screen, but the user has no balances (existent or downloaded). The app was not prepared to handle that case.
2019-08-21 17:48:51 -05:00
Severiano Jaramillo
31073e2acf
Fix crash in BalancesFragment.
...
- The crash was happening in a very weird scenario, but it was good because it forced us to search an alternative to update the BalancesFragment when the user navigates back to the HomeFragment. The solution was to use the childFragmentManager instead of the fragmentManager to create the PagerAdapter used in the ViewPager that displays the BalancesFragment. Basically, because we are using nested fragments we need to use the childFragmentManager instead of just the fragmentManager, to use the correct LyfeCycle events.
2019-08-21 15:09:59 -05:00
Severiano Jaramillo
6482b31971
Avoid crash in TransferDetailsAdapter.
...
- This is the adapter that populates the list of transactions in the TransactionsFragment, the crash was happening when the user tapped two or more items in the list at the same time. When that happens only the first item tapped opens its corresponding eReceipt correctly but the remaining ones throw an excpeption which was not being handled correctly and causing a crash.
2019-08-21 14:40:38 -05:00
Severiano Jaramillo
39a3e6b7d4
Avoid crash in SettingsFragment
...
- Avoided crash in SettingsFragment when trying to decrypt the WIF, but logged the exception to Crashlytics in case we find out this problem persists.
2019-08-21 14:05:11 -05:00
Severiano Jaramillo
ae3498e103
Avoid crash in SendTransactionFragment
...
- Avoided crash in SendTransactionFragment when trying to decrypt the WIF, but logged the exception to Crashlytics in case we find out this problem persists.
2019-08-21 13:56:16 -05:00
Severiano Jaramillo
54c8bbce19
Fix Crashlytics proguard rules.
...
- Fixed crashlytics Retrofit models proguard rules.
- Updated the Gradle plugin version.
- Improved readability of Asset and TransferDetail DAOs (Database Data Access Objects).
2019-08-21 13:34:49 -05:00
Severiano Jaramillo
6df56b068b
Improved transactions filtering algorithm in TransactionsFragment, to include the memo when searching with a text query.
2019-05-06 13:28:28 -05:00
Severiano Jaramillo
1528960bed
Added a node to the list of nodes the app can connect to.
2019-04-26 16:53:06 -05:00
Severiano Jaramillo
7c8f5d621e
Bumped versionName to 0.12.1-beta and versionCode to 7
2019-04-26 16:23:57 -05:00
Severiano Jaramillo
ac7e729816
Enabled proguard to reduce APK size and added the pertinent proguard rules to avoid removing too much code.
2019-04-26 16:23:04 -05:00
Severiano Jaramillo
1eb9b64b45
Refactored TransactionsFragment, by moving all the transactions filtering logic to the corresponding ViewModel and taking advantage of Kotlin coroutines to excecute the filtering process in the background.
2019-04-26 16:05:58 -05:00
Severiano Jaramillo
0144938052
Simplified FilterOptionsDialog changing the way it is constructed and take advantage of Kotlin synthetic features to automatically obtain a reference to the views in the layout.
2019-04-26 15:32:51 -05:00
Severiano Jaramillo
484e4bde68
Improved FilterOptionsDialog by changing the way it communicates with the DatePickerFragment, using an interface instead of a Handler.
2019-04-26 15:16:12 -05:00
Severiano Jaramillo
d1bce06ec2
Created FilterOptions class to serve as an easy way to communicate filter options user preferences between the TransactionsFragment and the FilterOptionsDialog, and use it to filter the transactions list.
2019-04-26 14:41:34 -05:00
Severiano Jaramillo
4ed2eba66a
Added the Kotlin coroutines library.
2019-04-26 12:23:26 -05:00
Severiano Jaramillo
aca43cfb9d
Updated a couple of libraries.
2019-04-26 12:16:33 -05:00
Severiano Jaramillo
8eccf85277
Fixed deep link structure, to comply with PP BitShares invoices.
2019-04-26 12:02:50 -05:00
Severiano Jaramillo
dc3d04b934
Comment out citadel node, because it is not synced and is sending stale information.
2019-04-26 11:49:55 -05:00
Severiano Jaramillo
23d2cd6836
Created a different layout to show the map pin's markers for tellers and merchants. Added more fields to the tellers db table, to include the newly added in the V2 of the webservice: Keybase, Whatsapp, Viber and Email and created a db migration to reflect that. Added the code to show the teller's newly added fields to the pin's markers if such fields exist and hide that field otherwise.
2019-04-25 21:14:42 -05:00
Severiano Jaramillo
8af2042039
Verify that the node is synced before trying to broadcast a transaction in TransactionsActivity, to avoid users confusion. Ideally, the app should not be connected to an out of sync node, but this is in case that still happens.
2019-04-25 17:43:07 -05:00
Severiano Jaramillo
00a8b0546f
Make sure to ask for the Security Lock when the user tries to upgrade to LTM.
2019-04-25 14:53:02 -05:00
Severiano Jaramillo
40b7650353
Changed the structure of the deep link used to intercept palmpay bitshares invoices to 'go.payit.now/bitshares/{to}/{amount}/{asset}/{memo}'. This will intercept the links whether or not they explicitly state http:// or https:// at the beginning.
2019-04-12 15:23:23 -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
b5371954e0
Updated BiTSy to use v2 of the webservice to fetch merchants information.
2019-04-10 18:44:17 -05:00
Severiano Jaramillo
6f132c049f
Fix and standardize the material cards all around the app.
2019-03-20 21:10:32 -06:00
Severiano Jaramillo
8e752087e6
Fixed the camera button's white border issue for Android Lollipop devices, also fixed the pie chart color for the same Android version and darkened the drop shadow of all three floating buttons in the Home Fragment.
2019-03-20 20:58:56 -06:00
Severiano Jaramillo
6eb3e8c220
Commented out 4 BitShares nodes that are offline as of the day of this commit.
2019-03-20 15:36:39 -06:00
Severiano Jaramillo
a95c103d51
Bumped versionName to 0.12.0-beta and versionCode to 6
2019-03-20 15:24:45 -06:00
Severiano Jaramillo
07fdab41a4
Added a No Transactions message to theTransactionsActivity when there are no transactions yet for the current account.
2019-03-20 14:29:11 -06:00
Severiano Jaramillo
50526c6bda
Added a loading indicator (ProgressBar) to the CreateAccountFragment that shows when the app is trying to create an account. This lets users know that the app is working avoiding users going back to the previous screen and preventing a crashlytics reported crash that happens when the create account response is received but the user is no longer in the CreateAccountFragment.
2019-03-20 13:55:16 -06:00
Severiano Jaramillo
756abb8f5f
Added the year to the date field in Transaction items, and made the to and from text fields more visible.
2019-03-20 11:59:36 -06:00
Severiano Jaramillo
5d8dc8ec39
Completed the migration of the whole app to the new Material Components color theming.
2019-03-20 11:04:05 -06:00
Severiano Jaramillo
313ff06861
Changed balances items text style to a bigger one, so that text is easier on the eyes.
2019-03-19 21:07:43 -06:00
Severiano Jaramillo
a6f2d5469b
Changed the qr box color to match the text fields boxes in both day and night modes in SendTransactionFragment.
2019-03-19 20:45:45 -06:00
Severiano Jaramillo
7fa1ed03c3
Used a TextInputLayout with a disabled TextInputEditText behind the Asset spinner in ReceiveTransactionFragment, so that it looks similar to the other fields (Amount and Asset AutoComplete).
2019-03-19 20:28:23 -06:00
Severiano Jaramillo
f89878d6b9
Used a TextInputLayout with a disabled TextInputEditText behind the Asset spinner in SendTransactionFragment, so that it looks similar to the other fields (To, Amount and Memo).
2019-03-19 18:39:55 -06: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
1728cef152
Added RxJava global error handler to avoid anoying the user by avoiding crashes when an error occurs on a RxJava operation, but still log the exception to Crashlytics so that we can fix the issues.
2019-03-18 21:24:15 -06:00
Severiano Jaramillo
776e5f42b7
Fixed equivalent value errors in the transactions by making sure the equivalent value is only fetched for transfers that already have the timestamp value updated.
2019-03-18 20:42:10 -06:00
Severiano Jaramillo
d0109c42d5
Avoid IllegalArgumentException crashlytics reported crash in CreateAccountFragment while generating a new brainkey.
2019-03-18 09:17:11 -06:00
Severiano Jaramillo
a4537ae1c4
Updated a navigation and room AAC libraries.
2019-03-18 08:35:55 -06:00
Severiano Jaramillo
143b6a011d
Avoid three crashlytics reported crashes due to unhandled errors in RxJava operations in the ImportBrainkeyFragment.
2019-03-17 09:38:36 -06:00
Severiano Jaramillo
6f806db127
Avoid two crashlytics reported crashes due to unhandled errors in RxJava operations in the CreateAccountFragment.
2019-03-17 09:32:11 -06:00
Severiano Jaramillo
5238d4973c
Created SendTransactionViewModel and made use of it to safely obtain the user's private key from the database, to avoid a crash reported in Crashlytics.
2019-03-17 09:24:50 -06:00
Severiano Jaramillo
1e2695db51
Improve error handling of RxJava operations in ReceiveTransactionsFragment.
2019-03-16 22:32:13 -06:00
Severiano Jaramillo
6fe13d9099
Added custom key to crashlytics to obtain the device language in the crash reports.
2019-03-16 22:04:24 -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
702cdea3aa
Reduced the text size of the telegram and keybase section in the Merchangs and Tellers about dialog.
2019-03-14 11:44:54 -06:00
Severiano Jaramillo
9b1349bfae
Created the downward arrow used in the receive button in the homescreen manually, to avoid rotating the forward arrow. The latter was avoided because it does not work properly on Android 6.
2019-03-14 11:19:00 -06:00
Severiano Jaramillo
8ac06ae393
Added the links to Agorise's Telegram and Keybase at the bottom of the Merchants & Tellers info dalog, in the MerchantsFragment.
2019-03-13 22:34:01 -06:00
Severiano Jaramillo
afcb0aa8bd
Make the map object in the MerchantsFragment nullable and add null checks everywhere it is used, to avoid NPE related crashes in case the map is not loaded correctly.
2019-03-13 22:18:04 -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
b2a6a3828c
Make both navigation and status bar the same color, in day mode it is the dark variant of the bitsy blue color and dark in night mode.
2019-03-13 21:10:23 -06:00
Severiano Jaramillo
3fa90fdee1
Made sure both toolbar and navigation bar show the correct colors in both day and night modes.
2019-03-13 20:16:02 -06:00
Severiano Jaramillo
e2d4d20e7a
Improved Settings screen UI by making visible section divisions using Material Cards.
2019-03-13 20:08:02 -06:00
Severiano Jaramillo
7424f7f6d2
Merge branch 'develop' of github.com:Agorise/bitsy-wallet into develop
2019-02-25 09:01:51 -06:00
Severiano Jaramillo
6439b55c69
Properly handle the response from the node when trying to upgrade the current account to LTM. When it is successful the app shows a dialog explaining just that and also sends a request to the node to update the account info, to update the account with the LTM property set as true. When it is not successful, the app shows a dialog explaining that there was an error due maybe to an insuficient balance.
2019-02-25 09:01:45 -06:00
Severiano Jaramillo
0330588885
Created methods to request and add the BlockData to the transaction to upgrade the current account to LTM, that information is necessary. And created a different identifier to identify when a request for Dynamic Global Properties is for the nodes dialog or for the Upgrade to LTM transaction.
2019-02-22 17:34:50 -06:00
Nelson R. Perez
d59480cd23
- Fixed problem with decoding the sender's memos
...
- Updated graphenej
2019-02-22 18:32:23 -05:00
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