summaryrefslogtreecommitdiff
path: root/platform/android
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android')
-rw-r--r--platform/android/src/file_source.cpp8
-rw-r--r--platform/android/src/offline/offline_manager.cpp5
-rw-r--r--platform/android/src/offline/offline_region.cpp5
3 files changed, 10 insertions, 8 deletions
diff --git a/platform/android/src/file_source.cpp b/platform/android/src/file_source.cpp
index 8bbe9acbd2..5a46bffd3e 100644
--- a/platform/android/src/file_source.cpp
+++ b/platform/android/src/file_source.cpp
@@ -41,10 +41,10 @@ FileSource::FileSource(jni::JNIEnv& _env, const jni::String& accessToken, const
// TODO: Split Android FileSource API to smaller interfaces
resourceLoader =
mbgl::FileSourceManager::get()->getFileSource(mbgl::FileSourceType::ResourceLoader, resourceOptions);
- databaseSource = std::static_pointer_cast<mbgl::DatabaseFileSource>(
- mbgl::FileSourceManager::get()->getFileSource(mbgl::FileSourceType::Database, resourceOptions));
- onlineSource = std::static_pointer_cast<mbgl::OnlineFileSource>(
- mbgl::FileSourceManager::get()->getFileSource(mbgl::FileSourceType::Network, resourceOptions));
+ databaseSource = std::static_pointer_cast<mbgl::DatabaseFileSource>(std::shared_ptr<mbgl::FileSource>(
+ mbgl::FileSourceManager::get()->getFileSource(mbgl::FileSourceType::Database, resourceOptions)));
+ onlineSource = std::static_pointer_cast<mbgl::OnlineFileSource>(std::shared_ptr<mbgl::FileSource>(
+ mbgl::FileSourceManager::get()->getFileSource(mbgl::FileSourceType::Network, resourceOptions)));
}
FileSource::~FileSource() {
diff --git a/platform/android/src/offline/offline_manager.cpp b/platform/android/src/offline/offline_manager.cpp
index 98f2b88a7f..51d2f70fe0 100644
--- a/platform/android/src/offline/offline_manager.cpp
+++ b/platform/android/src/offline/offline_manager.cpp
@@ -25,8 +25,9 @@ void handleException(std::exception_ptr exception,
// OfflineManager //
OfflineManager::OfflineManager(jni::JNIEnv& env, const jni::Object<FileSource>& jFileSource)
- : fileSource(std::static_pointer_cast<mbgl::DatabaseFileSource>(mbgl::FileSourceManager::get()->getFileSource(
- mbgl::FileSourceType::Database, FileSource::getSharedResourceOptions(env, jFileSource)))) {
+ : fileSource(std::static_pointer_cast<mbgl::DatabaseFileSource>(
+ std::shared_ptr<mbgl::FileSource>(mbgl::FileSourceManager::get()->getFileSource(
+ mbgl::FileSourceType::Database, FileSource::getSharedResourceOptions(env, jFileSource))))) {
if (!fileSource) {
ThrowNew(env, jni::FindClass(env, "java/lang/IllegalStateException"), "Offline functionality is disabled.");
}
diff --git a/platform/android/src/offline/offline_region.cpp b/platform/android/src/offline/offline_region.cpp
index 4ee835bab3..de7abef624 100644
--- a/platform/android/src/offline/offline_region.cpp
+++ b/platform/android/src/offline/offline_region.cpp
@@ -16,8 +16,9 @@ namespace android {
OfflineRegion::OfflineRegion(jni::JNIEnv& env, jni::jlong offlineRegionPtr, const jni::Object<FileSource>& jFileSource)
: region(reinterpret_cast<mbgl::OfflineRegion*>(offlineRegionPtr)),
- fileSource(std::static_pointer_cast<mbgl::DatabaseFileSource>(mbgl::FileSourceManager::get()->getFileSource(
- mbgl::FileSourceType::Database, FileSource::getSharedResourceOptions(env, jFileSource)))) {
+ fileSource(std::static_pointer_cast<mbgl::DatabaseFileSource>(
+ std::shared_ptr<mbgl::FileSource>(mbgl::FileSourceManager::get()->getFileSource(
+ mbgl::FileSourceType::Database, FileSource::getSharedResourceOptions(env, jFileSource))))) {
if (!fileSource) {
ThrowNew(env, jni::FindClass(env, "java/lang/IllegalStateException"), "Offline functionality is disabled.");
}