diff --git a/android/src/main/java/com/facebook/flipper/plugins/common/BufferingFlipperPlugin.java b/android/src/main/java/com/facebook/flipper/plugins/common/BufferingFlipperPlugin.java index 88797d21a..d821c9fa7 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/common/BufferingFlipperPlugin.java +++ b/android/src/main/java/com/facebook/flipper/plugins/common/BufferingFlipperPlugin.java @@ -10,6 +10,7 @@ package com.facebook.flipper.plugins.common; import com.facebook.flipper.core.FlipperConnection; import com.facebook.flipper.core.FlipperObject; import com.facebook.flipper.core.FlipperPlugin; +import javax.annotation.Nonnull; import javax.annotation.Nullable; /** @@ -24,17 +25,35 @@ public abstract class BufferingFlipperPlugin implements FlipperPlugin { private @Nullable RingBuffer mEventQueue; private @Nullable FlipperConnection mConnection; + private @Nullable MockResponseConnectionListener + mMockResponseConnectionListenerConnectionListener; + + public synchronized void setConnectionListener(@Nonnull MockResponseConnectionListener listener) { + this.mMockResponseConnectionListenerConnectionListener = listener; + } + + public synchronized void removeConnectionListener() { + this.mMockResponseConnectionListenerConnectionListener = null; + } @Override public synchronized void onConnect(FlipperConnection connection) { mConnection = connection; sendBufferedEvents(); + + if (this.mMockResponseConnectionListenerConnectionListener != null) { + this.mMockResponseConnectionListenerConnectionListener.onConnect(connection); + } } @Override public synchronized void onDisconnect() { mConnection = null; + + if (this.mMockResponseConnectionListenerConnectionListener != null) { + this.mMockResponseConnectionListenerConnectionListener.onDisconnect(); + } } @Override @@ -79,4 +98,10 @@ public abstract class BufferingFlipperPlugin implements FlipperPlugin { this.flipperObject = flipperObject; } } + + public interface MockResponseConnectionListener { + void onConnect(FlipperConnection connection); + + void onDisconnect(); + } }