summaryrefslogtreecommitdiff
path: root/platform/android/src/file_source.cpp
diff options
context:
space:
mode:
authorAlexander Shalamov <alexander.shalamov@mapbox.com>2019-10-04 11:56:26 +0300
committerAlexander Shalamov <alexander.shalamov@mapbox.com>2019-10-04 13:18:23 +0300
commit198e3453394ccb2b1f7db72d1858cfd18e302a1e (patch)
treedaff6ffd927fe6aa904b07970da91f869fe2fdc0 /platform/android/src/file_source.cpp
parent946b9d22818c76325ce6f5bf4804494f461f2c0a (diff)
downloadqtlocation-mapboxgl-198e3453394ccb2b1f7db72d1858cfd18e302a1e.tar.gz
[android] Check if Mapbox instance exists before creating default file source
This check is needed for mbgl-benchmark target, as it does not require Mapbox instance, nor Android asset manager.
Diffstat (limited to 'platform/android/src/file_source.cpp')
-rw-r--r--platform/android/src/file_source.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/platform/android/src/file_source.cpp b/platform/android/src/file_source.cpp
index 234d8d9758..a002d6616f 100644
--- a/platform/android/src/file_source.cpp
+++ b/platform/android/src/file_source.cpp
@@ -17,9 +17,14 @@ namespace mbgl {
std::shared_ptr<FileSource> FileSource::createPlatformFileSource(const ResourceOptions& options) {
auto env{android::AttachEnv()};
- auto assetManager = android::Mapbox::getAssetManager(*env);
- auto fileSource = std::make_shared<DefaultFileSource>(options.cachePath(),
- std::make_unique<AssetManagerFileSource>(*env, assetManager));
+ std::shared_ptr<DefaultFileSource> fileSource;
+ if (android::Mapbox::hasInstance(*env)) {
+ auto assetManager = android::Mapbox::getAssetManager(*env);
+ fileSource = std::make_shared<DefaultFileSource>(options.cachePath(),
+ std::make_unique<AssetManagerFileSource>(*env, assetManager));
+ } else {
+ fileSource = std::make_shared<DefaultFileSource>(options.cachePath(), options.assetPath());
+ }
fileSource->setAccessToken(options.accessToken());
return fileSource;
}