Commit Graph

120 Commits (a795015487988d4d0dbc64e8a77a0645fc010695)

Author SHA1 Message Date
Alexander Bakker 15e28abecd Update dependencies
This also disables the Jetifier, because we don't need it anymore.
4 years ago
Alexander Bakker 1748e2221f Release v1.4 4 years ago
Alexander Bakker 735c086726 Release v1.4-beta2 4 years ago
Alexander Bakker 0b6da5a93c Prevent file provider name collision (for debug builds) 4 years ago
Alexander Bakker d24e1471a7 Release v1.4-beta1 4 years ago
Alexander Bakker 5f2529ea33 Improve the export functionality in numerous ways
This patch improves the export functionality in the following ways:
1. Allow setting a password even if the Aegis vault is not encrypted
2. Display a scary warning when exporting an unencrypted vault
3. Support exporting to a Google Authenticator URI file
4. Option to use Android's share mechanism

<img src="https://alexbakker.me/u/375oh146vz.png" width="300" />
4 years ago
Michael Schättgen e14a61dbf6 Add panic trigger which deletes vault
Add guardianproject fdroid signing key and minor review improvements

Add minor review fixes

Add panic trigger which deletes vault

Add guardianproject fdroid signing key and minor review improvements
4 years ago
Alexander Bakker cac13b082e Bump target SDK to 30 and update dependencies 4 years ago
Alexander Bakker d875cb6baa Improve auto lock and make it more customizable
This patch makes the auto lock option more customizable. Users can now choose a
combination of the following: Locking Aegis when
- The back button is pressed
- The app is minimized
- The device is locked

<img src="https://alexbakker.me/u/rlj4y2u8pk.png" width="300">
5 years ago
Alexander Bakker d660fbc6d1 Update Gradle and dependencies 5 years ago
Alexander Bakker 35b5ce9d17 Release v1.3 5 years ago
Alexander Bakker 9e4313e138 Release v1.3-beta2 5 years ago
Alexander Bakker 7518408554 Release v1.3-beta1 5 years ago
Alexander Bakker 0e78fd9652 Replace AppIntro with a new custom intro
This removes the dependency on AppIntro and replaces it with our own custom
intro implementation, backed by ViewPager2. We're doing this because we want a
more reliable and customizable onboarding for Aegis.

I've kept the design mostly the same as it was before, but tried to achieve a
bit of a cleaner look:

<img src="https://alexbakker.me/u/vsr3ahpjt6.png" width="200"> <img
src="https://alexbakker.me/u/efqid2ixly.png" width="200"> <img
src="https://alexbakker.me/u/oehmjm0rn9.png" width="200">
5 years ago
Sage Pointer a25dbc5cdd Add desugaring for Android < 7 compatibility 5 years ago
Alexander Bakker 0eb9a25687 Add changelog of 1.2.1 and bump versionCode 5 years ago
Michael Schättgen 0eb338a0bf
Merge pull request #464 from alexbakker/ui-tests
Add initial set of UI tests
5 years ago
Michael Schättgen c252e77c5b
Merge pull request #461 from alexbakker/better-scanner
Replace barcodescanner with CameraX and ZXing
5 years ago
Alexander Bakker c65ed16790 Replace barcodescanner with CameraX and ZXing
This removes the dependency on ``me.dm7.barcodescanner:zxing`` and replaces it
with our own QR code scanner implementation using CameraX and ZXing. The main
reason for this change is to hopefully get better compatibility with obscure
devices. The barcodescanner library we were previously using seems unmaintained,
while Google is apparently putting a lot of effort into CameraX.

ScannerActivity has been almost entirely rewritten, but the functionality is
exactly the same as before.
5 years ago
orangenbaumblatt cc33c63501 Add password strength meter
String refactor


Layout improvements


Layout improvements


Fixes after rebuild
5 years ago
Alexander Bakker 6e54497492 Release v1.2 5 years ago
Alexander Bakker 39ecfba3e4 Add initial set of UI tests
This patch adds an initial set of UI tests for Aegis built using Espresso. It
covers a fair bit of the essential functionality of the app, but there are lots
more tests we could add later on.

