Commit graph

758 commits

Author SHA1 Message Date
Alexander Bakker
91f9a6756a Release v1.2-beta1 2020-05-16 13:53:30 +02:00
Alexander Bakker
89137c0873
Merge pull request #417 from michaelschattgen/feature/update-translations
Update translations
2020-05-16 13:44:42 +02:00
Michael Schättgen
ffa31c7aa3 Update translations 2020-05-16 13:37:41 +02:00
Michael Schättgen
e12bfdbe58
Merge pull request #365 from alexbakker/spongy-to-bouncy
Replace SpongyCastle with BouncyCastle
2020-05-16 12:50:58 +02:00
Alexander Bakker
3c887d8392 Replace SpongyCastle with BouncyCastle
SpongyCastle is a fork of BouncyCastle. We originally used this fork to 1) have
access to scrypt and 2) prevent a package name collision with the bundled
BouncyCastle. We don't actually need to use the fork anymore, because the
package name of the bundled BouncyCastle was changed in Android. SpongyCastle
has also gotten quite outdated in recent years.

The built-in version of BouncyCastle is replaced with the one bundled with the
app at runtime, so that we have a recent version even on older Android versions.

This also updates Gradle and the Gradle Android plugin, to fix a build error I
was running into when I added the dependency to BouncyCastle.
2020-05-16 12:30:38 +02:00
Michael Schättgen
b4d2b6b113
Merge pull request #410 from alexbakker/fix-0-byte-export
Reuse existing PreferencesFragment when restoring from instance state
2020-05-16 12:27:52 +02:00
Michael Schättgen
fe40c4b952
Merge pull request #407 from alexbakker/auth-plus-zip4j
Import from ZIP for the Authenticator Plus, instead of SQLite databases
2020-05-16 12:27:27 +02:00
Alexander Bakker
9319c74932
Merge pull request #403 from michaelschattgen/feature/card-entry-overhaul
Add minor card entry layout overhaul
2020-05-16 12:20:46 +02:00
Alexander Bakker
4c60b04057
Merge pull request #412 from michaelschattgen/feature/increase-reminder-period
Increase password reminder period to 30 days
2020-05-13 09:17:46 +02:00
Michael Schättgen
1a24f62074 Increase password reminder period to 30 days 2020-05-12 22:23:47 +02:00
Alexander Bakker
1824d38f75 Import from ZIP for the Authenticator Plus, instead of SQLite databases 2020-05-12 12:09:46 +02:00
Michael Schättgen
e41f200bcd
Merge pull request #406 from alexbakker/import-google-qr-export
Add initial support for importing Google Authenticator export QR codes
2020-05-12 11:50:31 +02:00
Alexander Bakker
ccc990f854 Reuse existing PreferencesFragment when restoring from instance state
This fixes an issue where the existing PreferencesFragment was discarded when
restoring PreferencesActivity from instance state. This issue caused the
PreferencesFragment to no longer receive activity results. Most notably, this
resulted in 0 byte vault files being created when exporting the vault.
2020-05-11 17:15:54 +02:00
Alexander Bakker
56bde0e19b Add support for importing from the new Google Authenticator export QR codes 2020-05-11 14:02:59 +02:00
Michael Schättgen
6b650e777f
Merge pull request #391 from alexbakker/time-sync-warning
Display a warning if automatic time sync is not enabled
2020-05-09 18:33:41 +02:00
Alexander Bakker
49a7fda932 Display a warning if automatic time sync is not enabled
This'll display a warning to users who don't have automatic time synchronization
enabled on their device. Aegis will try to take the user to the right settings
menu if they tap "Yes". Users also have the option to silence the warning.

