Commit Graph

1124 Commits (44bb11e2d85c92b78a4f431db70d7ee85049f5b9)

Author SHA1 Message Date
Alexander Bakker caad516a6e Don't show the password reminder popup if the activity is finished 2 years ago
Alexander Bakker 12683e3ff0 Don't process QR code if ScannerActivity is finished 2 years ago
Alexander Bakker 74ecdec637 Ignore any menu clicks before the camera is ready in ScannerActivity 2 years ago
Alexander Bakker b98a5c55bc Simplify tracking of draggable entries
This fixes a crash and a case where rebinding a ViewHolder to an entry
that is not selected would still show a drag handle
2 years ago
Toadsta 96852528f4 Copy URI to clipboard when using transfer entries, copied text is marked as sensitive
Co-authored-by: orange-elephant <88595467+orange-elephant@users.noreply.github.com>
2 years ago
Alexander Bakker bcbe5f33d4 Fix crash in Bitwarden importer when encountering a bad URI 2 years ago
Alexander Bakker 5cf8f73193 Check for nulls in intent extra's sent to MainActivity 2 years ago
Alexander Bakker 6ea9502ad1 Check for null before calling the EntryListView listener 2 years ago
Alexander Bakker 65790166b6 Set fallbackLineSpacing to false for all entry view modes
I fixed an issue in e77df1eee4 but
apparently I only applied it to the default view mode
2 years ago
Alexander Bakker bb4450a00b Completely disable the lock notification for now
See: #1047
2 years ago
Alexander Bakker c9a27b830d Add null check before shutting down executor in ScannerActivity 2 years ago
Alexander Bakker aff441a7ee Include URI in ImportFileTask error messages 2 years ago
Alexander Bakker 9d318a0d54 Always take favorites into account when sorting the entry list 2 years ago
Alexander Bakker ef759eb15e Start NotificationService as a foreground service
This should prevent the notification from remaining after the app has
been killed by Android.

Fixes #1037.
2 years ago
elena 542a8c6f8c Only copy code if not hidden 2 years ago
Alexander Bakker 282f85fb3b Don't show "Export all groups" option if there are no groups 2 years ago
Alexander Bakker fd5a0390f0
Merge pull request #1014 from orange-elephant/export-selected-groups
Allow exporting specific groups
2 years ago
Alexander Bakker 01e59d79a1
Merge pull request #1013 from orange-elephant/no-icons-view-mode
Add 'No Icons' view mode
2 years ago
Alexander Bakker 506d9efab3 Release v2.1 2 years ago
Alexander Bakker 5ab36d72a4 Add a test for password and backup password changes 2 years ago
Alexander Bakker ac75c346ec Update translations from Crowdin 2 years ago
Alexander Bakker 5dfdbabf30 Patch scrypt implementation to directly use Java's Integer.rotateLeft
This should improve performance in some rare cases where the wrapper
function that BouncyCastle has for Integer.rotateLeft is not inlined.

See: #1024
2 years ago
Alexander Bakker e7cc3e6ca3 Fix a crash by only creating toasts using Toast.makeText() 2 years ago
Alexander Bakker f081cfa77b Add support for importing 2FAS schema v3 backups
Fixes #1026
2 years ago
Alexander Bakker 55dc4b22d5 Set RESULT_CANCELED before calling finishAffinity()
This fixes a crash in AuthActivity:

