Commit graph

1610 commits

Author SHA1 Message Date
Alexander Bakker
c9e8d4dbdf Minor improvements to the entry sharing activity
This patch makes a couple of minor improvements to the entry sharing
activity:
- Remove the double "Transfer entries" heading.
- Make the QR codes larger. Especially helpful with Google Authenticator
  exports.
- Increase screen brightness to 100%.

Before and after:

<img width="200" src="https://alexbakker.me/u/d91cl1x495.png"/>
<img width="200" src="https://alexbakker.me/u/ckzhrs5nf5.png"/>

<img width="200" src="https://alexbakker.me/u/6bo0womot0.png"/>
<img width="200" src="https://alexbakker.me/u/mw7yskjn7z.png"/>
2024-10-04 18:14:26 +02:00
Alexander Bakker
0573dbb2fc
Merge pull request #1509 from michaelschattgen/fix/secret-multiline
Make secret multiline
2024-10-04 11:02:33 +02:00
Michael Schättgen
7753b482b1 Make secret multiline 2024-10-02 13:33:27 +02:00
Alexander Bakker
cc5ce485b1 Add support for importing FreeOTP 2 backups
I've held off on this in the past, because I was concerned about the
security issues related to Java object deserialization. To circumvent
that, I've written a parser that understands just enough of the Java
Object Serialization format to parse FreeOTP 2 backups.

Unfortunately there are a number of issues in FreeOTP 2 that may result in
corrupt backups. The importer warns the user about this and tries to
salvage as many entries as possible.
2024-09-28 15:49:22 +02:00
Alexander Bakker
9131cae944 Use DiffUtil for the RecyclerView of the entry list
Gets rid of all of the custom logic we had for notifying the
RecyclerView about changes in the entry list. This will allow for more
simplifications in the future around non-persisted changes to state in
the entry list.

A neat side effect is that any filtering/ordering changes in the entry
list are now also animated: https://alexbakker.me/u/4a4ie5yzpj.mp4

