diff options
| author | Claude <noreply@anthropic.com> | 2026-05-15 21:48:45 +0000 |
|---|---|---|
| committer | Claude <noreply@anthropic.com> | 2026-05-15 21:48:45 +0000 |
| commit | d3dc75f02cec03b04846b4be88902d6b4d6c89de (patch) | |
| tree | 52d9aa98e96a3da93cb45d09a2dc1b6b774eefa4 /android-app/app/src/main/AndroidManifest.xml | |
| parent | baa07bc5c062d4f358e8c655260bf32810184634 (diff) | |
fix: GPX file handler coverage and track loading after reinstall
- AndroidManifest: add application/gpx and file:// intent-filters so Nav
appears in the chooser on devices that don't know application/gpx+xml
- MainActivity: check file extension as fallback when MIME type is generic
- TrackStorage: filter MediaStore fallback query by OWNER_PACKAGE_NAME so
the system grants access to our own files without READ_EXTERNAL_STORAGE,
which also survives app reinstall (same package name = same ownership)
- TrackRepository: add reloadTracks() to force a fresh load from storage
- MainViewModel: add reloadPastTracks() called after location permission
grant so the first-launch race condition can self-heal
https://claude.ai/code/session_01DNjbYxiC1cco83dArNGW3G
Diffstat (limited to 'android-app/app/src/main/AndroidManifest.xml')
| -rw-r--r-- | android-app/app/src/main/AndroidManifest.xml | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/android-app/app/src/main/AndroidManifest.xml b/android-app/app/src/main/AndroidManifest.xml index 7b9a9e4..35f8dd3 100644 --- a/android-app/app/src/main/AndroidManifest.xml +++ b/android-app/app/src/main/AndroidManifest.xml @@ -34,11 +34,27 @@ <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> + <!-- application/gpx+xml: standard MIME type, recognised on Android 12+ --> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.BROWSABLE" /> <data android:mimeType="application/gpx+xml" /> </intent-filter> + <!-- application/gpx: older variant sent by some file managers and email clients --> + <intent-filter> + <action android:name="android.intent.action.VIEW" /> + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.BROWSABLE" /> + <data android:mimeType="application/gpx" /> + </intent-filter> + <!-- file:// URIs from legacy file managers; extension filtered in code --> + <intent-filter> + <action android:name="android.intent.action.VIEW" /> + <category android:name="android.intent.category.DEFAULT" /> + <data android:scheme="file" android:host="*" android:pathSuffix=".gpx" + android:mimeType="*/*" /> + </intent-filter> </activity> </application> </manifest> |
