Commit Graph

799 Commits

Author SHA1 Message Date
dankito 03cb2bc72a Fixed that amount takes only one line (large amounts wrapped into next line) 2022-02-07 00:18:08 +01:00
dankito 5c4a4a485f Forgot to commit serializer methods for AuthenticationSettings 2022-02-07 00:18:08 +01:00
dankito a72e7d744c Fixed that Byte is signed but Char is unsigned 2022-02-07 00:18:08 +01:00
dankito b283a3014b Added screenshotsAllowed to data model but functionality is not implemented yet 2022-02-07 00:18:08 +01:00
dankito 93e348edc1 Reformulated login prompts 2022-02-07 00:18:08 +01:00
dankito 33fd8c1475 Added app icon to LoginDialog. Had to add app icon separately as "AppIcon" imageset is not referencable during runtime (with a trick at lease AppIcon60x60 but that was too small) 2022-02-07 00:18:08 +01:00
dankito 8b8067be71 Fixed view for iOS 14 2022-02-07 00:18:08 +01:00
dankito cf0d721a1b Simplified LoginDialog view 2022-02-07 00:18:08 +01:00
dankito 6759f3d319 Removed commented out code 2022-02-07 00:18:08 +01:00
dankito 4777ffb699 Fixed that Werktag (business day) was incorrect, Banktag (banking day) is correct 2022-02-07 00:18:08 +01:00
dankito 86d1e5856e Made (hopefully) translations for login, ask user to delete account and that bank is not supported by app better understandable 2022-02-07 00:18:08 +01:00
dankito 5e1bca2007 Logging life cycle events 2022-02-07 00:18:08 +01:00
dankito a7b47665a5 Implemented displaying a switch to be able to set if password should be saved or not, but there's not logic behind it yet 2022-02-07 00:18:08 +01:00
dankito 197a984353 Raised FormOnOff height a bit so that there's more spacing around it 2022-02-07 00:18:08 +01:00
dankito d7ff2d77e3 Implemented catching exceptions that occur in listeners 2022-02-07 00:18:08 +01:00
dankito 85acd02c36 Added add account button to bank credentials section 2022-02-07 00:18:08 +01:00
dankito 29bbe298f3 Renamed updateAccountAutomatically to includeInAutomaticAccountsUpdate 2022-02-07 00:18:08 +01:00
dankito dd604fd064 Fixed that SettingsDialog has been created before AppSettings have been deserialized 2022-02-07 00:18:08 +01:00
dankito 0706c91bac Removed automaticallyUpdateAccounts as automaticallyUpdateAccountsAfterMinutes can contain information if accounts should be updated automatically or not 2022-02-07 00:18:08 +01:00
dankito ffeb412a84 Implemented Stopwatch 2022-02-07 00:18:08 +01:00
dankito bb4ae54b15 Removed unused serializer 2022-02-07 00:18:08 +01:00
dankito cf02128e94 Set default value for automaticallyUpdateAccountsAfterMinutes to six hours 2022-02-07 00:18:08 +01:00
dankito 6c17449fc4 Implemented displaying that automaticallyUpdateAccountsAfterMinutes and lockAppAfterMinutes can be set, but they have no functionality yet 2022-02-07 00:18:08 +01:00
dankito 5a4f962293 Renamed updateAccountsAutomatically to automaticallyUpdateAccounts, refreshAccountsAfterMinutes to automaticallyUpdateAccountsAfterMinutes and added lockAppAfterMinutes 2022-02-07 00:18:08 +01:00
dankito 1ef89d27ec Fixed bug in TransferMoneyDialog.adjustCheckBoxRealTimeTransferWidth() that dialog may is already closed till timer fires and then app crashes. By that instance replaced all requireActivity() 2022-02-07 00:18:08 +01:00
dankito 64213a890f Left aligned txtRecipientBankInfo with errors / warnings 2022-02-07 00:18:08 +01:00
dankito 1ac426ecb8 Implemented hiding when neither an error nor an hint is displayed 2022-02-07 00:18:08 +01:00
dankito 4f75968efa Implemented displaying recipient BIC and bank name in one line 2022-02-07 00:18:08 +01:00
dankito 450f6af146 Fixed that after updating to Material Design library 1.2 TextLayoutInput had a large space at top 2022-02-07 00:18:08 +01:00
dankito 82c0a5938e Extracted extension methods to convert KotlinCharArray 2022-02-07 00:18:08 +01:00
dankito 08b7eb28a7 Removed unnecessary steps from setPasswords() 2022-02-07 00:18:08 +01:00
dankito 3da594b846 Fixed that in iOS setting authentication type to biometric wasn't possible anymore as () tried to open database without changing its password before (also renamed methods in Android to be symmetrically to iOS) 2022-02-07 00:18:08 +01:00
dankito 81bc6a94bb Implemented encrypting AuthenticationType and default password 2022-02-07 00:18:08 +01:00
dankito 50ae70a92c Implemented creating and saving random salt 2022-02-07 00:18:08 +01:00
dankito b1c027b608 Implemented hashing login password with scrypt (but still using a static salt; CryptoSwift has accidentally already been commit with last commit) 2022-02-07 00:18:08 +01:00
dankito acf0345aaf Implemented deleting all keychain items after re-installing app 2022-02-07 00:18:08 +01:00
dankito 93de8bf252 Fixed that persistentContainer and therefore context is nil if during login screen app enters background 2022-02-07 00:18:08 +01:00
dankito 360e75426f Forgot to commit linkForegroundColor() and alignVertically() 2022-02-07 00:18:08 +01:00
dankito 5acb2353c7 Implemented setting database password in iOS 2022-02-07 00:18:08 +01:00
dankito 5c63af15a0 Added EncryptedCoreData pod to be able to encrypt CoreData database (even though currently just using a hard coded default password) 2022-02-07 00:18:08 +01:00
dankito f0271a2f85 Centralized setting passwords in setPasswords() 2022-02-07 00:18:08 +01:00
dankito 79d746a395 Injecting now AuthenticationService 2022-02-07 00:18:08 +01:00
dankito 8b2a210269 Keeping passwords now only as CharArray in memory as it may takes a long time till a String gets garbage collected 2022-02-07 00:18:08 +01:00
dankito bc853b03e3 Implemented that in case of AuthenticationType.Password as database password <user_password> + "_" + <default_password> is used 2022-02-07 00:18:08 +01:00
dankito af67f4d404 Implemented passing only userPassword to saveNewAuthenticationMethod() (makes the parameter clearer) 2022-02-07 00:18:08 +01:00
dankito 93254c1d21 Implemented persisting new password only if changed database password has been successful 2022-02-07 00:18:08 +01:00
dankito e8749385ec Implemented hiding select authentication method if password is the only option to choose 2022-02-07 00:18:08 +01:00
dankito 193e4305ca Removed injecting unused CoreDataBankingPersistence 2022-02-07 00:18:08 +01:00
dankito 49a21909ed Moved creating CoreData PersistentContainer to CoreDataBankingPersistence 2022-02-07 00:18:08 +01:00
dankito e29eead03a Using now vector drawable for add icon, could therefore remove Android Icons dependency 2022-02-07 00:18:08 +01:00
dankito 8706778906 Added default icon for accounts 2022-02-07 00:18:08 +01:00
dankito c8049ea107 Fixed that for some library setting Kotlin jvmTarget to 1.8 was needed 2022-02-07 00:18:08 +01:00
dankito eff16876b6 Fixed that using vector drawables that way is not supported on devices pre Lollipop 2022-02-07 00:18:08 +01:00
dankito 968543953a Implemented finding fallback algorithms as PBKDF2WithHmacSHA256 is only supported on newer Androids 2022-02-07 00:18:08 +01:00
dankito 2f709ed0b6 Renamed encryptedDefaultPassword to defaultPassword 2022-02-07 00:18:08 +01:00
dankito dde2ff47a4 Fixed that algorithms needed for encryption with biometric authentication are only supported on Android 6 and above (the same as with biometric authentication) 2022-02-07 00:18:08 +01:00
dankito 06101a4e57 Added AndroidManifest to fints4kBankingClient to make Gradle happy 2022-02-07 00:18:08 +01:00
dankito faf3a76734 Removed unused AndroidX lifecycle (only crashes on Android 4) 2022-02-07 00:18:08 +01:00
dankito d892e5e0ef Updated AndroidX navigation version to 2.3.0 2022-02-07 00:18:08 +01:00
dankito e69b4a9141 Fixed that OkHttp dropped Android 4 support with version 3.13 2022-02-07 00:18:08 +01:00
dankito 768d17743a Added permissions for biometric hardware (but is it actually needed?) 2022-02-07 00:18:08 +01:00
dankito 715153315e Fixed that BankingApp hasn't been derived from MultiDexApplication 2022-02-07 00:18:08 +01:00
dankito 04bf120293 Set app icon 2022-02-07 00:18:08 +01:00
dankito b564fe15c2 Implemented setting device specific biometric authentication type 2022-02-07 00:18:08 +01:00
dankito c73628539a Fixed translating shared data 2022-02-07 00:18:08 +01:00
dankito 0f16149dac Implemented setting biometric authentication prompt 2022-02-07 00:18:08 +01:00
dankito e36bb0cf33 Renamed loginWithPassword() to authenticateUserWithPassword() and loginWithBiometricAuthentication() to authenticateUserWithBiometric() 2022-02-07 00:18:08 +01:00
dankito 7047773e7b Implemented translating biometric authentication type 2022-02-07 00:18:08 +01:00
dankito bf9c0bc32b Implemented adding print option to shared data 2022-02-07 00:18:08 +01:00
dankito 4e27bffd09 Implemented encrypting default password if no app protection is set 2022-02-07 00:18:08 +01:00
dankito 12d6c5a430 Fixed that if persisting newly added account fails callback never gets called and AddAccountDialog therefore is stuck forever 2022-02-07 00:18:08 +01:00
dankito 2cab245600 Implemented encrypting biometric password 2022-02-07 00:18:08 +01:00
dankito 32c71fcb39 Implemented hashing user password with bcrypt 2022-02-07 00:18:08 +01:00
dankito d65b766655 Disabling login button during password check and database decryption 2022-02-07 00:18:08 +01:00
dankito e345d6d6cb Removed unnecessary isRemoveAppProtectionLayout parameter 2022-02-07 00:18:08 +01:00
dankito 26baf222d6 Implemented logging in / setting authentication method when pressing enter 2022-02-07 00:18:08 +01:00
dankito 0a6fa8e01a Implemented encrypting Room database, but storing password just in plain text yet 2022-02-07 00:18:08 +01:00
dankito 20c32dbd7e Implemented saving and restoring authentication type 2022-02-07 00:18:08 +01:00
dankito 5f35cf7b23 Fixed that listeners get called off UI thread 2022-02-07 00:18:08 +01:00
dankito b82d986da2 Added biometric authentication dialog / prompt 2022-02-07 00:18:08 +01:00
dankito f6f28890a7 Implemented that login name text field gets focused when a bank has been selected 2022-02-07 00:18:08 +01:00
dankito c2a9f9f44a Not focusing recipient name text field on start anymore, just displays 'Please enter recipient name' error message on iOS 14 2022-02-07 00:18:08 +01:00
dankito de46d60416 Fixed setting focus on start on iOS 14 2022-02-07 00:18:08 +01:00
dankito 2a9aaca4d8 Implemented that also German diacritics get detected as invalid SEPA characters (on iOS they get detected anyway, but Android seems to use UTF-8) 2022-02-07 00:18:08 +01:00
dankito 318266db0f Fixed that reserved XML characters aren't replaced visibly to user - XML entities would just confuse most users. But XML entities are taking into calculation for max length 2022-02-07 00:18:08 +01:00
dankito 08d3cfbd66 Made OK Button better tapable 2022-02-07 00:18:08 +01:00
dankito fc6d2042af Fixed that iOS 14 sometimes doesn't focus text field on click 2022-02-07 00:18:08 +01:00
dankito 0bfeddeea3 Fixed that iOS 14 creates text field often twice, but displays it once -> to focus next text field we have to use nextViewTag + 1 2022-02-07 00:18:08 +01:00
dankito b00a14b3c7 Removed that pressing Enter starts money transfer. Just results in unwanted transfers 2022-02-07 00:18:08 +01:00
dankito ac8824634e Fixed that on iOS 14 AdaptsToKeyboard isn't needed anymore but just covers dialog 2022-02-07 00:18:08 +01:00
dankito ebce0000c5 Fixed making whole cell tapable 2022-02-07 00:18:08 +01:00
dankito 6f62690444 Fixed that retrieved transaction chunks haven't been displayed in UI 2022-02-07 00:18:08 +01:00
dankito 4e0e52bd8b Renamed searchBanksByNameBankCodeOrCity() to findBanksByNameBankCodeOrCity() 2022-02-07 00:18:08 +01:00
dankito 61b3b53540 Sorting banks now case insensitive 2022-02-07 00:18:08 +01:00
dankito 17d3eb9a5b Calling now lazy evaluating logger method 2022-02-07 00:18:08 +01:00
dankito b7c760e26e Added translations for BankAccountTypes 2022-02-07 00:18:08 +01:00
dankito f053b2728d Using now English names for BankAccountTypes 2022-02-07 00:18:08 +01:00
dankito 03d8074fda Using lazy evaluating logger method now 2022-02-07 00:18:07 +01:00
dankito f4d8b09260 Added fetchBalanceAndTransactions to addAccount() to determine if balance and transactions should be retrieved after retrieving bank accounts of a newly added account 2022-02-07 00:18:07 +01:00
dankito 8108926d71 Implemented toggling password visibility 2022-02-07 00:18:07 +01:00
dankito e64e8925c4 Added UI to set if accounts should be updated automatically 2022-02-07 00:18:07 +01:00
dankito 746591597e Implemented sharing account data 2022-02-07 00:18:07 +01:00
dankito 99866e02be Forgot to commit calling new signature of bankUpdated 2022-02-07 00:18:07 +01:00
dankito fa1c2a0ddf Keeping now bank icon's bytes directly on BankData so that we can persist is to database -> attackers don't see in filesystem added accounts anymore 2022-02-07 00:18:07 +01:00
dankito 7f14215907 Added info popup to explain what 'Fetch all transactions' means (TODO: displays only data of first account for which not all transactions have been fetched, display all) 2022-02-07 00:18:07 +01:00
dankito 3c5f63dcd2 Removed gray background, white space is enough to distinguish elements and looks way better 2022-02-07 00:18:07 +01:00
dankito 97b78bd8c4 Fixed setting LAContext (may only be set when saving item) 2022-02-07 00:18:07 +01:00
dankito ab5506f7eb Really fixed determining available biometric authentication type 2022-02-07 00:18:07 +01:00
dankito 50c2e085a0 Implemented setting also keychain item's SecAccessControl and LAContext (but setting LAContext doesn't work yet, setting it results in an error) 2022-02-07 00:18:07 +01:00
dankito a903745b8c Saving now also AuthenticationType in Keychain 2022-02-07 00:18:07 +01:00
dankito b40eb25b70 Implemented storing a default password (but not making use of it yet) 2022-02-07 00:18:07 +01:00
dankito 0f83b2aced Fixed detecting if layout for FaceID or TouchID should be displayed 2022-02-07 00:18:07 +01:00
dankito cd8055a141 Extracted methods for each authentication type 2022-02-07 00:18:07 +01:00
dankito 2ca698f9e2 Renamed createKeychainPasswordItem() to createUserLoginPasswordKeychainItem() 2022-02-07 00:18:07 +01:00
dankito 96c842cc89 Merged AuthenticationType touchID and faceID to biometric 2022-02-07 00:18:07 +01:00
dankito 48841b5214 Refactored KeychainPasswordItem so that we don't have to pass all class fields to keychainQuery() 2022-02-07 00:18:07 +01:00
dankito 543a9d81b9 Removed AuthenticationType.none 2022-02-07 00:18:07 +01:00
dankito b019360ad1 Made password visibility toggleable 2022-02-07 00:18:07 +01:00
dankito cb486de6d4 Raised sizes a bit to make them better touchable 2022-02-07 00:18:07 +01:00
dankito 917cb8edf5 Implemented LoginActivity and ProtectAppSettingsDialog but there's not logic behind it yet 2022-02-07 00:18:07 +01:00
dankito 8a2750a21c Fixed that some clients need a response 2022-02-07 00:18:07 +01:00
dankito b7f9a2a5f7 Fixed bug that setting frequency didn't work 2022-02-07 00:18:07 +01:00
dankito 210ca5a41f Showing update all accounts navigation bar button now on the right (to be consistent with update selected accounts) 2022-02-07 00:18:07 +01:00
dankito 31cc59c88e Fixed that update(All|Selected)AccountsTransactionsAsync() didn't call callback if there are no accounts to update so that UI couldn't update / reset its state 2022-02-07 00:18:07 +01:00
dankito 1c3f3505b0 Implemented remembering with which accounts wrong credentials have been entered and ignoring these in automatic updates 2022-02-07 00:18:07 +01:00
dankito 38bb0c90ff Implemented detecting if wrong credentials have been entered (not 100 % reliable though) 2022-02-07 00:18:07 +01:00
dankito 572f8d81ec Removed as e.g. when on first attempt there's no network connection, then no further attempt would be taken during whole lifetime of app 2022-02-07 00:18:07 +01:00
dankito 26e03137cd Fixed that when fintsBank could not get restored and then addAccount() fails (e.g. due to no network connection), then fintsBank contains almost no data which then got mapped to bank 2022-02-07 00:18:07 +01:00
dankito 0303f94bee Added savePassword to Bank but now using it yet 2022-02-07 00:18:07 +01:00
dankito 5580313eeb Setting countDaysForWhichTransactionsAreKept now on account and not on bank anymore as the count may differs from account type to account type (e.g. 540 days for checking accounts and 9999 days for credit card accounts) 2022-02-07 00:18:07 +01:00
dankito 6d41b89f1d Implemented parsing credit card transactions parameters 2022-02-07 00:18:07 +01:00
dankito b39c3f700a Implemented setting if accounts should be updated automatically at start up 2022-02-07 00:18:07 +01:00
dankito 7f6ea74aa8 Renamed formLabelledValueLabelTextColor to formLabelTextColor and formLabelledValueValueTextColor to formValueTextColor 2022-02-07 00:18:07 +01:00
dankito 64aa7d007b Implemented persisting AppSettings with BankingPersistence 2022-02-07 00:18:07 +01:00
dankito 88ba716639 Simplified persisting TanMethodSettings and implemented saving TanMethodSettings on AppSettings in iOS 2022-02-07 00:18:07 +01:00
dankito 589e1e673a Implemented hiding account and disabling automatic account update 2022-02-07 00:18:07 +01:00
dankito 364b818d84 Implemented displaying account features 2022-02-07 00:18:07 +01:00
dankito b3d92d4e64 Implemented selecting TAN method 2022-02-07 00:18:07 +01:00
dankito 1e812e4b8d Implemented that displayed value / text in LabelledValue can be selected and copied 2022-02-07 00:18:07 +01:00
dankito 74d30df248 Implemented displaying bank and bank account data 2022-02-07 00:18:07 +01:00
dankito 25089558c1 Implemented FormLabelledValue 2022-02-07 00:18:07 +01:00
dankito 1d09789d38 Implemented persisting for which account prominent (top) fetch all transactions view shouldn't be displayed anymore 2022-02-07 00:18:07 +01:00
dankito 51044a257c Fixed that unsupported account types are not taking into calculation for selectedAccountsForWhichNotAllTransactionsHaveBeenFetched 2022-02-07 00:18:07 +01:00
dankito 9650fb59d8 Removed TODOs to use RxJava as RxJava isn't supported in Kotlin multi platform projects 2022-02-07 00:18:07 +01:00
dankito 95215edc7c Implemented updating lists on changes 2022-02-07 00:18:07 +01:00
dankito b7133ba7d5 Fixed that listeners didn't get removed 2022-02-07 00:18:07 +01:00
dankito 2c9c374ee1 Implemented BankAccountSettingsDialog 2022-02-07 00:18:07 +01:00
dankito 85bf455c0c Implemented reordering bank accounts 2022-02-07 00:18:07 +01:00
dankito a6a5baaeb1 Implemented SettingsDialog 2022-02-07 00:18:07 +01:00
dankito 936428c4f5 Centering amount and value date now in list item 2022-02-07 00:18:07 +01:00