Commit Graph

7 Commits

Author SHA1 Message Date
45c1c34982 Android: bind the IOpenPgpService2 service; declare <queries> in manifest.
The v1 action (org.openintents.openpgp.IOpenPgpService) resolves in
Keychain 6.0.4 but its binder does not implement the IOpenPgpService2
AIDL descriptor that OpenPgpApi calls through, so every call died with
SecurityException: Binder invocation to an incorrect interface. Bind
the IOpenPgpService2 service first (v1 and the very old
api.OpenPgpService actions remain as fallbacks).

Android 11+ package visibility also hid Keychain's services entirely:
resolveService/bindService found nothing from the app even with
MANAGE_EXTERNAL_STORAGE granted, so the build now injects a <queries>
element (package + intent) into the decoded manifest.
2026-08-26 20:47:13 -04:00
b4c2e19988 Android: fix OpenPGP service bind for modern Keychain.
Keychain 6.0.4 no longer exports the legacy
org.openintents.openpgp.api.OpenPgpService action, so the OpenPgpServiceConnection
from openpgp-api.jar bound nothing and every encrypt/decrypt died with a
NullPointerException in OpenPgpApi.executeApi.

Bind our own ServiceConnection against org.openintents.openpgp.IOpenPgpService
(falling back to the legacy action for older Keychain releases), and queue
API calls until the service is actually connected instead of racing the
async bind.

Also fix the //go:generate recipe: it built one jar containing both
PgpConnect and Permissions, which collides with Permissions.jar when gogio
dexes every *.jar in the repo root.
2026-08-26 18:11:10 -04:00
ec0b64f5f5 Migrating to new Gio version (non-working version). 2020-08-31 17:03:07 -04:00
4fc504b89a Restructure for automatic Fragment registration by Gio. 2019-11-21 18:18:47 -05:00
23df75fd15 Add permissions request, comment out debug print statements. 2019-11-20 16:44:28 -05:00
ea9b4b3861 Add cmd/passgo-gui files updated for Android implementation. 2019-11-20 14:30:43 -05:00
46c76ed065 Start of Android implementation. 2019-11-20 11:52:19 -05:00