This also reconfigures our Travis CI build manifest to run the tests on API 21,
23, 27 and 28 emulators. It was a real pain to get this to work well, but let's
hope it's stable now.

I had to downgrade ``com.google.android.material`` to 1.0.0, because 1.1.0
introduced an issue where the test would hang.
5 years ago
Alexander Bakker ae5502b650 Release v1.2-beta5 5 years ago
Michael Schättgen 4e00191039 Add ability to transfer tokens with qr codes
Add minor improvements

Add label to activity
5 years ago
Michael Schättgen c6a9716d16
Merge pull request #431 from alexbakker/update-deps-again
Update dependencies and sort them alphabetically
5 years ago
Alexander Bakker bed8c9172d Release v1.2-beta4 5 years ago
Alexander Bakker 66dd3561cf Release v1.2-beta3 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 91f9a6756a Release v1.2-beta1 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
Alexander Bakker 1824d38f75 Import from ZIP for the Authenticator Plus, instead of SQLite databases 5 years ago
Alexander Bakker 56bde0e19b Add support for importing from the new Google Authenticator export QR codes 5 years ago
Michael Schättgen 393b815409
Merge pull request #394 from alexbakker/update-appintro
Update AppIntro to 6.0.0
5 years ago
Alexander Bakker bc5fa68de8 Update AppIntro to 6.0.0 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 4a69e9efb4 Add support for backups
Allow users to select a folder where automatic backups will be created. This
also bumps minSdkVersion to 21.
5 years ago
orangenbaumblatt dc0f7c4668 Added Database Import from Authenticator Plus
Added copyright notice


Rearrange item position in import dialog


Refactor SqlImportHelper to support SQLCipher


Improved stream handling
5 years ago
Alexander Bakker 1a7a794dc9 Bump versionCode to 29
The APK released to the Play Store has versionCode set to 29 instead of 28,
because the update had to be resubmitted due to an erroneous rejection by
Google.
5 years ago
Alexander Bakker 10ac1af6b0 Replace implementations of Base16, Base32 and Base64 with Guava
I kept the classes in the encoding package and turned them into wrappers for
Guava. I also changed the functions in the Base32 class to take and return
strings insteads if character arrays.
5 years ago
Alexander Bakker dbedc9d1d3 Release v1.1.4 5 years ago
Alexander Bakker 025c89d78c Release v1.1.3 5 years ago
Alexander Bakker 7f1ce1e645 Release v1.1.2 5 years ago
Alexander Bakker 10c206270a Release v1.1.1 5 years ago
Alexander Bakker 3506fdaad9 Release v1.1 5 years ago
Alexander Bakker f168768033 Update gradle and dependencies 5 years ago
Alexander Bakker d0baeef064 Release v1.1-beta1 5 years ago
Alexander Bakker 3be9aecb88 Replace the custom fingerprint auth UI with BiometricPrompt
This patch replaces the usage of the deprecated FingerprintManager API with
BiometricPrompt. This uses the Android X library, so we get the native biometric
prompt on recent versions of Android and a Google-made one on older versions. By
not working with custom prompts for biometric authentication like we do now, we
can be sure that any issues like #70, #81, #237 are not actually our fault.
Here's what it looks like:

![](https://alexbakker.me/u/b2rmf3x0b9.jpeg)

As a nice aside, this also adds support for the new facial recognition as an
authentication method on Pixel 4 phones.

This is still a draft, but early feedback is welcome.
5 years ago
Alexander Bakker e58dec35c0 Target API 29, update gradle and update the dependencies
This also fixes an issue with the use of the Iconics library where it was
initialized twice. I also removed the dependency to [AndroidX Preference
eXtended](https://github.com/takisoft/preferencex-android), as there don't seem
to be any issues with using the vanilla AndroidX preference library anymore.
6 years ago
Alexander Bakker cbe3697d68 Add git commit hash and branch information to AboutActivity for debug builds
This will help us differentiate between custom/debug builds and release builds
of Aegis.
6 years ago