Commit graph

964 commits

Author SHA1 Message Date
elena
5c86e5c099 Refer to groups by UUID
- Also lays the foundations for adding entries to multiple groups and changing group names

Co-authored-by: Alexander Bakker <ab@alexbakker.me>
2023-09-11 22:28:53 +02:00
Michael Schättgen
0760bfc618
Merge pull request #1188 from alexbakker/fix-anim-issues
Fix two issues related to animation duration scale
2023-09-11 21:34:33 +02:00
Alexander Bakker
9414b5c420
Merge pull request #1172 from michaelschattgen/feature/assign-icons
Add ability to automatically assign icons to (imported) entries
2023-09-11 21:07:23 +02:00
Alexander Bakker
e7a1058618 Fix two issues related to animation duration scale
This patch addresses two issues:
- The entry selection icon would flicker when a non-1x animator
  duration scale was set.
- The advanced entry field animation was not shown if the animator
  duration scale was set to .5x, due to a rounding error.

Introduced in: 9ff8efab69
2023-09-11 21:05:20 +02:00
Michael Schättgen
1a6f85ccb6 Add ability to assign icons
More progress

Open IconPicker dialog on click

Add ability to reset

Fix changing icons

Cleanup

Add ability to assign icons after import

PR fixes
2023-09-10 12:14:57 +02:00
Alexander Bakker
ca4a3e2f74 Never wrap RecyclerView with a NestedScrollView
Wrapping a ``RecyclerView`` with a ``NestedScrollView`` breaks its recycling
functionality because the view height is stretched to fit the full list
of entries.

We never noticed performance issues in these two cases because these
lists never get very long. Let's fix these cases anyway so that we
don't accidentally base a new use of a ``RecyclerView`` on this broken
pattern.

Also renamed ``list_slots`` to ``list_groups``. Must have been
a copy-paste error.
2023-09-09 18:37:07 +02:00
Michael Schättgen
72511fc02b
Merge pull request #1180 from alexbakker/fix-tile-crash
Check for null returned by getQsTile()
2023-09-08 00:26:47 +02:00
Michael Schättgen
79ade74c0c
Merge pull request #1179 from alexbakker/icon-name
Introduce optional 'name' field for iconpack icons
2023-09-08 00:26:15 +02:00
Alexander Bakker
1ccbe88ce6 Check for null returned by getQsTile()
Apparently ``getQsTile()`` can return null, which resulted in a crash.
Reported through the Google Play Console:

```
Exception java.lang.NullPointerException: Attempt to invoke virtual method 'void android.service.quicksettings.Tile.setState(int)' on a null object reference
  at com.beemdevelopment.aegis.services.LaunchAppTileService.onStartListening
  at android.service.quicksettings.TileService$H.handleMessage (TileService.java:488)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:205)
  at android.os.Looper.loop (Looper.java:294)
  at android.app.ActivityThread.main (ActivityThread.java:8177)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:552)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:971)
```
2023-09-07 23:51:01 +02:00
Alexander Bakker
9b3e7136bd Introduce optional 'name' field for iconpack icons
This introduces a new (optional) 'name' field for iconpack icons. It
will be used to describe the icon in the icon selection dialog. If it is
not present, the name of the icon will be derived from the filename,
like before. Using this new field allows usage of more exotic characters
in the icon name that are not allowed in a filename.
2023-09-07 22:49:52 +02:00
Alexander Bakker
9cabd9f309 Add support for new Authenticator Pro backup format
This adds support for Authenticator Pro's latest backup format changes.
The format of the content itself has not changed as far as I can tell, but
they do use a different cipher and KDF now: AES GCM and Argon2id,
respectively.

The memory cost is statically set at 64MiB. I suspect that this may
cause OOM situations on some lower-end devices, but we'll see, not much
we can do about that right now without making more changes.
2023-09-07 22:30:22 +02:00
Michael Schättgen
c9cf6729e0 Fix biometrics unlock button on AuthActivity 2023-09-06 23:39:18 +02:00
Michael Schättgen
b205438982 Add ability to skip duplicates during import 2023-09-06 12:40:01 +02:00
Michael Schättgen
9ff8efab69 Respect system animation setting
Co-authored-by: Alexander Bakker <ab@alexbakker.me>
2023-08-30 15:07:09 +02:00
Michael Schättgen
8917bb3b94 Fix the spacing between issuer and account name 2023-08-23 18:45:39 +02:00
Michael Schättgen
d90303cf0e Add tiles view mode
Minor UI improvements
Fix animations
Fix typo
Improvements made after PR review
PR improvements

