Commit Graph

1388 Commits (master)

Author SHA1 Message Date
Alexander Bakker c616a4f43c
Merge pull request #1563 from michaelschattgen/feature/export-file-name-share
Make file name of exports consistent
8 months ago
Michael Schättgen 411a677fbf
Merge pull request #1548 from alexbakker/fix-menu-button-state
Fix state updates for the lock and sort menu items
8 months ago
Alexander Bakker d48f2ead28
Merge pull request #1564 from michaelschattgen/fix/contrast-next-code
Improve contrast of next code color
8 months ago
Alexander Bakker 8147d07606
Merge pull request #1562 from michaelschattgen/fix/group-entry-selection
Reset selection state when changing groups
8 months ago
Michael Schättgen 3a9e27bacb Improve contrast of next code color 8 months ago
Michael Schättgen 51f656dd6b Make file name of exports consistent 8 months ago
Michael Schättgen 3efe74d375 Reset selection state when changing groups 8 months ago
Michael Schättgen f9ada47956 Add fix for importing multiple entries 8 months ago
Alexander Bakker 5213bafc97
Merge pull request #1545 from michaelschattgen/feature/search-improvements
Improve search feature for better UX
8 months ago
Michael Schättgen 503ce87c91 Improve search feature for better UX 8 months ago
Alexander Bakker d2fcb24d79 Fix state updates for the lock and sort menu items
Turns out I was a little too enthusiastically removing things in 9d383b85d8.
The menu may not necessarily have been created yet in all cases.
8 months ago
Alexander Bakker 337cb74f72 Release v3.3.1 8 months ago
Alexander Bakker b5b29a4f84 Revert "Fix layout height in tiles mode"
This reverts commit 5dba1db93d.

Fixes #1544
8 months ago
Alexander Bakker 3e3df919b2 Release v3.3 8 months ago
Alexander Bakker 79ba822ccf Update translations from Crowdin 8 months ago
Michael Schättgen 5dba1db93d Fix layout height in tiles mode 8 months ago
Michael Schättgen 161b79f0d4
Merge pull request #1535 from alexbakker/fix-steam
Make subclasses of TotpInfo override only getOtp(long time)
8 months ago
Alexander Bakker 843e5f1ab5 Make subclasses of TotpInfo override only getOtp(long time)
This fixes an issue where Steam OTP's were displayed in the wrong
format. The underlying issue has been present for a while, but it first
became apparent in e4c9a584f4.
8 months ago
Alexander Bakker 9d383b85d8 Update sort category radio button state in the menu
This has been broken since 46e1421c28.

