summaryrefslogtreecommitdiff
path: root/platform/android/src/file_source.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/file_source.cpp')
-rw-r--r--platform/android/src/file_source.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/platform/android/src/file_source.cpp b/platform/android/src/file_source.cpp
index daddd0b9cd..4cfb545b84 100644
--- a/platform/android/src/file_source.cpp
+++ b/platform/android/src/file_source.cpp
@@ -19,11 +19,12 @@ FileSource::FileSource(jni::JNIEnv& _env,
const jni::String& accessToken,
const jni::String& _cachePath,
const jni::Object<AssetManager>& assetManager) {
- mapbox::sqlite::setTempPath(jni::Make<std::string>(_env, _cachePath));
+ std::string path = jni::Make<std::string>(_env, _cachePath);
+ mapbox::sqlite::setTempPath(path);
// Create a core default file source
fileSource = std::make_unique<mbgl::DefaultFileSource>(
- jni::Make<std::string>(_env, _cachePath) + "/mbgl-offline.db",
+ path + DATABASE_FILE,
std::make_unique<AssetManagerFileSource>(_env, assetManager));
// Set access token
@@ -69,6 +70,12 @@ void FileSource::setResourceTransform(jni::JNIEnv& env, const jni::Object<FileSo
}
}
+void FileSource::setResourceCachePath(jni::JNIEnv& env, const jni::String& path) {
+ std::string newPath = jni::Make<std::string>(env, path);
+ mapbox::sqlite::setTempPath(newPath);
+ fileSource->setResourceCachePath(newPath + DATABASE_FILE);
+}
+
void FileSource::resume(jni::JNIEnv&) {
if (!activationCounter) {
activationCounter = optional<int>(1) ;
@@ -129,6 +136,7 @@ void FileSource::registerNative(jni::JNIEnv& env) {
METHOD(&FileSource::setAccessToken, "setAccessToken"),
METHOD(&FileSource::setAPIBaseUrl, "setApiBaseUrl"),
METHOD(&FileSource::setResourceTransform, "setResourceTransform"),
+ METHOD(&FileSource::setResourceCachePath, "setResourceCachePath"),
METHOD(&FileSource::resume, "activate"),
METHOD(&FileSource::pause, "deactivate"),
METHOD(&FileSource::isResumed, "isActivated")