[<img width=300 src="https://alexbakker.me/u/jf1o8087lr.png">](https://alexbakker.me/u/jf1o8087lr.png)
2020-05-09 18:14:10 +02:00
Michael Schättgen
8ff817856e
Merge pull request #378 from alexbakker/better-errors
Improve overall exception handling and error feedback to the user
2020-05-09 17:16:33 +02:00
Michael Schättgen
3a85a05078 Add minor card entry layout overhaul 2020-05-09 16:55:27 +02:00
Alexander Bakker
cda78c56c5 Improve overall exception handling and error feedback to the user
The main goals of this patch are to:
- Improve the exception handling in Aegis and the way we present errors messages
  to the user when they occur.
- Write exception stack traces to the log in more places, so that the ADB logs
  we ask for from our users when reporting bugs become more useful.
- Reduce the amount of times we throw a RuntimeException, particularly when an
  Android Keystore operation fails.

Achieving the above goals ended up resulting in a very large refactor. The
intro and unlock flow of the app need to be retested entirely.
2020-05-09 16:12:38 +02:00
Michael Schättgen
499f930086
Merge pull request #400 from NotWoods/about-activity
Change license link color so it is legible on dark
2020-05-09 14:53:54 +02:00
Michael Schättgen
393b815409
Merge pull request #394 from alexbakker/update-appintro
Update AppIntro to 6.0.0
2020-05-09 14:42:23 +02:00
Michael Schättgen
984010dc7a
Merge pull request #392 from alexbakker/export-filename
Append a timestamp to the filename of exported vaults
2020-05-09 14:39:18 +02:00
Michael Schättgen
0bbc413423
Merge pull request #389 from alexbakker/edit-entry-fix
Write entries to the vault directly in EditEntryActivity
2020-05-09 14:11:59 +02:00
Michael Schättgen
98a90e3e1e
Merge pull request #388 from alexbakker/proguard
Minify and optimize the APK using ProGuard
2020-05-09 14:08:47 +02:00
Tiger Oakes
3ccbece822 Change license link color so it is legible on dark 2020-05-06 17:48:48 -07:00
Alexander Bakker
0f81233d4f Add the Hungarian translation to the settings menu 2020-05-06 15:28:15 +02:00
Alexander Bakker
f6b1f02d11
Merge pull request #395 from meskobalazs/master
Add Hungarian translation
2020-05-06 15:26:13 +02:00
Alexander Bakker
301476ff5c Write entries to the vault directly in EditEntryActivity
This makes it so that EditEntryActivity directly saves entries to the vault,
instead of passing them back to MainActivity through an Intent first. This
prevents crashes that can occur when an entry has a large icon and the Bundle
inside the Intent becomes too large.

This is the first part of a series of patches I plan on submitting, where I try
to repair the damage done by my misguided obsession of only touching the global
state in certain places.
2020-05-06 15:07:19 +02:00
Balázs Meskó
b84f44bf1e Add Hungarian metadata 2020-05-06 15:00:54 +02:00
Balázs Meskó
842afe6745 Add Hungarian translation 2020-05-06 11:01:46 +02:00
Alexander Bakker
bc5fa68de8 Update AppIntro to 6.0.0 2020-05-05 19:14:10 +02:00
Alexander Bakker
fec2f3ff94 Append a timestamp to the filename of exported vaults
Close #297
2020-05-03 18:30:59 +02:00
Alexander Bakker
77718809ef Minify and optimize the APK using ProGuard
This enables some minification and optimization options to shrink the size of
our APK. A release APK would previously be 12 MB in size, but would now be 8.2
MB.

To test, check if *all* of the functionality of the app still works,
particularly parts that refer to dependencies. You'll know if ProGuard broke
something when the app crashes with a ``ClassNotFoundException`` or similar
exception. I think I've covered all of the cases where ProGuard removed too much
in the rule file.

Also, I was curious why our APK had gotten so large to begin with. I did some
digging and found that this is caused by the SQLCipher dependency. The APK
shrinks down to 2.7 MB without it! We should consider whether having support for
importing from Authenticator Plus is worth the extra 5.5 MB in size.
2020-05-02 15:28:38 +02:00
Alexander Bakker
9b328893f7
Merge pull request #381 from michaelschattgen/feature/period-improvement
Use most frequent period to show progress
2020-05-01 17:17:39 +02:00
Michael Schättgen
45378b8128
Merge pull request #386 from beemdevelopment/funding
Create FUNDING.yml
2020-05-01 10:56:08 +02:00
Alexander Bakker
b830c6db1b
Create FUNDING.yml 2020-05-01 09:40:42 +02:00
Michael Schättgen
7773a51f2a Use most frequent period to show progress 2020-04-27 02:29:10 +02:00
Michael Schättgen
f68badb659
Merge pull request #377 from alexbakker/fix-weird-reminder-crash
Show the password reminder popup after the window has been attached
2020-04-26 23:33:10 +02:00
Michael Schättgen
4ea8501fa9
Merge pull request #369 from Timbals/master
automatically adapt to system theme
2020-04-26 19:59:39 +02:00
Michael Schättgen
1f86697d2d
Merge pull request #380 from alexbakker/password-popup
Allow password reminder popup dismissal by typing
2020-04-26 19:59:19 +02:00
Alexander Bakker
faf24e15bd Allow password reminder popup dismissal by typing
Close #379
2020-04-26 11:12:25 +02:00
Alexander Bakker
592d482a9b
Merge pull request #370 from maximbaz/maximbaz-patch-1
Show account name only if it's set
2020-04-25 14:18:31 +02:00
Maxim Baz
ad05e375f1
Show account name only if it's set 2020-04-25 12:39:06 +02:00
Alexander Bakker
8b30d451a4 Show the password reminder popup after the window has been attached
I noticed a strange crash in the Play Console:

```
android.view.WindowManager$BadTokenException:
  at android.view.ViewRootImpl.setView (ViewRootImpl.java:828)
  at android.view.WindowManagerGlobal.addView (WindowManagerGlobal.jav>
  at android.view.WindowManagerImpl.addView (WindowManagerImpl.java:93)
  at android.widget.PopupWindow.invokePopup (PopupWindow.java:1434)
  at android.widget.PopupWindow.showAsDropDown (PopupWindow.java:1284)
  at android.widget.PopupWindow.showAsDropDown (PopupWindow.java:1240)
  at android.widget.PopupWindow.showAsDropDown (PopupWindow.java:1219)
  at com.beemdevelopment.aegis.ui.AuthActivity.lambda$showPasswordRemi>
  at com.beemdevelopment.aegis.ui.-$$Lambda$AuthActivity$WWHxRKllBPcyH>
  at android.os.Handler.handleCallback (Handler.java:873)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loop (Looper.java:220)
  at android.app.ActivityThread.main (ActivityThread.java:6929)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (Runt>
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:870)
```

I can't reproduce this on my device, and we haven't received any reports from
users, but it would be pretty bad if Aegis crashes on some devices when showing
the password reminder popup. This patch is an attempt to fix that (see:
https://stackoverflow.com/a/33809860/12972657).
2020-04-25 12:21:34 +02:00
Alexander Bakker
abe78370ea
Merge pull request #375 from l-marchesi/master
Option to change code display format (Issue #373)
2020-04-24 12:49:10 +02:00
Lukas Marchesi
00e2e90aa7 Add setting to change from 3 digit group size to 2 digit group size 2020-04-23 23:19:38 +02:00
Tim Balsfulland
f37d70b58e
automatically adapt to system theme
added two new theme options:
SYSTEM: dynamically switches between light and dark
SYSTEM_AMOLED: dynamically switches between light and amoled

reversed workaround for amoled themed preferences
launch screen now always follows the system theme
2020-04-20 15:29:41 +02:00
Alexander Bakker
09065c705b
Merge pull request #368 from michaelschattgen/feature/copy-multiselect
Fix bug where multiselect triggers copy animation
2020-04-19 17:00:00 +02:00
Michael Schättgen
ad58960831 Fix bug where multiselect triggers copy animation
Fix multiselect
2020-04-19 14:18:57 +02:00
orangenbaumblatt
7ce74d378f
Added selection indicator in icon slot (#344)
Changed selection color for black theme


Changed indicator color to black secondary


Fix indicator flickering when scrolling


Applied patch


Fix unsharp selection icon


Add selection indicators to small and compact view
2020-04-18 18:54:37 +02:00