diff options
Diffstat (limited to 'platform/android/src/offline/offline_manager.cpp')
-rw-r--r-- | platform/android/src/offline/offline_manager.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/platform/android/src/offline/offline_manager.cpp b/platform/android/src/offline/offline_manager.cpp index be864e18aa..98f2b88a7f 100644 --- a/platform/android/src/offline/offline_manager.cpp +++ b/platform/android/src/offline/offline_manager.cpp @@ -1,5 +1,7 @@ #include "offline_manager.hpp" +#include <mbgl/storage/file_source_manager.hpp> +#include <mbgl/storage/resource.hpp> #include <mbgl/util/string.hpp> #include "../attach_env.hpp" @@ -23,7 +25,12 @@ void handleException(std::exception_ptr exception, // OfflineManager // OfflineManager::OfflineManager(jni::JNIEnv& env, const jni::Object<FileSource>& jFileSource) - : fileSource(std::static_pointer_cast<DefaultFileSource>(mbgl::FileSource::getSharedFileSource(FileSource::getSharedResourceOptions(env, jFileSource)))) {} + : fileSource(std::static_pointer_cast<mbgl::DatabaseFileSource>(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."); + } +} OfflineManager::~OfflineManager() {} |