Commit Graph

733 Commits

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