From 468b5510a8bb3be8b5eeefd9dd355eb9719b5adb Mon Sep 17 00:00:00 2001 From: Lorenzo Blasa Date: Tue, 20 Jun 2023 00:46:55 -0700 Subject: [PATCH] New 'isConnected' API Summary: Expose the newly created `isConnected` API to Android FlipperClient API. Reviewed By: LukeDefeo Differential Revision: D46841260 fbshipit-source-id: 1512e54d28779ef62423aa52727fed3a34d00333 --- android/src/main/cpp/sonar.cpp | 14 ++++++++++++++ .../flipper/android/FlipperClientImpl.java | 3 +++ .../com/facebook/flipper/core/FlipperClient.java | 2 ++ 3 files changed, 19 insertions(+) diff --git a/android/src/main/cpp/sonar.cpp b/android/src/main/cpp/sonar.cpp index 62ac6fb5e..ecc15d03b 100644 --- a/android/src/main/cpp/sonar.cpp +++ b/android/src/main/cpp/sonar.cpp @@ -768,6 +768,7 @@ class JFlipperClient : public jni::HybridClass { makeNativeMethod("getInstance", JFlipperClient::getInstance), makeNativeMethod("start", JFlipperClient::start), makeNativeMethod("stop", JFlipperClient::stop), + makeNativeMethod("isConnected", JFlipperClient::isConnected), makeNativeMethod("addPluginNative", JFlipperClient::addPlugin), makeNativeMethod("removePluginNative", JFlipperClient::removePlugin), makeNativeMethod( @@ -813,6 +814,19 @@ class JFlipperClient : public jni::HybridClass { } } + bool isConnected() { + try { + return FlipperClient::instance()->isConnected(); + } catch (const std::exception& e) { + handleException(e); + } catch (const std::exception* e) { + if (e) { + handleException(*e); + } + } + return false; + } + void addPlugin(jni::alias_ref plugin) { try { auto wrapper = diff --git a/android/src/main/java/com/facebook/flipper/android/FlipperClientImpl.java b/android/src/main/java/com/facebook/flipper/android/FlipperClientImpl.java index 752e1a5ab..9fd5506f2 100644 --- a/android/src/main/java/com/facebook/flipper/android/FlipperClientImpl.java +++ b/android/src/main/java/com/facebook/flipper/android/FlipperClientImpl.java @@ -89,6 +89,9 @@ class FlipperClientImpl implements FlipperClient { @Override public native void stop(); + @Override + public native boolean isConnected(); + @Override public native void subscribeForUpdates(FlipperStateUpdateListener stateListener); diff --git a/android/src/main/java/com/facebook/flipper/core/FlipperClient.java b/android/src/main/java/com/facebook/flipper/core/FlipperClient.java index a6560f64a..7dec198a6 100644 --- a/android/src/main/java/com/facebook/flipper/core/FlipperClient.java +++ b/android/src/main/java/com/facebook/flipper/core/FlipperClient.java @@ -24,6 +24,8 @@ public interface FlipperClient { void stop(); + boolean isConnected(); + void subscribeForUpdates(FlipperStateUpdateListener stateListener); void unsubscribe();