Commit Graph

76 Commits (6769fefd00a54a9cc61be201c7f5eab60f3cd5d5)

Author SHA1 Message Date
Michael Schättgen 6769fefd00
Merge pull request #106 from alexbakker/feature-import-freeotp+
Add support for importing from FreeOTP+
6 years ago
Alexander Bakker 5dbf1c7ce2
Merge pull request #172 from michaelschattgen/feature-otpauthuri
Add support for deeplinking otpauth uris
6 years ago
Michael Schättgen 8d3c113475 Add support for deeplinking otpauth uris
Fix bug
6 years ago
Michael Schättgen 32b2ce280c
Merge pull request #144 from alexbakker/fix-lag-part1
Unregister any listeners when destroying EntryListView
6 years ago
Michael Schättgen 37c9b033c5
Merge pull request #141 from alexbakker/pref-lang
Add a language option to the preference menu
6 years ago
Michael Schättgen 86c4011797
Merge pull request #158 from alexbakker/fix-150
Get external storage read permissions before selecting an image to scan
6 years ago
Michael Schättgen 1f5a46b883 Add notification to warn user about the unlock state
Clean up code

Add minor changes
6 years ago
Alexander Bakker 9e4ad1495d Get external storage read permissions before selecting an image to scan
Fixes #150
6 years ago
Alexander Bakker 950dcce803 Unregister any listeners when destroying EntryListView
We were leaking some resources by not unregistering listeners when destroying
the entry list view. The code refresh loop of the leaked view started running in
a tight infinite loop, which causes a lot of lag in the main activity.
6 years ago
Alexander Bakker 9c5726cbca Use glide to load and cache icons
This patch adds a dependency to glide to handle the loading and caching of
icons. In my testing it eliminated the lag previously experienced in the main
activity when quickly scrolling through a large list of entries. It does add an
extra 1MB to the APK size, but I think that's acceptable for the amount of
complexity it handles for us.
6 years ago
Alexander Bakker b014d95005 Add a language option to the preference menu 6 years ago
Alexander Bakker d7093487dd Add support for importing from FreeOTP+
This also includes some other small changes:
- Make FreeOtpImporter more reusable
- Refactor preference file parsing logic into a separate class
- Add support for importing Steam tokens from FreeOTP(+)
- Make FileReader a bit leaner
- Add some missing @Override annotations
6 years ago
Alexander Bakker 02c9a0cb1c Move entry divider logic to EntryListView
This patch makes EntryListView responsible for providing the divider between
entries, instead of setting a margin on every entry like we do now. It also
fixes a couple of miscellaneous issues, like use of the old package name.
6 years ago
Michael Schättgen eb29be587f Fix bug where searchview did not reset properly 6 years ago
Alexander Bakker 4066cd83cc Limit the amount of entry info passed to SelectEntriesActivitiy
This horrid patch changes the vault import logic to pass an ImportEntry list to
SelectEntriesActivity, instead of a DatabaseEntry list. Previously, a crash
would occur when importing a vault with lots of icons, because the maximum
Parcel size was exceeded.

Storing icons in the vault file was a bad idea.
6 years ago
Alexander Bakker cca35bd5e5
Merge pull request #109 from michaelschattgen/feature-entrysearch
Add ability to search for entries in vault
6 years ago
Michael Schättgen 187adfa738 Add ability to search for entries
Fix bug where new entries did not get filtered