Exception java.lang.IllegalStateException: Can not be called to deliver a result
2 years ago
Alexander Bakker 9f55d4f659 Do not print a trace when calling the private finish() overload fails 2 years ago
Alexander Bakker 715c5112ab Fix a crash caused by ViewHolder.getAdapterPosition returning -1 2 years ago
Alexander Bakker e77df1eee4 Set fallbackLineSpacing to false for the OTP TextView
This prevents any dynamic changes in height that may occur while using
tap to reveal on Android 13 and up.
2 years ago
Alexander Bakker f6f549aaeb Be even more clear about why we can't import from certain apps anymore 2 years ago
Alexander Bakker 12dad56fe3 Update test dependencies to stable releases 2 years ago
Alexander Bakker 286d74b69a Switch comments of tile_open_vault and tile_open_scanner 2 years ago
Alexander Bakker 10ecd513fc Add context to tile_open_vault and tile_open_scanner strings 2 years ago
elena c45564d852 Allow exporting specific groups 2 years ago
Alexander Bakker 98e802a534
Merge pull request #1019 from beemdevelopment/feature/quick-settings
Add quick setting tiles
2 years ago
Michael Schättgen 6a1e6db486 Add quick setting tiles 2 years ago
elena 237e6744a5 Add option to hide icons 2 years ago
Alexander Bakker 599be44369
Merge pull request #1017 from orange-elephant/reveal-on-hotp-increment
Reveal hidden code on HOTP increment click
2 years ago
Alexander Bakker b2a98d9799 Release v2.1-beta2 2 years ago
Alexander Bakker bee490d091 Check for nulls when opening ContentResolver streams 2 years ago
Michael Schättgen dd88f5bb0c Fix crash when using non latin language 2 years ago
elena af9be15ae0 Reveal hidden code on HOTP increment click 2 years ago
Alexander Bakker 8562fafda7 Release v2.1-beta1 2 years ago
Alexander Bakker 708a5f4a19 Update translations from Crowdin 2 years ago
Alexander Bakker fcc7b7baa2 Use MaterialDividerItemDecoration for compact view mode
This allows us to disable the divider for the "Showing x entries" footer
2 years ago
Alexander Bakker 7c0b22920d Fix minor entry margin issues
Accidentally introduced with the entry pinning feature

This also moves the favorite field to the vault instead of shared
preference in order to avoid some complexity
2 years ago
Alexander Bakker c27d080a11 Fix call to notifyItemMoved when entry change causes sort change
This fixes an issue introduced in ffcbaffcfc
2 years ago
Alexander Bakker 289b8775d3 Update ZXing to 3.5.1 2 years ago
Alexander Bakker c12397a509 Update dependencies 2 years ago
Alexander Bakker 0aef57e610 Add context to favorite strings to indicate that they're verbs 2 years ago
Alexander Bakker 7993142cc5 Show a warning when a separate export/backup password is configured 2 years ago
Michael Schättgen 5ec1e33a31 Add ability to favorite/pin entries 2 years ago
Alexander Bakker c58b773878 Rename some things related to plaintext backup warning 2 years ago
Alexander Bakker 681326839c Fix back navigation in preferences when pressing the home action button 2 years ago
Alexander Bakker 3d124d225e Use VaultLockReceiver in a Context-registered manner
Turns out we can't listen from ACTION_SCREEN_OFF from a
manifest-registered broadcast receiver
2 years ago
Alexander Bakker 8292173297 Remove unused code for storage read permission request results 2 years ago
Alexander Bakker 84e179f9d3 Add helper to simplify animation end listeners 2 years ago
Alexander Bakker ad77bd687f Add support for predictive back gesture 2 years ago
Alexander Bakker c6888b11df Add an icon to the backup status in preferences 2 years ago
elena c206d4bee8 Additional code grouping options 2 years ago
Alexander Bakker 7de7fba2c8 Disable R8 obfuscation 2 years ago
Alexander Bakker 8ea28327db Optimize APK size by fixing R8 rules and excluding some BC resources 2 years ago
Alexander Bakker 80c37556c7 Prevent double launches of the intro and auth activities
Since API level 33: When opening Aegis right after installing it,
Android will send a configuration change event (CONFIG_ASSETS_PATHS),
causing MainActivity to restart almost immediately. This would also
cause two IntroActivity's to be started on top of eachother.
2 years ago
Alexander Bakker 7517cfc975 Update dependencies 2 years ago
Alexander Bakker 4198ca3bb7 Update Gradle 2 years ago
Alexander Bakker 3927ddec3e Make vault lock intent used in notifications more explicit
Aegis can display a notification to the user as a reminder that the vault is
unlocked. If the user taps the notification, the vault is locked. CodeQL
reported that Aegis may be vulnerable to CWE-927, because of the use of an
implicit intent wrapped by a PendingIntent in that notification.

This does not appear to be exploitable in our case, because we use
``PendingIntent.getBroadcast`` and explicitly set the action of the wrapped
intent. Aegis also does not read or act on any information from the received
intent. This means that a malicious app cannot launch activities or send a
broadcast with a different action, as is common with these type of weakness. The
worst an app with notification access can do, is lock the vault.

Either way, it's good to make the intent explicit, so this patch addresses that.
Additionally, for API level 23 and up, we've made the wrapped intent immutable a
while back.

