ContentResolverResourceProvider: honor also absolute file references in theme resources (#823)

This commit is contained in:
Emux 2021-03-31 15:04:26 +03:00 committed by GitHub
parent 1245158ba3
commit ef2d2dd197
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -98,7 +98,9 @@ public class ContentResolverResourceProvider implements XmlThemeResourceProvider
if (doc.isDirectory) { if (doc.isDirectory) {
buildCacheLevel(prefix + doc.name + "/", doc.uri); buildCacheLevel(prefix + doc.name + "/", doc.uri);
} else { } 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" // Convert "tree uri" to a "document uri"
dirUri = DocumentsContract.buildDocumentUriUsingTree(dirUri, DocumentsContract.getTreeDocumentId(dirUri)); dirUri = DocumentsContract.buildDocumentUriUsingTree(dirUri, DocumentsContract.getTreeDocumentId(dirUri));
} }
buildCacheLevel(CanvasAdapter.PREFIX_FILE, dirUri); buildCacheLevel("", dirUri);
} }
} }