From ef2d2dd197e5395b200c6e68a03c3b0805140914 Mon Sep 17 00:00:00 2001 From: Emux Date: Wed, 31 Mar 2021 15:04:26 +0300 Subject: [PATCH] ContentResolverResourceProvider: honor also absolute file references in theme resources (#823) --- .../android/theme/ContentResolverResourceProvider.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vtm-android/src/org/oscim/android/theme/ContentResolverResourceProvider.java b/vtm-android/src/org/oscim/android/theme/ContentResolverResourceProvider.java index 9ae1b7a2..2ae5a1ae 100644 --- a/vtm-android/src/org/oscim/android/theme/ContentResolverResourceProvider.java +++ b/vtm-android/src/org/oscim/android/theme/ContentResolverResourceProvider.java @@ -98,7 +98,9 @@ public class ContentResolverResourceProvider implements XmlThemeResourceProvider if (doc.isDirectory) { buildCacheLevel(prefix + doc.name + "/", doc.uri); } else { - resourceUriCache.put(prefix + doc.name, doc.uri); + // Store both relative urls and absolute urls + resourceUriCache.put(CanvasAdapter.PREFIX_FILE + prefix + doc.name, doc.uri); + resourceUriCache.put(CanvasAdapter.PREFIX_FILE + "/" + prefix + doc.name, doc.uri); } } } @@ -172,6 +174,6 @@ public class ContentResolverResourceProvider implements XmlThemeResourceProvider // Convert "tree uri" to a "document uri" dirUri = DocumentsContract.buildDocumentUriUsingTree(dirUri, DocumentsContract.getTreeDocumentId(dirUri)); } - buildCacheLevel(CanvasAdapter.PREFIX_FILE, dirUri); + buildCacheLevel("", dirUri); } }