We'd like to thank John Rune, who ran a CodeQL scan on the Aegis codebase and
privately disclosed this finding to us.
2 years ago
Alexander Bakker adc9179364 Always copy VaultFileCredentials when accessing it
This makes sure that mutations to the credentails can only ever be persisted
intentionally.
2 years ago
Alexander Bakker 8ae8130b71 Store and display backup error messages more clearly 2 years ago
Alexander Bakker 4427498d5e Rename the instrumented tests to be more consistent 2 years ago
Alexander Bakker aad6d78750 Move the panic trigger setting to the Security fragment 2 years ago
Alexander Bakker ef2e803e04 Make the entry count text a bit smaller 2 years ago
Alexander Bakker c718ea79c5 Update dependencies 2 years ago
Alexander Bakker acc6b9a3de
Merge pull request #973 from orange-elephant/entries-shown-count
Add entries showing count
2 years ago
elena 4bf807c46a Add entries showing count 2 years ago
Alexander Bakker e4798703f0 Make the FAB scroll listener a less sensitive
This should help minimize the glitchiness that can occur when scrolling
through the entry list.

Close #963.
2 years ago
Alexander Bakker 80624f844c Perform a version check when importing from the Steam app
Fixes #986.
2 years ago
Maarten Trompper 78feb25543 Minimize or Close app after copying OTP
Close #805
2 years ago
Alexander Bakker 3bc10bd4b8 Disallow importing empty secrets
Fixes #975

And display "ERROR" for any existing bad entries. This is kind of ugly,
but it's better than crashing, and there are probably very few (or zero)
users who have bad entries anyway.
2 years ago
Alexander Bakker 66b7fd38d6
Merge pull request #964 from orange-elephant/google-auth-style-export
Google Authenticator compatible export
2 years ago
elena bc665b6980 Google Authenticator compatible export 2 years ago
Alexander Bakker 06405d10ad Only request the POST_NOTIFICATIONS permission in tests on API 33 2 years ago
Alexander Bakker 1e3ceefeec Request permission to show notifications
This is needed since API 33, because we show a "Vault unlocked"
notification if the user has enabled encryption and has unlocked the
vault.
2 years ago
Alexander Bakker 642864fca1 Mark clipboard data as "sensitive" when copying tokens 2 years ago
Alexander Bakker 3ec6e35011 Update dependencies
This also updates the test dependencies to an alpha version. We have to
use a pre-stable version, because these include some fixes for running
on API 33.
2 years ago
Alexander Bakker e19ceb0761
Merge pull request #981 from jas14/monochromatic-icon
Add monochrome launcher icon
2 years ago
Joe Stein 012b66fe9b Pin Robolectric target SDKs to 32 3 years ago
Joe Stein 4cd0d2de04 Bump targetSdkVersion to 33 3 years ago
Joe Stein bb3f4d733f Add monochrome adaptive icon for Android 13 3 years ago
Maarten Trompper 05a8c7c51f Fixes #794 3 years ago
Alexander Bakker 029ca81bbf Don't catch the IllegalArgumentException when calling getMissingIndices
We always call isSingleBatch beforehand, so if the exception occurs,
it's a bug.
3 years ago
Alexander Bakker 70ceca6a7b
Merge pull request #958 from orange-elephant/fix-scan-google-auth-export-from-image
Import Google Authenticator exports by image
3 years ago
elena 2767727ad4 Import google auth export from image 3 years ago
Alexander Bakker 79022be3b6 Add an import button to the intro 3 years ago
Alexander Bakker dcda668671 Disable postprocessing for debug builds to speed them up 3 years ago
elena 5bb32a982b Enable sharing text to Aegis 3 years ago
Alexander Bakker 85e230c46a
Merge pull request #957 from orange-elephant/add-plaintext-export-warning
Add warning banner after plaintext export
3 years ago
elena 045b8280bf Add warning banner after plaintext export 3 years ago
Alexander Bakker 6fd8a3b6b4 Allow sharing multiple QR code images to Aegis through a single intent
This also refactors the logic for handling incoming intents a bit
3 years ago
Alexander Bakker e46857a26e Add support for importing multiple QR code images in one go
This is also part of the preparation needed for scanning Google
Authenticator Export QR codes from images.
3 years ago
Alexander Bakker b875baacef
Merge pull request #948 from orange-elephant/Add-mOTP-support
Add MOTP support
3 years ago
elena 3441deee64 Add MOTP support 3 years ago