diff options
Diffstat (limited to 'platform/android/src/file_source.cpp')
-rw-r--r-- | platform/android/src/file_source.cpp | 19 |
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") ); } |