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 b714850e9f3..6b1ec05d0c2 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java @@ -20,6 +20,8 @@ import androidx.annotation.Nullable; import androidx.annotation.UiThread; import android.view.View; import com.facebook.common.logging.FLog; +import com.facebook.debug.holder.PrinterHolder; +import com.facebook.debug.tags.ReactDebugOverlayTags; import com.facebook.infer.annotation.ThreadConfined; import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.bridge.LifecycleEventListener; @@ -65,7 +67,9 @@ import java.util.concurrent.ConcurrentHashMap; @SuppressLint("MissingNativeLoadLibrary") public class FabricUIManager implements UIManager, LifecycleEventListener { - private static final String TAG = FabricUIManager.class.getSimpleName(); + public static final String TAG = FabricUIManager.class.getSimpleName(); + public static final boolean DEBUG = + PrinterHolder.getPrinter().shouldDisplayLogMessage(ReactDebugOverlayTags.FABRIC_UI_MANAGER); private static final Map sComponentNames = new HashMap<>(); private static final int FRAME_TIME_MS = 16; @@ -161,7 +165,7 @@ public class FabricUIManager implements UIManager, LifecycleEventListener { mMountingManager.removeRootView(reactRootTag); mReactContextForRootTag.remove(reactRootTag); } - + @Override public void initialize() { mEventDispatcher.registerEventEmitter(FABRIC, new FabricEventEmitter(this)); diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java index f204054e8ac..73a3503b22f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/BatchMountItem.java @@ -6,10 +6,15 @@ */ package com.facebook.react.fabric.mounting.mountitems; +import static com.facebook.react.fabric.FabricUIManager.DEBUG; +import static com.facebook.react.fabric.FabricUIManager.TAG; + import com.facebook.proguard.annotations.DoNotStrip; import com.facebook.react.fabric.mounting.MountingManager; import com.facebook.systrace.Systrace; +import com.facebook.common.logging.FLog; + /** * This class represents a batch of {@link MountItem}s * @@ -44,6 +49,9 @@ public class BatchMountItem implements MountItem { for (int mountItemIndex = 0; mountItemIndex < mSize; mountItemIndex++) { MountItem mountItem = mMountItems[mountItemIndex]; + if (DEBUG) { + FLog.d(TAG, "Executing mountItem: " + mountItem); + } mountItem.execute(mountingManager); } diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java index fc01ad8ef47..bdc7c7b68eb 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/mountitems/PreAllocateViewMountItem.java @@ -6,6 +6,10 @@ */ package com.facebook.react.fabric.mounting.mountitems; +import static com.facebook.react.fabric.FabricUIManager.DEBUG; +import static com.facebook.react.fabric.FabricUIManager.TAG; + +import com.facebook.common.logging.FLog; import com.facebook.react.bridge.ReadableMap; import com.facebook.react.fabric.mounting.MountingManager; import com.facebook.react.uimanager.ThemedReactContext; @@ -21,7 +25,12 @@ public class PreAllocateViewMountItem implements MountItem { private final boolean mIsLayoutable; public PreAllocateViewMountItem( - ThemedReactContext context, int rootTag, int reactTag, String component, ReadableMap props, boolean isLayoutable) { + ThemedReactContext context, + int rootTag, + int reactTag, + String component, + ReadableMap props, + boolean isLayoutable) { mContext = context; mComponent = component; mRootTag = rootTag; @@ -32,11 +41,23 @@ public class PreAllocateViewMountItem implements MountItem { @Override public void execute(MountingManager mountingManager) { + if (DEBUG) { + FLog.d(TAG, "Executing pre-allocation of: " + toString()); + } mountingManager.preallocateView(mContext, mComponent, mReactTag, mProps, mIsLayoutable); } @Override public String toString() { - return "[" + mRootTag + "] - Preallocate " + mComponent; + return "PreAllocateViewMountItem [" + + mReactTag + + "] - component: " + + mComponent + + " rootTag: " + + mRootTag + + " mIsLayoutable: " + + mIsLayoutable + + " props: " + + mProps; } }