diff --git a/android/src/main/cpp/sonar.cpp b/android/src/main/cpp/sonar.cpp index 330991202..62ac6fb5e 100644 --- a/android/src/main/cpp/sonar.cpp +++ b/android/src/main/cpp/sonar.cpp @@ -44,8 +44,15 @@ void handleException(const std::exception& e) { __android_log_write(ANDROID_LOG_ERROR, "FLIPPER", message.c_str()); } -std::unique_ptr sonarScheduler; -std::unique_ptr connectionScheduler; +std::unique_ptr& sonarScheduler() { + static std::unique_ptr scheduler; + return scheduler; +} + +std::unique_ptr& connectionScheduler() { + static std::unique_ptr scheduler; + return scheduler; +} class JEventBase : public jni::HybridClass { public: @@ -943,9 +950,9 @@ class JFlipperClient : public jni::HybridClass { const std::string app, const std::string appId, const std::string privateAppDirectory) { - sonarScheduler = + sonarScheduler() = std::make_unique(callbackWorker->eventBase()); - connectionScheduler = + connectionScheduler() = std::make_unique(connectionWorker->eventBase()); FlipperClient::init( @@ -956,8 +963,8 @@ class JFlipperClient : public jni::HybridClass { std::move(app), std::move(appId), std::move(privateAppDirectory)}, - sonarScheduler.get(), - connectionScheduler.get(), + sonarScheduler().get(), + connectionScheduler().get(), insecurePort, securePort, altInsecurePort,