From b95dc95e3b2dd5e705c33fc4a55d9ea3fb492401 Mon Sep 17 00:00:00 2001 From: Alexander Borsuk Date: Sun, 23 Jun 2024 18:10:19 +0200 Subject: [PATCH] [android] Fix GPX import from WhatsApp Signed-off-by: Alexander Borsuk --- .../app/organicmaps/bookmarks/data/BookmarkManager.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/android/app/src/main/java/app/organicmaps/bookmarks/data/BookmarkManager.java b/android/app/src/main/java/app/organicmaps/bookmarks/data/BookmarkManager.java index c56f05f098..46869cde27 100644 --- a/android/app/src/main/java/app/organicmaps/bookmarks/data/BookmarkManager.java +++ b/android/app/src/main/java/app/organicmaps/bookmarks/data/BookmarkManager.java @@ -346,7 +346,7 @@ public enum BookmarkManager static @Nullable String getBookmarksFilenameFromUri(@NonNull ContentResolver resolver, @NonNull Uri uri) { String filename = null; - String scheme = uri.getScheme(); + final String scheme = uri.getScheme(); if (scheme.equals("content")) { try (Cursor cursor = resolver.query(uri, null, null, null, null)) @@ -404,6 +404,10 @@ public enum BookmarkManager return filename + ".gpx"; } + // WhatsApp doesn't provide correct mime type and extension for GPX files. + if (uri.getHost().contains("com.whatsapp.provider.media")) + return filename + ".gpx"; + return null; } @@ -413,7 +417,7 @@ public enum BookmarkManager Logger.w(TAG, "Importing bookmarks from " + uri); try { - final String filename = getBookmarksFilenameFromUri(resolver, uri); + String filename = getBookmarksFilenameFromUri(resolver, uri); if (filename == null) { Logger.w(TAG, "Could not find a supported file type in " + uri);