aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/AndroidManifest.xml
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-09 09:50:08 +0100
committerDanilo M. <danix@danix.xyz>2026-11-09 09:50:08 +0100
commitadb1e3feebe790e56751e6909b2111a432ac87f0 (patch)
tree0cc6a4bc64e1703d1158449983c4a1d8e6424a35 /app/src/main/AndroidManifest.xml
parent645fd6a64780ff4c4a74ecc2e4c6d3d43bcd472d (diff)
downloadHardenedPass-adb1e3feebe790e56751e6909b2111a432ac87f0.tar.gz
HardenedPass-adb1e3feebe790e56751e6909b2111a432ac87f0.zip
app: add a Credential Manager provider for passwords
Apps that save or request a password through Android's Credential Manager (e.g. Signal's backup key) found no provider: HardenedPass only implemented an autofill service, which Credential Manager does not route requests to even when it is the preferred service. CredentialService (Android 14+) handles password requests keyed by the calling app's package. Saving opens AutofillSaveActivity prefilled from the request and records the autofill match; getting offers the matched entries, decrypted by AutofillDecryptActivity, plus a search action through the autofill picker. Browser requests for a website are not served: autofill covers them. androidx.credentials brings no Play Services; lint's CredentialDependency check is ignored for that reason. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'app/src/main/AndroidManifest.xml')
-rw-r--r--app/src/main/AndroidManifest.xml12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0eabbab4..026be6c8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -79,6 +79,18 @@
android:name="android.autofill"
android:resource="@xml/oreo_autofill_service" />
</service>
+ <service
+ android:name=".util.services.CredentialService"
+ android:exported="true"
+ android:permission="android.permission.BIND_CREDENTIAL_PROVIDER_SERVICE"
+ tools:targetApi="34">
+ <intent-filter>
+ <action android:name="android.service.credentials.CredentialProviderService" />
+ </intent-filter>
+ <meta-data
+ android:name="android.credentials.provider"
+ android:resource="@xml/credential_provider" />
+ </service>
<!-- ponytail: rotation, resizing and keyboard changes must not cancel a fill in progress;
other recreations (theme, locale) cancel it. -->