This patch addresses the following:
- More consistent offsets between entries in the list, especially in
relation to the action bar and the error card.
- Consistent correct application of card shapes when switching between
favoriting and unfavoriting entries.
- Removal of CompactDividerDecoration. We no longer uses dividers, so
this is no longer needed.
Previously, the dark background colors would not be applied for this
combination of settings.
Unfortunately, I couldn't find a way to avoid some duplication in
themes.xml.
I set CompactDividerDecoration to transparant, because that was already
effectively the case. I think we can remove this class entirely, but
I'll do that in a separate PR.
In rare cases where writing to disk fails after the intro, a crash could
occur if the user presses "Done" again. VaultManager would have been
initialized, and trying to initialize it again would result in a crash.
This fixes an issue where the entry list items no longer animated upon
move, insert, delete, etc.
RecyclerView's DefaultItemAnimator automatically scales the animations
according to the user's settings.
Introduced in 9ff8efab69
This should fix the following crash:
```
Exception java.lang.IndexOutOfBoundsException: setSpan (-1 ... 0) starts before 0
at android.text.SpannableStringInternal.checkRange (SpannableStringInternal.java:499)
at android.text.SpannableStringInternal.setSpan (SpannableStringInternal.java:199)
at android.text.SpannableStringInternal.setSpan (SpannableStringInternal.java:186)
at android.text.SpannableString.setSpan (SpannableString.java:60)
at com.beemdevelopment.aegis.ui.views.EntryAdapter$FooterView.refresh (EntryAdapter.java:596)
```
This trades performance for making VaultManager a bit easier to reason
about.
This also fixes a rare crash that could occur if the user retries to unlock
the app after the previous attempt resulted in an error related to
parsing the vault. The vault file would no longer be present in memory
after the first attempt, causing the second attempt to crash the app.
Here some changes to the vault documentation are made. The documentation
is updated to reflect the latest versions of both the vault and the
database, i.e. vault version 1 and database version 3.
Co-authored-by: Alexander Bakker <ab@alexbakker.me>
Icon packs may have very generic issuers for their icons (like [aegis-simple-icons](https://github.com/alexbakker/aegis-simple-icons)).
For example, this causes the icon assigning view to suggest the "C" icon for every
entry that contains a "c".
This patch addresses that by giving inverse matches (where the entry
issuer contains the icon issuer) a lower position in the suggested icons
list.
This is mostly a cleanup of the way we do Glide in-memory caching. It
also fixes a few minor issues along the way:
- Entry icon cache keys were based on entry UUID's. This could cause
problems when changing an entry's icon.
- A TextDrawable could get replaced by the icon of a different entry
when scrolling through the entry list quickly.