Commit Graph

863 Commits (875c752f784ca24786b5915cab2cc4aa48eea95f)
 

Author SHA1 Message Date
orangenbaumblatt 6ac91e6cf3 Improve Action Bar consistency for Settings and About
Change Group Manager back icon
5 years ago
Alexander Bakker a39d6ab346 Improve icon editing flow
This improves the entry icon editing flow as suggested in #252:
- Add an "Edit icon" menu item
- Save the icon even if the checkmark was not clicked
- Exit icon edit mode with the back button

Close #252.
5 years ago
Alexander Bakker 91d89670d2 Update dependencies and sort them alphabetically 5 years ago
Alexander Bakker 6a2992530e Release v1.2-beta2 5 years ago
Alexander Bakker 1f839a886d Don't replace the Bouncy Castle security provider
We only use Bouncy Castle for scrypt, so replacing the security provider was a
nice to have. It's causing issues because Proguard removes Bouncy Castle
classes. As we just released a beta, this is a quick fix and we may revisit this
later.
5 years ago
Alexander Bakker 91f9a6756a Release v1.2-beta1 5 years ago
Alexander Bakker 89137c0873
Merge pull request #417 from michaelschattgen/feature/update-translations
Update translations
5 years ago
Michael Schättgen ffa31c7aa3 Update translations 5 years ago
Michael Schättgen e12bfdbe58
Merge pull request #365 from alexbakker/spongy-to-bouncy
Replace SpongyCastle with BouncyCastle
5 years ago
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.
5 years ago
Michael Schättgen b4d2b6b113
Merge pull request #410 from alexbakker/fix-0-byte-export
Reuse existing PreferencesFragment when restoring from instance state
5 years ago
Michael Schättgen fe40c4b952
Merge pull request #407 from alexbakker/auth-plus-zip4j
Import from ZIP for the Authenticator Plus, instead of SQLite databases
5 years ago
Alexander Bakker 9319c74932
Merge pull request #403 from michaelschattgen/feature/card-entry-overhaul
Add minor card entry layout overhaul
5 years ago
Alexander Bakker 4c60b04057
Merge pull request #412 from michaelschattgen/feature/increase-reminder-period
Increase password reminder period to 30 days
5 years ago
Michael Schättgen 1a24f62074 Increase password reminder period to 30 days 5 years ago
Alexander Bakker 1824d38f75 Import from ZIP for the Authenticator Plus, instead of SQLite databases 5 years ago
Michael Schättgen e41f200bcd
Merge pull request #406 from alexbakker/import-google-qr-export
Add initial support for importing Google Authenticator export QR codes
5 years ago
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.
5 years ago
Alexander Bakker 56bde0e19b Add support for importing from the new Google Authenticator export QR codes 5 years ago
Michael Schättgen 6b650e777f
Merge pull request #391 from alexbakker/time-sync-warning
Display a warning if automatic time sync is not enabled
5 years ago
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)
5 years ago
Michael Schättgen 8ff817856e
Merge pull request #378 from alexbakker/better-errors
Improve overall exception handling and error feedback to the user
5 years ago
Michael Schättgen 3a85a05078 Add minor card entry layout overhaul 5 years ago
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.
5 years ago
Michael Schättgen 499f930086
Merge pull request #400 from NotWoods/about-activity
Change license link color so it is legible on dark
5 years ago
Michael Schättgen 393b815409
Merge pull request #394 from alexbakker/update-appintro
Update AppIntro to 6.0.0
5 years ago
Michael Schättgen 984010dc7a
Merge pull request #392 from alexbakker/export-filename
Append a timestamp to the filename of exported vaults
5 years ago
Michael Schättgen 0bbc413423
Merge pull request #389 from alexbakker/edit-entry-fix
Write entries to the vault directly in EditEntryActivity
5 years ago
Michael Schättgen 98a90e3e1e
Merge pull request #388 from alexbakker/proguard
Minify and optimize the APK using ProGuard
5 years ago
Tiger Oakes 3ccbece822 Change license link color so it is legible on dark 5 years ago
Alexander Bakker 0f81233d4f Add the Hungarian translation to the settings menu 5 years ago
Alexander Bakker f6b1f02d11
Merge pull request #395 from meskobalazs/master
Add Hungarian translation
5 years ago
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.
5 years ago
Balázs Meskó b84f44bf1e Add Hungarian metadata 5 years ago
Balázs Meskó 842afe6745 Add Hungarian translation 5 years ago
Alexander Bakker bc5fa68de8 Update AppIntro to 6.0.0 5 years ago
Alexander Bakker fec2f3ff94 Append a timestamp to the filename of exported vaults
Close #297
5 years ago
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.
5 years ago
Alexander Bakker 9b328893f7
Merge pull request #381 from michaelschattgen/feature/period-improvement
Use most frequent period to show progress
5 years ago
Michael Schättgen 45378b8128
Merge pull request #386 from beemdevelopment/funding
Create FUNDING.yml
5 years ago
Alexander Bakker b830c6db1b
Create FUNDING.yml 5 years ago
Michael Schättgen 7773a51f2a Use most frequent period to show progress 5 years ago
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
5 years ago
Michael Schättgen 4ea8501fa9
Merge pull request #369 from Timbals/master
automatically adapt to system theme
5 years ago
Michael Schättgen 1f86697d2d
Merge pull request #380 from alexbakker/password-popup
Allow password reminder popup dismissal by typing
5 years ago
Alexander Bakker faf24e15bd Allow password reminder popup dismissal by typing
Close #379
5 years ago
Alexander Bakker 592d482a9b
Merge pull request #370 from maximbaz/maximbaz-patch-1
Show account name only if it's set
5 years ago
Maxim Baz ad05e375f1
Show account name only if it's set 5 years ago
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).
5 years ago
Alexander Bakker abe78370ea
Merge pull request #375 from l-marchesi/master
Option to change code display format (Issue #373)
5 years ago