Fix IsEntryFiltered
6 years ago
Alexander Bakker b300b72626 Don't ignore the result of IntroActivity when the vault is locked
This fixes a bug where AuthActivity would be shown after finishing the intro.
6 years ago
Alexander Bakker 66f99eb4d4 Always launch AuthActivity on lock if MainActivity is resumed 6 years ago
Alexander Bakker ff584a323d Always try to decrypt the password slot first, before the fallback
This makes sure the case where a user set up Aegis v0.4 with a password of over
64 bytes is also covered.
6 years ago
Alexander Bakker 8c658ac930 Use the old encode method for passwords over 64 bytes and repair the slot (#98)
Commit afb9e59711 fixed a bug where the password
encode function would add null bytes to the end of the output. Luckily (I
thought), PBKDF2 produces collisions for inputs with trailing null bytes and
thus scrypt does this as well, so we could safely change that function to remove
the null bytes without any impact. Unfortunately, that doesn't hold up if the
password is over 64 bytes in size. So after that change, the KDF started
producing different keys than before for such passwords and thus some users
could no longer unlock their vault.

This patch addresses the issue by using the old password encode function for
passwords over 64 bytes and repairing the affected password slot.
6 years ago
Alexander Bakker f54639c791
Merge pull request #89 from michaelschattgen/feature-ignorespaces
Add possibility to ignore spaces in EditTexts
6 years ago
Alexander Bakker 9f3ccdc508 Force a period uniformity check when initializing EntryAdapter
This fixes a bug where the progress bar was not shown upon unlock.
We'll come up with a better solution later. This is just a hot fix.
6 years ago
Michael Schättgen 3556cd0e66 Add possibility to ignore spaces in EditTexts 6 years ago
Alexander Bakker 57e3574693 Fix a bug where Aegis would forcibly pop up after unlocking the device 6 years ago
Michael Schättgen b6a31e798f Select and focus password on failed unlock attempt 6 years ago
Michael Schättgen 5ebb714d05 Fix setting the preferred theme 6 years ago
Alexander Bakker 9958f73926 Set the Activity theme before calling super.onCreate (#84)
This fixes a NullPointerException that would occur when restoring from
savedInstanceState due to getSupportActionBar returning null. It also removes
the theme definitions from AndroidManifest as we override those anyway.
6 years ago
Alexander Bakker 6d26d1beb0 Fix the last couple of sorting bugs (#77)
This fixes the following bugs:
- Sort category is forgotten after lock/unlock
- The sort mode is not respected for new entries

I got a little carried away while working on this patch and also included the
following other enhancements:
- Simplify the SortCategory, Theme and ViewMode enums
- Simplify usage of string resources
- Don't call notifyDataSetChanged and runLayoutAnimation unnecessarily
6 years ago
Alexander Bakker 9893b2f057 Add support for importing encrypted andOTP backups
This also refactors dialog_newgroup to serve as a generic text input dialog
6 years ago
Alexander Bakker 47df8968c7 Refactor database importer logic
Summary:
- Combine app and file importers into one type
- Split encrypted and plain text file logic into separate DatabaseImporter.State
  classes
- Add an abstract FileReader class that can handle reading from apps and files

The idea is that every importer implements its own UI logic to obtain
credentials for decryption through a dialog. Aegis databases are still an
exception to this rule as it still uses an Activity to ask for credentials. This
will be addressed in a future patch.

As a result of this change all app importers are now also available under
"Import from file".
6 years ago
Michael Schättgen 21fd8fdd8d Add ability to select entries when importing
Move onScroll to seperate class to avoid duplicate code

Move importing logic back to the PreferencesFragment

Add minor changes

Add ImportEntry to properly track checked states

Minor layout changes
6 years ago
Michael Schättgen 2de9b96138 Add ability to scan image for QR code 6 years ago
Alexander Bakker 92458d0d3b Move setGlobalDurationScale to AegisActivity
Also, rename the method and make the error string translatable
6 years ago
ByteHamster a415ef573e Show keyboard automatically 6 years ago
Michael Schättgen b41e328d22 Add ability to translate themes and viewmodes
Closes #50
7 years ago
Michael Schättgen 1ac42d85d6
Merge pull request #53 from alexbakker/feature-autolock
Add an option to automatically lock the app
7 years ago
Michael Schättgen 89a1663e28 Fix bug where entries didn't get sorted properly 7 years ago
Alexander Bakker 0563ac917a Fix some rare crashes when restoring the app after termination
Also fixes an issue where the app shortcuts would not work for unencrypted vaults
7 years ago
Alexander Bakker 18fd88a441 Add an option to automatically lock the app
This adds an option to automatically lock the app when:
* The back button is pressed
* The device is locked

It's the first step towards implementing #7
7 years ago
Alexander Bakker 4365a693f2 Get Cipher back from FingerprintManager,CryptoObject after auth 7 years ago
Alexander Bakker 14fa493ac9 Remove keys from the KeyStore when disabling encryption or fingerprint 7 years ago
Alexander Bakker 36e3dd559c Normalize formatting and 'optimize' imports 7 years ago
Michael Schättgen b7cf234db6 Add smaller view mode
Closes #39
7 years ago
Alexander Bakker a251685002 Add a dialog that displays a list of errors that occurred during import 7 years ago
Alexander Bakker 1dd5f893da Add support for Steam OTP 7 years ago
Michael Schättgen a46640f43d Fix recreate when setting view mode 7 years ago
Michael Schättgen a293078603 Add way to set view mode 7 years ago
Michael Schättgen f3ed79dc71 Add ability to change view mode 7 years ago
Michael Schättgen ee8fd2e9f2 Hide divider in compact mode when progressbar is visible 7 years ago