This touches the fundamentals of the entry list, so lots of careful
testing required.
2024-09-25 22:29:49 +02:00
Alexander Bakker
08d900c0c0 Rename onAssignEntriesResult to onAssignIconsResult 2024-09-25 11:36:35 +02:00
Alexander Bakker
24d3d0ae8f
Merge pull request #1503 from michaelschattgen/fix/locale-marshmallow
Fix visibility of locale setting on Marshmallow
2024-09-24 23:44:08 +02:00
Michael Schättgen
45831e117c Fix visibility of locale setting on Marshmallow 2024-09-24 23:39:03 +02:00
Alexander Bakker
c559ed9e56 Add NEW_GROUP placeholder type for group models to fix the build 2024-09-24 22:03:27 +02:00
Alexander Bakker
8e3279bb7e
Merge pull request #1498 from michaelschattgen/feature/single-tap-group
Change group filter to a single selection
2024-09-24 21:48:31 +02:00
Michael Schättgen
7ea2f5c4a5 Change group filter to a single selection 2024-09-24 21:47:40 +02:00
Alexander Bakker
9ef3315a70
Merge pull request #1497 from michaelschattgen/feature/assign-groups
Add ability to easily assign groups
2024-09-24 21:26:25 +02:00
Michael Schättgen
4a9f189897 Add ability to easily assign groups 2024-09-24 21:24:51 +02:00
Alexander Bakker
92de13b176
Merge pull request #1494 from michaelschattgen/feature/show-code-expiration
Show when codes are about to expire
2024-09-24 20:56:21 +02:00
Michael Schättgen
1e383463ae Show when codes are about to expire
Co-authored-by: Alexander Bakker <ab@alexbakker.me>
2024-09-24 20:55:11 +02:00
Alexander Bakker
dbaec2d83f Use getQuantityString instead of getQuantityText for import_partial_export_anyway 2024-09-21 15:24:44 +02:00
Alexander Bakker
257a40eefa Remove some unused resources (and increase severity of check) 2024-09-21 15:09:54 +02:00
Alexander Bakker
baa8068d51 Redefine "import_partial_export_anyway" as a quantity string 2024-09-21 14:17:56 +02:00
Alexander Bakker
d433957c2f Remove usage of deprecated PreferenceManager 2024-09-21 14:12:06 +02:00
Alexander Bakker
6a54650635 Format multiple string substitutions in positional format
This resolves the following lint error: "Multiple substitutions
specified in non-positional format of string resource"
2024-09-21 14:01:04 +02:00
Alexander Bakker
bab59e8d04 Update dependencies 2024-09-21 13:07:34 +02:00
Alexander Bakker
83689a4c59
Merge pull request #1499 from michaelschattgen/fix/text-field-caps
Fix capitalization of multiple text fields
2024-09-19 21:39:47 +02:00
Alexander Bakker
356fa8a36e
Merge pull request #1470 from sigmundxia/master
Add support for Ente Auth import
2024-09-19 20:53:25 +02:00
Sigmund Xia
58002c31ef Add support for Ente Auth import 2024-09-19 10:26:05 +08:00
Michael Schättgen
d81d741fee Fix capitalization of multiple text fields 2024-09-19 00:55:02 +02:00
Alexander Bakker
17f106f70d
Merge pull request #1492 from michaelschattgen/fix/google-auth-proto
Fix batch_index in Google Authenticator export
2024-09-17 21:30:48 +02:00
Michael Schättgen
91b632b9cf Fix batch_index in Google Authenticator export 2024-09-17 20:59:13 +02:00
Alexander Bakker
8b8e071831
Merge pull request #1479 from michaelschattgen/feature/group-chipgroup
Improve group filters
2024-09-16 23:47:07 +02:00
Michael Schättgen
9c151d83c1 Improve group filters 2024-09-16 23:42:07 +02:00
Michael Schättgen
e63ec4d1e8
Merge pull request #1490 from alexbakker/fix-pack-crash
Fix a crash that could occur when deleting a broken icon pack import
2024-09-16 22:58:03 +02:00
Alexander Bakker
f8603395fa Fix a crash that could occur when deleting a broken icon pack import
The following crash could occur when trying to import an icon pack for
which an empty folder still exists on disk:

```
Exception java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 1
  at jdk.internal.util.Preconditions.outOfBounds (Preconditions.java:64)
  at jdk.internal.util.Preconditions.outOfBoundsCheckIndex (Preconditions.java:70)
  at jdk.internal.util.Preconditions.checkIndex (Preconditions.java:266)
  at java.util.Objects.checkIndex (Objects.java:359)
  at java.util.ArrayList.remove (ArrayList.java:511)
  at com.beemdevelopment.aegis.ui.views.IconPackAdapter.removeIconPack (IconPackAdapter.java:38)
  at com.beemdevelopment.aegis.ui.fragments.preferences.IconPacksManagerFragment.removeIconPack (IconPacksManagerFragment.java:158)
  at com.beemdevelopment.aegis.ui.fragments.preferences.IconPacksManagerFragment.lambda$importIconPack$3 (IconPacksManagerFragment.java:133)
  at androidx.appcompat.app.AlertController$ButtonHandler.handleMessage (AlertController.java:167)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.app.ActivityThread.main (ActivityThread.java:8762)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:604)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)
```

To reproduce on a debug build of Aegis with the latest aegis-icons
imported into the app, run the following commands and then try to import
the same aegis-icons ZIP again:

