summaryrefslogtreecommitdiff
path: root/platform/android/src/offline/offline_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/offline/offline_manager.cpp')
-rw-r--r--platform/android/src/offline/offline_manager.cpp9
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() {}