From 1d14df217ecd0d3a63893d39196e95944cb8a3ab Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Thu, 10 Jun 2021 16:45:35 -0700 Subject: [PATCH] Refactor: Stop having DevSupportManager conform to PackagerCommandListener Summary: ## Rationale The public methods of PackagerCommandListener should not be a part of the public API of DevSupportManagerBase. It's cleaner to just create a new PackagerCommandListener object inline, when we need it. This way, there're are less methods to think about when reasoning about the public API of DevSupportManagerBase. Changelog: [Internal] Reviewed By: JoshuaGross Differential Revision: D29006835 fbshipit-source-id: 0eea86c22e7d676c94d29b240a1f39955d8216ab --- .../devsupport/DevSupportManagerBase.java | 106 +++++++++--------- 1 file changed, 54 insertions(+), 52 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java index b6d2f57f564..354a08ebcf5 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +++ b/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java @@ -60,7 +60,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; -public abstract class DevSupportManagerBase implements DevSupportManager, PackagerCommandListener { +public abstract class DevSupportManagerBase implements DevSupportManager { public interface CallbackWithBundleLoader { void onSuccess(JSBundleLoader bundleLoader); @@ -966,56 +966,6 @@ public abstract class DevSupportManagerBase implements DevSupportManager, Packag return mLastErrorType; } - @Override - public void onPackagerConnected() { - // No-op - } - - @Override - public void onPackagerDisconnected() { - // No-op - } - - @Override - public void onPackagerReloadCommand() { - // Disable debugger to resume the JsVM & avoid thread locks while reloading - mDevServerHelper.disableDebugger(); - UiThreadUtil.runOnUiThread( - new Runnable() { - @Override - public void run() { - handleReloadJS(); - } - }); - } - - @Override - public void onPackagerDevMenuCommand() { - UiThreadUtil.runOnUiThread( - new Runnable() { - @Override - public void run() { - showDevOptionsDialog(); - } - }); - } - - @Override - public void onCaptureHeapCommand(final Responder responder) { - UiThreadUtil.runOnUiThread( - new Runnable() { - @Override - public void run() { - handleCaptureHeap(responder); - } - }); - } - - @Override - public @Nullable Map customCommandHandlers() { - return mCustomPackagerCommandHandlers; - } - private void handleCaptureHeap(final Responder responder) { if (mCurrentContext == null) { return; @@ -1240,7 +1190,59 @@ public abstract class DevSupportManagerBase implements DevSupportManager, Packag mDevLoadingViewController.showMessage("Reloading..."); } - mDevServerHelper.openPackagerConnection(this.getClass().getSimpleName(), this); + mDevServerHelper.openPackagerConnection( + this.getClass().getSimpleName(), + new PackagerCommandListener() { + @Override + public void onPackagerConnected() { + // No-op + } + + @Override + public void onPackagerDisconnected() { + // No-op + } + + @Override + public void onPackagerReloadCommand() { + // Disable debugger to resume the JsVM & avoid thread locks while reloading + mDevServerHelper.disableDebugger(); + UiThreadUtil.runOnUiThread( + new Runnable() { + @Override + public void run() { + handleReloadJS(); + } + }); + } + + @Override + public void onPackagerDevMenuCommand() { + UiThreadUtil.runOnUiThread( + new Runnable() { + @Override + public void run() { + showDevOptionsDialog(); + } + }); + } + + @Override + public void onCaptureHeapCommand(final Responder responder) { + UiThreadUtil.runOnUiThread( + new Runnable() { + @Override + public void run() { + handleCaptureHeap(responder); + } + }); + } + + @Override + public @Nullable Map customCommandHandlers() { + return mCustomPackagerCommandHandlers; + } + }); } else { // hide FPS debug overlay if (mDebugOverlayController != null) {