```
$ adb shell
$ su
# rm -r /data/data/com.beemdevelopment.aegis.debug/files/icons/c1018b93-4e8c-490a-b575-30dde62a833e/20230523/*
```
2024-09-16 22:19:02 +02:00
Alexander Bakker
df30e42318
Merge pull request #1481 from michaelschattgen/feature/reorder-groups
Add ability to reorder groups
2024-09-12 22:51:15 +02:00
Alexander Bakker
6cb58789a2
Merge pull request #1483 from michaelschattgen/fix/single-copy-reveal
Prevent copying when revealing code
2024-09-11 21:04:02 +02:00
Alexander Bakker
eb6e26a8e4
Merge pull request #1482 from michaelschattgen/feature/rounded-progressbar
Make progressbar rounded on the right side
2024-09-11 20:48:49 +02:00
Michael Schättgen
8c1cc9a475 Prevent copying when revealing code 2024-09-11 14:03:34 +02:00
Michael Schättgen
aab046ca04 Make progressbar rounded on the right side 2024-09-11 13:19:19 +02:00
Michael Schättgen
d40e619cab Add ability to reorder groups 2024-09-11 12:24:50 +02:00
Alexander Bakker
0046e8827e Release v3.2 2024-09-08 18:41:30 +02:00
Alexander Bakker
5640b8be83 Update translations from Crowdin 2024-09-08 18:28:07 +02:00
Alexander Bakker
3bc3448b5c
Merge pull request #1468 from michaelschattgen/feature/add-search-behavior
Add preference to change search behavior
2024-09-06 19:36:54 +02:00
Michael Schättgen
7472e32b25
Merge pull request #1466 from alexbakker/fix-audit-log-crash
Account for audit log entries that reference deleted entries
2024-09-04 11:31:12 +02:00
Michael Schättgen
3425256c29 Add preference to switch search behavior 2024-08-28 16:32:23 +02:00
Alexander Bakker
b92956dece Account for audit log entries that reference deleted entries
This fixes the following crash I noticed in the developer console:

```
Exception java.lang.AssertionError:
  at com.beemdevelopment.aegis.util.UUIDMap.getByUUID (UUIDMap.java:127)
  at com.beemdevelopment.aegis.vault.VaultRepository.getEntryByUUID (VaultRepository.java:229)
  at com.beemdevelopment.aegis.ui.fragments.preferences.AuditLogPreferencesFragment.lambda$onViewCreated$0 (AuditLogPreferencesFragment.java:70)
  at androidx.lifecycle.LiveData.considerNotify (LiveData.java:133)
  at androidx.lifecycle.LiveData.dispatchingValue (LiveData.java:151)
  at androidx.lifecycle.LiveData.setValue (LiveData.java:309)
  at androidx.lifecycle.LiveData$1.run (LiveData.java:93)
  at android.os.Handler.handleCallback (Handler.java:959)
  at android.os.Handler.dispatchMessage (Handler.java:100)
  at android.os.Looper.loopOnce (Looper.java:232)
  at android.os.Looper.loop (Looper.java:317)
  at android.app.ActivityThread.main (ActivityThread.java:8592)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:580)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:878)
```
2024-08-27 23:01:33 +02:00
Michael Schättgen
20c5236cfa
Merge pull request #1467 from alexbakker/trim-search
Trim spaces from the search filter
2024-08-27 22:18:46 +02:00
Alexander Bakker
7e1daf731f Trim spaces from the search filter 2024-08-27 22:05:25 +02:00
Michael Schättgen
2add8aab14
Merge pull request #1464 from alexbakker/shapeableimageview
Replace CircleImageView with ShapeableImageView
2024-08-27 20:49:38 +02:00
Alexander Bakker
99e633d61a Replace CircleImageView with ShapeableImageView 2024-08-27 20:02:06 +02:00
Michael Schättgen
7ce72e046a
Merge pull request #1465 from alexbakker/vendor-jcenter-libs
Vendor TextDrawable and TrustedIntents
2024-08-26 23:55:33 +02:00
Alexander Bakker
991da65af0 Vendor TextDrawable and TrustedIntents
These were the only two libraries we were still getting from JCenter,
which was permanently shut down recently: https://jfrog.com/blog/jcenter-sunset/
2024-08-26 23:06:09 +02:00
Alexander Bakker
9eae773efb
Merge pull request #1458 from michaelschattgen/fix/hidden-dots-size
Fix sizing inconsistency of the dots in hidden view
2024-08-23 23:08:35 +02:00