From 9f70b76838cf49901a4d15c46ea0f105866cdad1 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Thu, 5 Nov 2026 14:29:47 +0100 Subject: 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 --- AGENTS.md | 2 +- README.md | 1 + TODO.md | 7 ++++--- app/lint.xml | 1 - scripts/setup-environment.sh | 2 +- settings.gradle.kts | 1 - 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 8736f64f..d386fa9a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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 diff --git a/README.md b/README.md index 15bda494..68b03bec 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ How to install, set up and use the app: . - 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 diff --git a/TODO.md b/TODO.md index f9832c0e..e68b9790 100644 --- a/TODO.md +++ b/TODO.md @@ -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 @@ - 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") { -- cgit v1.2.3