diff options
Diffstat (limited to 'platform/android/src/asset_file_source.cpp')
-rw-r--r-- | platform/android/src/asset_file_source.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/platform/android/src/asset_file_source.cpp b/platform/android/src/asset_file_source.cpp index 7eb2007778..d2aab30a52 100644 --- a/platform/android/src/asset_file_source.cpp +++ b/platform/android/src/asset_file_source.cpp @@ -2,6 +2,7 @@ #include <mbgl/storage/response.hpp> #include <mbgl/util/util.hpp> #include <mbgl/util/thread.hpp> +#include <mbgl/util/url.hpp> #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wshadow" @@ -59,7 +60,8 @@ public: struct zip_stat stat; ::zip_stat_init(&stat); - std::string path = std::string("assets/") + url.substr(8); + std::string path = std::string("assets/") + mbgl::util::percentDecode(url.substr(8)); + int ret = ::zip_stat(archive.archive, path.c_str(), 0, &stat); if (ret < 0 || !(stat.valid & ZIP_STAT_SIZE)) { reportError(Response::Error::Reason::NotFound, "Could not stat file in zip archive", callback); |