I also removed some other logic from ``onCreateOptionsMenu`` that
doesn't seem to belong there anymore.
8 months ago
Alexander Bakker 6d8eec0e21 Release v3.3-beta1 8 months ago
Alexander Bakker fb8765f8f0 Update translations from Crowdin 8 months ago
Alexander Bakker 337d2c3507 Fix a couple of entry equality checks in the adapter
With the introduction of DiffUtil, an entry might not be the same
instance in the in-memory vault as in the shown entry list of the
adapter.
8 months ago
Alexander Bakker 8eabef2050
Merge pull request #1496 from michaelschattgen/fix/dynamic-progress-color
Fix progress bar colors when using dynamic
8 months ago
Michael Schättgen eb7b8881a0 Fix progress bar colors when using dynamic 8 months ago
Alexander Bakker b70654152d
Merge pull request #1439 from r3dh3ck/feature/single_backup
Single backup
8 months ago
r3dh3ck 37ebcd3a4b Implement single backup 8 months ago
Alexander Bakker 9751a38ebd Update dependencies 8 months ago
Michael Schättgen 2ecde423a3
Merge pull request #1516 from alexbakker/api-35
Bump targetSdkVersion to 35 and update dependencies
9 months ago
Michael Schättgen e8f06660dc
Merge pull request #1506 from alexbakker/freeotp2
Add support for importing FreeOTP 2 backups
9 months ago
Michael Schättgen c8d5be6462
Merge pull request #1510 from alexbakker/better-share-entries
Minor improvements to the entry sharing activity
9 months ago
Michael Schättgen bc29242f55
Merge pull request #1505 from alexbakker/diffutil
Use DiffUtil for the RecyclerView of the entry list
9 months ago
Alexander Bakker d395bbeb8d Bump targetSdkVersion to 35 and update dependencies
This also includes changes to make the status guard hack work
on Android 15 and a couple of small adjustments to support edge-to-edge
in all activities.
9 months ago
Alexander Bakker 44358b3c95 Always cancel the delayed color change when hiding the code
Before, the dots may turn red if the animation duration scale is set to
0.
10 months ago
Alexander Bakker 413e793c7b
Merge pull request #1507 from michaelschattgen/feature/show-next-code
Add ability to show next code
10 months ago
Michael Schättgen e4c9a584f4 Add ability to show next code
Co-authored-by: Alexander Bakker <ab@alexbakker.me>
10 months ago
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"/>
10 months ago
Michael Schättgen 7753b482b1 Make secret multiline 10 months ago
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.
10 months ago
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.
10 months ago
Alexander Bakker 08d900c0c0 Rename onAssignEntriesResult to onAssignIconsResult 10 months ago
Michael Schättgen 45831e117c Fix visibility of locale setting on Marshmallow 10 months ago
Alexander Bakker c559ed9e56 Add NEW_GROUP placeholder type for group models to fix the build 10 months ago
Alexander Bakker 8e3279bb7e
Merge pull request #1498 from michaelschattgen/feature/single-tap-group
Change group filter to a single selection
10 months ago
Michael Schättgen 7ea2f5c4a5 Change group filter to a single selection 10 months ago
Alexander Bakker 9ef3315a70
Merge pull request #1497 from michaelschattgen/feature/assign-groups
Add ability to easily assign groups
10 months ago
Michael Schättgen 4a9f189897 Add ability to easily assign groups 10 months ago
Alexander Bakker 92de13b176
Merge pull request #1494 from michaelschattgen/feature/show-code-expiration
Show when codes are about to expire
10 months ago
Michael Schättgen 1e383463ae Show when codes are about to expire
Co-authored-by: Alexander Bakker <ab@alexbakker.me>
10 months ago
Alexander Bakker dbaec2d83f Use getQuantityString instead of getQuantityText for import_partial_export_anyway 10 months ago
Alexander Bakker 257a40eefa Remove some unused resources (and increase severity of check) 10 months ago
Alexander Bakker baa8068d51 Redefine "import_partial_export_anyway" as a quantity string 10 months ago
Alexander Bakker d433957c2f Remove usage of deprecated PreferenceManager 10 months ago
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"
10 months ago
Alexander Bakker bab59e8d04 Update dependencies 10 months ago
Alexander Bakker 83689a4c59
Merge pull request #1499 from michaelschattgen/fix/text-field-caps
Fix capitalization of multiple text fields
10 months ago
Sigmund Xia 58002c31ef Add support for Ente Auth import 10 months ago
Michael Schättgen d81d741fee Fix capitalization of multiple text fields 10 months ago
Alexander Bakker 17f106f70d
Merge pull request #1492 from michaelschattgen/fix/google-auth-proto
Fix batch_index in Google Authenticator export
10 months ago
Michael Schättgen 91b632b9cf Fix batch_index in Google Authenticator export 10 months ago
Alexander Bakker 8b8e071831
Merge pull request #1479 from michaelschattgen/feature/group-chipgroup
Improve group filters
10 months ago
Michael Schättgen 9c151d83c1 Improve group filters 10 months ago
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/*
```
10 months ago
Alexander Bakker df30e42318
Merge pull request #1481 from michaelschattgen/feature/reorder-groups
Add ability to reorder groups
11 months ago
Alexander Bakker 6cb58789a2
Merge pull request #1483 from michaelschattgen/fix/single-copy-reveal
Prevent copying when revealing code
11 months ago
Michael Schättgen 8c1cc9a475 Prevent copying when revealing code 11 months ago
Michael Schättgen aab046ca04 Make progressbar rounded on the right side 11 months ago
Michael Schättgen d40e619cab Add ability to reorder groups 11 months ago
Alexander Bakker 0046e8827e Release v3.2 11 months ago
Alexander Bakker 5640b8be83 Update translations from Crowdin 11 months ago
Alexander Bakker 3bc3448b5c
Merge pull request #1468 from michaelschattgen/feature/add-search-behavior
Add preference to change search behavior
11 months ago
Michael Schättgen 7472e32b25
Merge pull request #1466 from alexbakker/fix-audit-log-crash
Account for audit log entries that reference deleted entries
11 months ago
Michael Schättgen 3425256c29 Add preference to switch search behavior 11 months ago
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)
```
11 months ago
Alexander Bakker 7e1daf731f Trim spaces from the search filter 11 months ago
Alexander Bakker 99e633d61a Replace CircleImageView with ShapeableImageView 11 months ago
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/
11 months ago
Michael Schättgen 4ddc42ea51 Fix sizing inconsistency of the dots in hidden view 11 months ago
Alexander Bakker a46c816167
Merge pull request #1447 from michaelschattgen/feature/hide-account-name-tiles
Add ability to hide account name in tiles mode
12 months ago
Michael Schättgen 71c0ad2a08 Add ability to hide account name in tiles mode 12 months ago
Alexander Bakker 010e2628e8 Add an extra check before showing the password reminder popup
This is another attempt to fix a rare crash we're seeing in the
developer console:

```
Exception android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
  at android.view.ViewRootImpl.setView (ViewRootImpl.java:1423)
  at android.view.WindowManagerGlobal.addView (WindowManagerGlobal.java:408)
  at android.view.WindowManagerImpl.addView (WindowManagerImpl.java:148)
  at android.widget.PopupWindow.invokePopup (PopupWindow.java:1583)
  at android.widget.PopupWindow.showAsDropDown (PopupWindow.java:1430)
  at android.widget.PopupWindow.showAsDropDown (PopupWindow.java:1386)
  at com.beemdevelopment.aegis.ui.AuthActivity.lambda$showPasswordReminder$5 (AuthActivity.java:253)
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:211)
  at android.os.Looper.loop (Looper.java:300)
  at android.app.ActivityThread.main (ActivityThread.java:8294)
  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:1028)
```
12 months ago
Alexander Bakker db4c738c8f Update dependencies 12 months ago
Alexander Bakker 655881e852 Make the export dialog scrollable
Reported by @valentinb102 on Matrix.
12 months ago
Alexander Bakker 29eccaf9cf
Merge pull request #1429 from r3dh3ck/fix/preferences_result_location
Remove preferences result
1 year ago
r3dh3ck f796e4542a Remove preferences result 1 year ago
Alexander Bakker a10693e79e Expand the number of cases covered under the slot exclusion tests 1 year ago
Alexander Bakker b76e7a369c
Merge pull request #1424 from r3dh3ck/fix/biometric_slot_stripping
Strip a biometric slot when a backup is made
1 year ago
Alexander Bakker 4ea19a2b7a Don't enforce backup versioning if versionsToKeep <= 0 1 year ago
Alexander Bakker 6a67ca43e4
Merge pull request #1433 from r3dh3ck/feature/infinite_backups
Infinite backups
1 year ago
r3dh3ck fc8cdc6502 Implement infinite backups 1 year ago
Alexander Bakker 27a723205e
Merge pull request #1437 from michaelschattgen/fix/duplicate-dialog
Fix showing duplicate time sync dialogs
1 year ago
Michael Schättgen 7d76be577d Fix showing duplicate time sync dialogs 1 year ago
r3dh3ck 62f25d9ae9 Strip a biometric slot when a backup is made 1 year ago
Michael Schättgen e53688d30d Fix datetime parsing in Audit Log 1 year ago
Michael Schättgen ec237ecb4e
Merge pull request #1349 from InfiniteCoder06/feature-multi-group
Support for Adding Multiple Groups
1 year ago
Michael Schättgen 8960ffffb4 Release v3.1.1 1 year ago
Praveen Kumar 2e9efa0617
Support for Adding Multiple Groups 1 year ago
Alexander Bakker 2050d29236
Merge pull request #1393 from michaelschattgen/feature/hide-keyboard-on-scroll
Hide keyboard on scroll when search field is focused
1 year ago
Michael Schättgen c1ffe4a23e Hide keyboard on scroll when search field is focused 1 year ago
Michael Schättgen 52f8c709b5
Merge pull request #1432 from alexbakker/fix-1417
Simplify approach for animating advanced entry settings
1 year ago
Alexander Bakker 94d1cc6608 Simplify approach for animating advanced entry settings
This slightly simplifies the approach we use to animate the advanced
entry settings into view, by defaulting its alpha to 0 and setting it to
VISIBLE before the animation starts. That way, we're not dependent on
"animation ended" callbacks that apparently don't fire in all cases.

The XML diff looks a bit scary, but it basically just removes a
wrapping ``RelativeLayout`` that appears to not be necessary.
1 year ago