Aegis/app/src/main/java/com/beemdevelopment/aegis/ui
Alexander Bakker 2323d89938 Introduce UUIDMap for storing objects that are keyed by a UUID
This patch introduces the new ``UUIDMap`` type, reducing code duplication and
making UUID lookups faster. We currently already use UUIDs as the identifier for
the ``DatabaseEntry`` and ``Slot`` types, but the way lookups by UUID work are
kind of ugly, as we simply iterate over the list until we find a match. As we're
probably going to have more types like this soon (groups and icons, for
example), I figured it'd be good to abstract this away into a separate type and
make it a map instead of a list.

The only thing that has gotten slower is the ``swap`` method. The internal
``LinkedHashMap`` retains insertion order with a linked list, but does not know
about the position of the values, so we basically have to copy the entire map to
simply swap two values. I don't think it's too big of a deal, because swap
operations still take less than a millisecond even with large vaults, but
suggestions for improving this are welcome.

I had to update gradle and JUnit to be able to use the new ``assertThrows``
assertion method, so this patch includes that as well.
2019-08-03 17:50:25 +02:00
..
glide Use glide to load and cache icons 2019-06-25 21:01:50 +02:00
models Limit the amount of entry info passed to SelectEntriesActivitiy 2019-06-06 01:25:39 +02:00
preferences Normalize formatting and 'optimize' imports 2019-04-04 14:07:36 +02:00
slides Get Cipher back from FingerprintManager,CryptoObject after auth 2019-04-04 18:18:34 +02:00
tasks Always try to decrypt the password slot first, before the fallback 2019-05-28 23:13:17 +02:00
views Introduce UUIDMap for storing objects that are keyed by a UUID 2019-08-03 17:50:25 +02:00
AegisActivity.java Add a language option to the preference menu 2019-06-22 09:58:35 +02:00
AuthActivity.java Use the old encode method for passwords over 64 bytes and repair the slot (#98) 2019-05-26 23:52:20 +02:00
Dialogs.java Add support for importing encrypted andOTP backups 2019-05-01 14:42:39 +02:00
EditEntryActivity.java Introduce UUIDMap for storing objects that are keyed by a UUID 2019-08-03 17:50:25 +02:00
GroupManagerActivity.java Normalize formatting and 'optimize' imports 2019-04-04 14:07:36 +02:00
IntroActivity.java Normalize formatting and 'optimize' imports 2019-04-04 14:07:36 +02:00
MainActivity.java Introduce UUIDMap for storing objects that are keyed by a UUID 2019-08-03 17:50:25 +02:00
PreferencesActivity.java Add workaround for amoled themed preferences 2019-03-28 01:08:44 +01:00
PreferencesFragment.java Introduce UUIDMap for storing objects that are keyed by a UUID 2019-08-03 17:50:25 +02:00
ScannerActivity.java Normalize formatting and 'optimize' imports 2019-04-04 14:07:36 +02:00
SelectEntriesActivity.java Limit the amount of entry info passed to SelectEntriesActivitiy 2019-06-06 01:25:39 +02:00
SlotManagerActivity.java Normalize formatting and 'optimize' imports 2019-04-04 14:07:36 +02:00