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.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")
);
}