summaryrefslogtreecommitdiff
path: root/platform/android/src/file_source.cpp
diff options
context:
space:
mode:
authorTobrun <tobrun@mapbox.com>2017-12-06 11:51:33 +0100
committerGitHub <noreply@github.com>2017-12-06 11:51:33 +0100
commitc311e69e0ef61f5203fa6cf632d5ec73b1e181da (patch)
tree379809fb2d65fbdad0327ac3ed8ab6f4b7d026be /platform/android/src/file_source.cpp
parentf16ecf59074e6c1f6296eb03f30b744eaa66779f (diff)
downloadqtlocation-mapboxgl-c311e69e0ef61f5203fa6cf632d5ec73b1e181da.tar.gz
[android] - add FileSource activation/deactivation to MapSnapshotter, handle multiple deactivate scenario in FileSource (#10556)
Diffstat (limited to 'platform/android/src/file_source.cpp')
-rw-r--r--platform/android/src/file_source.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/platform/android/src/file_source.cpp b/platform/android/src/file_source.cpp
index a576661a4f..6a9d7badb0 100644
--- a/platform/android/src/file_source.cpp
+++ b/platform/android/src/file_source.cpp
@@ -63,11 +63,22 @@ void FileSource::setResourceTransform(jni::JNIEnv& env, jni::Object<FileSource::
}
void FileSource::resume(jni::JNIEnv&) {
- fileSource->resume();
+ if (!activationCounter) {
+ activationCounter = optional<int>(1) ;
+ return;
+ }
+
+ activationCounter.value()++;
+ if (activationCounter == 1) {
+ fileSource->resume();
+ }
}
void FileSource::pause(jni::JNIEnv&) {
- fileSource->pause();
+ activationCounter.value()--;
+ if (activationCounter == 0) {
+ fileSource->pause();
+ }
}
jni::Class<FileSource> FileSource::javaClass;
@@ -100,8 +111,8 @@ void FileSource::registerNative(jni::JNIEnv& env) {
METHOD(&FileSource::setAccessToken, "setAccessToken"),
METHOD(&FileSource::setAPIBaseUrl, "setApiBaseUrl"),
METHOD(&FileSource::setResourceTransform, "setResourceTransform"),
- METHOD(&FileSource::resume, "resume"),
- METHOD(&FileSource::pause, "pause")
+ METHOD(&FileSource::resume, "activate"),
+ METHOD(&FileSource::pause, "deactivate")
);
}