diff options
| author | Danilo M. <danix@danix.xyz> | 2026-11-05 14:29:47 +0100 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-11-05 14:29:47 +0100 |
| commit | 9f70b76838cf49901a4d15c46ea0f105866cdad1 (patch) | |
| tree | 320b4350b5a393c3342925b87b4ce8631950a2fe | |
| parent | bec25a852ee0b19f1e7525d34159981f2c385d2a (diff) | |
| download | HardenedPass-9f70b76838cf49901a4d15c46ea0f105866cdad1.tar.gz HardenedPass-9f70b76838cf49901a4d15c46ea0f105866cdad1.zip | |
chore: clear what the Material and AppCompat removal left behind
Drop the stale Material repository filter and lint ignore, use an emulator
image that exists at API 31, state the Android 12 minimum in the README, and
correct the TODO: biometric keeps AppCompat in the APK as well as zxing.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
| -rw-r--r-- | AGENTS.md | 2 | ||||
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | TODO.md | 7 | ||||
| -rw-r--r-- | app/lint.xml | 1 | ||||
| -rwxr-xr-x | scripts/setup-environment.sh | 2 | ||||
| -rw-r--r-- | settings.gradle.kts | 1 |
6 files changed, 7 insertions, 7 deletions
@@ -132,7 +132,7 @@ Last full emulator run (2026-11-05, Android 15, minSdk 31 build): clone over SSH passphrase key (wrong, cancel, remembered, kept through a recreation), missing SSH key dialog, git error dialog, snackbars, conflict recovery (abort rebase, push a new branch), overwrite confirmation on move, light, dark and system themes with bar colors, QR scanner opens, decrypt, TOTP and -fingerprint unlock passed. Last Firefox autofill runs, both 2026-11-05: tablet (fill, save, stale +fingerprint unlock passed. Last Firefox autofill runs, both 2026-11-05 and before the minSdk 31 build: tablet (fill, save, stale cached passphrase) and Pixel 6 Pro on Android 17 (fill, save), all passed. ## Verified facts and gotchas @@ -25,6 +25,7 @@ How to install, set up and use the app: <https://danix.xyz/hardenedpass/>. - Decrypt screen no longer reachable by other apps with arbitrary file paths. - No build scans uploaded to third-party services. - No crash reporting (Sentry) and no Google Play Services; a single FOSS build. +- Needs Android 12 or later. - Own application ID (`xyz.danix.hardenedpass`): installs next to upstream instead of over it. ## Building @@ -4,6 +4,7 @@ Open work after 0.2.0. Remove an item in the commit that finishes it. ## Features and UI -- QR scanner: `zxing-android-embedded` is the last thing keeping AppCompat in the APK - (`androidx.biometric` references it only on the fingerprint dialog path, unused at minSdk 31). - Replacing it would let AppCompat go. +- AppCompat out of the APK: `zxing-android-embedded` (`CaptureManager`, `zxing_CaptureTheme`) needs + it at runtime, so the QR scanner must be replaced. That alone is not enough: `androidx.biometric` + depends on it too, for a fingerprint dialog unused at minSdk 31, so it must be excluded or + `BiometricPrompt` used from the platform. diff --git a/app/lint.xml b/app/lint.xml index 44b84e59..42a888eb 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -18,7 +18,6 @@ </issue> <issue id="UnusedResources"> <ignore path="src/main/res/values/bools.xml" /> - <ignore path="src/main/res/values/colors_material3.xml" /> </issue> <issue id="VectorPath"> <ignore path="src/main/res/drawable/app_settings_alt_24px.xml" /> diff --git a/scripts/setup-environment.sh b/scripts/setup-environment.sh index 3c6c2fd1..1acda93c 100755 --- a/scripts/setup-environment.sh +++ b/scripts/setup-environment.sh @@ -39,4 +39,4 @@ export PATH="${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${PATH}" sdkmanager --install 'build-tools;30.0.3' platform-tools "platforms;android-${API_LEVEL}" sdkmanager --install emulator -sdkmanager --install "system-images;android-${API_LEVEL};google_apis;x86" +sdkmanager --install "system-images;android-${API_LEVEL};google_apis;x86_64" diff --git a/settings.gradle.kts b/settings.gradle.kts index 481b2706..689a6ec3 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -42,7 +42,6 @@ dependencyResolutionManagement { includeGroupByRegex("androidx.*") includeGroupByRegex("com.android.*") includeGroup("com.google.android.gms") - includeModule("com.google.android.material", "material") } } maven("https://androidx.dev/storage/compose-compiler/repository") { |
