From cd4bef97d06e5534faa67246c7c486f93a4a6703 Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Wed, 6 Oct 2021 04:03:13 -0700 Subject: [PATCH] Add toString to all MountItem subclasses Summary: Useful when Fabric debug logging is enabled Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D31399518 fbshipit-source-id: b5907084604adf1f7093798315147ac63b5876f2 --- .../react/fabric/FabricUIManager.java | 19 +++++++++++++++++++ .../mountitems/IntBufferBatchMountItem.java | 8 ++++++-- .../processing/ReactPropertyProcessor.java | 2 +- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java index c8f24f4e0c2..44a81cd0310 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java @@ -628,6 +628,15 @@ public class FabricUIManager implements UIManager, LifecycleEventListener { public int getSurfaceId() { return View.NO_ID; } + + @Override + public String toString() { + String propsString = + IS_DEVELOPMENT_ENVIRONMENT + ? (props != null ? props.toHashMap().toString() : "") + : ""; + return String.format("SYNC UPDATE PROPS [%d]: %s", reactTag, propsString); + } }; // If the reactTag exists, we assume that it might at the end of the next @@ -1016,6 +1025,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener { public int getSurfaceId() { return surfaceId; } + + @Override + public String toString() { + return String.format("SET_JS_RESPONDER [%d] [surface:%d]", reactTag, surfaceId); + } }); } @@ -1035,6 +1049,11 @@ public class FabricUIManager implements UIManager, LifecycleEventListener { public int getSurfaceId() { return View.NO_ID; } + + @Override + public String toString() { + return "CLEAR_JS_RESPONDER"; + } }); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java index cd4bb8c5f61..038596c6ac4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/IntBufferBatchMountItem.java @@ -226,8 +226,12 @@ public class IntBufferBatchMountItem implements MountItem { : ""; s.append(String.format("UPDATE PROPS [%d]: %s\n", mIntBuffer[i++], propsString)); } else if (type == INSTRUCTION_UPDATE_STATE) { - j += 1; - s.append(String.format("UPDATE STATE [%d]\n", mIntBuffer[i++])); + StateWrapper state = castToState(mObjBuffer[j++]); + String stateString = + IS_DEVELOPMENT_ENVIRONMENT + ? (state != null ? state.getStateData().toString() : "") + : ""; + s.append(String.format("UPDATE STATE [%d]: %s\n", mIntBuffer[i++], stateString)); } else if (type == INSTRUCTION_UPDATE_LAYOUT) { s.append( String.format( diff --git a/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java b/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java index 5cee5dba148..9ac44702245 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java +++ b/ReactAndroid/src/main/java/com/facebook/react/processing/ReactPropertyProcessor.java @@ -59,7 +59,7 @@ import javax.lang.model.util.Types; /** * This annotation processor crawls subclasses of ReactShadowNode and ViewManager and finds their * exported properties with the @ReactProp or @ReactGroupProp annotation. It generates a class per - * shadow node/view manager that is named {@code $$PropSetter}. This class contains + * shadow node/view manager that is named {@code $$PropsSetter}. This class contains * methods to retrieve the name and type of all methods and a way to set these properties without * reflection. */