Commit graph

1154 commits

Author SHA1 Message Date
Alexander Bakker
08c73922cc Explain vault backup permission error
Users understandably get confused by the "No persisted URI permissions"
error. This patch adds some text to the dialog explaining why this
happened and how the user can fix the issue.

This permission issue can happen for one of two reasons:
- The user made a change to the backup destination (renamed, moved,
  deleted, etc)
- Aegis was restored from an Android backup
2023-11-29 20:09:37 +01:00
Joshua Soberg
45220241aa
#1231 - Use public constructors for License/Changelog dialog fragments so that they can be recreated on configuration change 2023-11-28 19:04:18 -05:00
Alexander Bakker
60e93559c3 Bump target SDK version and update dependencies 2023-11-07 20:29:45 +01:00
Michael Schättgen
1c86c5fd51 Add ability to select all tokens 2023-09-24 17:12:37 +02:00
Alexander Bakker
c13d4e7f8d Transition to non-final resource IDs and non-transitive R classes
Future versions of AGP will force us to do this, so we might as well get
it over with now.
2023-09-19 23:34:08 +02:00
Alexander Bakker
03f1a0e8ab Introduce a separate menu for AssignIconsActivity
Apparently this was using ``menu_groups``, probably a copy-paste error.

This also moves ``AssignIconsActivity`` to the right package.
2023-09-18 22:31:38 +02:00
Alexander Bakker
305e157fc5
Merge pull request #1078 from orange-elephant/entries-in-multiple-groups
Refer to groups by UUID
2023-09-11 22:34:14 +02:00
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
Michael Schättgen
b84ecf15da
Merge pull request #1184 from alexbakker/no-nested-recyclerview
Never wrap RecyclerView with a NestedScrollView
2023-09-10 00:32:41 +02:00
Alexander Bakker
31b8162ab4 Use 'comment' instead of 'context' to add context to strings 2023-09-09 22:09:03 +02:00
Alexander Bakker
7def7eb4f7 Remove unused strings and add context to a couple of strings
Most of these were related to slots. Also removed the card_slot layout.
2023-09-09 21:59:31 +02:00
Alexander Bakker
8ca45d2322 Fix singular form of the import_error_dialog string 2023-09-09 21:37:34 +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
Alexander Bakker
37964da4a5 Clarify that only Aegis vaults can be imported during the intro
Some users understandably get confused when they try to import a backup
file from a different 2FA app during the intro and then get greeted
with an error dialog.

This changes the button text to "Import Aegis vault" and adds a small
hint text in the hope that this makes the limitations of the intro more
clear to the user.

<img width="200" src="https://alexbakker.me/u/jzhh3bk30w.png" />
2023-09-09 12:51:04 +02:00
Alexander Bakker
dd9c307dea Release v2.2.2 2023-09-09 12:15:32 +02:00
Alexander Bakker
c65ecd9c54 Update translations from Crowdin 2023-09-09 12:08:06 +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
27e56d60b5 Release v2.2.1 2023-09-06 23:49:51 +02:00
Michael Schättgen
c9cf6729e0 Fix biometrics unlock button on AuthActivity 2023-09-06 23:39:18 +02:00
Alexander Bakker
b916697391
Merge pull request #1171 from michaelschattgen/feature/import-duplicates
Add ability to skip duplicates during import
2023-09-06 12:49:23 +02:00
Michael Schättgen
b205438982 Add ability to skip duplicates during import 2023-09-06 12:40:01 +02:00
Michael Schättgen
4f83706f73 Release v2.2 2023-09-05 23:12:55 +02:00
Michael Schättgen
44bb11e2d8 Update translations from Crowdin 2023-09-05 22:54:29 +02:00
Alexander Bakker
2793b65786 Fix versions of two build dependencies 2023-08-31 23:46:03 +02:00
Michael Schättgen
5e35cc203f Fix bug in Japanese translation 2023-08-30 22:58:32 +02:00
Michael Schättgen
67d7f7a75d Release v2.2-beta1 2023-08-30 21:37:56 +02:00
Michael Schättgen
18e6fd2561 Update translations from Crowdin 2023-08-30 21:09:24 +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
Alexander Bakker
3278d6544b Update dependencies 2023-08-30 14:26:12 +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
d3c48848be
Merge pull request #1162 from michaelschattgen/feature/account-name-position
Add ability to change account name position
2023-08-17 02:20:17 +02:00
Michael Schättgen
813fd62dc7 Add ability to change account name position 2023-08-16 23:40:19 +02:00
nerodevo
3026a3eab1 Remove unwanted character 2023-06-04 06:38:04 -05: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
e906131f1b Disable Glide notification permission lint check
Fixes the build
2023-03-01 14:38:29 +01:00