Co-authored-by: Alexander Bakkker <ab@alexbakker.me>
2023-08-23 17:29:18 +02:00
Michael Schättgen
edb1d8d76f Add ability to only show names when necessary 2023-08-21 00:24:10 +02:00
Michael Schättgen
3ff242e6b6 Add ability to change copy behavior 2023-08-20 15:51:32 +02:00
Michael Schättgen
ef069e49af Add dialog when password reminder is activated 2023-08-18 10:46:08 +02:00
Michael Schättgen
813fd62dc7 Add ability to change account name position 2023-08-16 23:40:19 +02:00
Alexander Bakker
efd8e2d9ff Run key derivation for Authenticator Pro importer on background thread 2023-03-03 23:04:33 +01:00
Alexander Bakker
58b8edf318 Various minor touchups for the Authenticator Pro importer 2023-03-03 21:44:21 +01:00
Alexander Bakker
abe7af1549
Merge pull request #1080 from NepNep21/authpro
Add Authenticator Pro encrypted import support, fixes #1035
2023-03-03 20:53:17 +01:00
NepNep21
289d5409a5
Add Authenticator Pro encrypted import support 2023-03-02 17:46:45 -03:00
Alexander Bakker
90f2ea79d9
Merge pull request #1100 from beemdevelopment/bugfix/empty-state
Fix empty state while using search filter
2023-03-01 12:11:23 +01:00
Michael Schättgen
3c9e5a9fdb Fix empty state while using search filter 2023-02-27 23:49:35 +01:00
Michael Schättgen
61d41a26fa Add ability to disable backup reminder 2023-02-05 18:31:31 +01:00
elena
d3e5472ef2 Only enable export buttons if options are in a valid state 2022-12-20 17:27:46 +00:00
Alexander Bakker
bf825df221 Fix crash caused by incorrect Toast creation 2022-12-18 18:39:46 +01:00
Alexander Bakker
121c1dada9
Merge pull request #1054 from orange-elephant/checkboxes-dropdown
Create checkboxes dropdown component
2022-12-18 18:20:56 +01:00
elena
1c9931b1c8 Display export groups selection as dropdown 2022-12-13 15:22:00 +00:00
elena
51698947aa Create checkboxes dropdown component 2022-12-13 15:20:00 +00:00
Alexander Bakker
4bd12f5abe Don't try to move entries that are filtered out
This fixes a crash that could occur when changing an entry in such a
way that it is filtered out from the entry list after the change.
2022-12-06 18:41:29 +01:00
Alexander Bakker
7a1e4e1d77 Move HTML export logic to a separate file and finish it up 2022-12-05 22:10:35 +01:00
Alexander Bakker
2c36149a3d
Merge pull request #1032 from JordanPlayz158/master
Battle.net Authenticator Import Support
2022-12-05 22:00:05 +01:00
JordanPlayz158
f3731c23a3 Battle.net Importing Support
Fixed issue caused by supplying the VaultEntry with the Base32 encoded string rather than the raw secret

Added blizzard package to manifest so Aegis is allowed to query whether the app is installed

Fixed VaultEntry to be more inline with other entries

Removed the unnecessary encoding of the secret as it is used as is without encoding and changed the way the TotpInfo object is supplied with the relevant information.

Credits to alexbakker (https://github.com/beemdevelopment/Aegis/pull/1032#pullrequestreview-1203477313)
2022-12-05 14:55:27 -05:00
Alexander Bakker
bebda569de
Merge pull request #1039 from CristianAUnisa/export-to-html
Export vault to HTML
2022-12-04 23:01:25 +01:00
Alexander Bakker
0112431269 Abort andOTP import early if number of iterations is suspicious 2022-12-04 20:34:48 +01:00
CristianAUnisa
59c887e6a4 Export vault to HTML 2022-12-04 19:30:32 +01:00
Alexander Bakker
ee6a020f4d Disallow empty strings to pass through text input dialogs
This also fixes a crash for certain importers than could occur if the
user entered an empty password.
2022-12-04 19:20:43 +01:00
Alexander Bakker
ee15a61403 Prevent the use of MD5 for anything other than mOTP
This forcefully resets any HOTP/TOTP entries that were using MD5 back to
SHA1, because users could only configure this by mistake. No website should be
using it, as the HOTP algorithm was not made to be compatible with the
hash length of MD5.
2022-12-04 18:49:54 +01:00
Alexander Bakker
927a27943b
Merge pull request #1045 from Toadsta/copyURI
Copy URI to clipboard when using transfer entries
2022-12-04 17:00:12 +01:00
Alexander Bakker
69f0bb4fbc Request root access from separate thread and don't use global Shell
This should help prevent some of the ANR's reported through Google Play
2022-12-04 16:55:19 +01:00
Alexander Bakker
8cf48a94aa Clarify backup reminder with time elapsed since last backup/export 2022-12-04 15:44:45 +01:00
Alexander Bakker
d7e2114811 Pass Context instead of Activity where possible 2022-12-03 21:45:39 +01:00
Alexander Bakker
caad516a6e Don't show the password reminder popup if the activity is finished 2022-12-03 21:30:10 +01:00
Alexander Bakker
12683e3ff0 Don't process QR code if ScannerActivity is finished 2022-12-03 21:27:43 +01:00
Alexander Bakker
74ecdec637 Ignore any menu clicks before the camera is ready in ScannerActivity 2022-12-03 21:19:02 +01:00
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
2022-12-03 21:11:33 +01:00
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>
2022-12-03 20:06:25 +00:00