mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Removing gating code for Fabric; don't initialize ViewGroupDrawingOrderHelper for RVG in Fabric
Summary: This code and this class isn't needed in Fabric, so don't create it during construction. Lazy-load it when it's needed outside of Fabric. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D25450724 fbshipit-source-id: d14d8f03c194716f2aba0e499f3282ad2d1c1d29
This commit is contained in:
committed by
Facebook GitHub Bot
parent
8c013173f8
commit
e020c6c0a7
@@ -80,9 +80,6 @@ public class ReactFeatureFlags {
|
||||
/** Enable caching of Spannable objects using equality of ReadableNativeMaps */
|
||||
public static boolean enableSpannableCacheByReadableNativeMapEquality = true;
|
||||
|
||||
/** Disable customDrawOrder in ReactViewGroup under Fabric only. */
|
||||
public static boolean disableCustomDrawOrderFabric = false;
|
||||
|
||||
/** Use lock-free data structures for Fabric MountItems. */
|
||||
public static boolean enableLockFreeMountInstructions = false;
|
||||
|
||||
|
||||
@@ -122,7 +122,7 @@ public class ReactViewGroup extends ViewGroup
|
||||
private @Nullable ReactViewBackgroundDrawable mReactBackgroundDrawable;
|
||||
private @Nullable OnInterceptTouchEventListener mOnInterceptTouchEventListener;
|
||||
private boolean mNeedsOffscreenAlphaCompositing = false;
|
||||
private final ViewGroupDrawingOrderHelper mDrawingOrderHelper;
|
||||
private @Nullable ViewGroupDrawingOrderHelper mDrawingOrderHelper = null;
|
||||
private @Nullable Path mPath;
|
||||
private int mLayoutDirection;
|
||||
private float mBackfaceOpacity = 1.f;
|
||||
@@ -131,7 +131,13 @@ public class ReactViewGroup extends ViewGroup
|
||||
public ReactViewGroup(Context context) {
|
||||
super(context);
|
||||
setClipChildren(false);
|
||||
mDrawingOrderHelper = new ViewGroupDrawingOrderHelper(this);
|
||||
}
|
||||
|
||||
private ViewGroupDrawingOrderHelper getDrawingOrderHelper() {
|
||||
if (mDrawingOrderHelper == null) {
|
||||
mDrawingOrderHelper = new ViewGroupDrawingOrderHelper(this);
|
||||
}
|
||||
return mDrawingOrderHelper;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -439,11 +445,7 @@ public class ReactViewGroup extends ViewGroup
|
||||
if (getId() == NO_ID) {
|
||||
return false;
|
||||
}
|
||||
if (ViewUtil.getUIManagerType(getId()) != UIManagerType.FABRIC) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return ReactFeatureFlags.disableCustomDrawOrderFabric;
|
||||
return ViewUtil.getUIManagerType(getId()) == UIManagerType.FABRIC;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -452,8 +454,8 @@ public class ReactViewGroup extends ViewGroup
|
||||
// method.
|
||||
|
||||
if (!customDrawOrderDisabled()) {
|
||||
mDrawingOrderHelper.handleAddView(child);
|
||||
setChildrenDrawingOrderEnabled(mDrawingOrderHelper.shouldEnableCustomDrawingOrder());
|
||||
getDrawingOrderHelper().handleAddView(child);
|
||||
setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
|
||||
} else {
|
||||
setChildrenDrawingOrderEnabled(false);
|
||||
}
|
||||
@@ -466,8 +468,8 @@ public class ReactViewGroup extends ViewGroup
|
||||
UiThreadUtil.assertOnUiThread();
|
||||
|
||||
if (!customDrawOrderDisabled()) {
|
||||
mDrawingOrderHelper.handleRemoveView(view);
|
||||
setChildrenDrawingOrderEnabled(mDrawingOrderHelper.shouldEnableCustomDrawingOrder());
|
||||
getDrawingOrderHelper().handleRemoveView(view);
|
||||
setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
|
||||
} else {
|
||||
setChildrenDrawingOrderEnabled(false);
|
||||
}
|
||||
@@ -480,8 +482,8 @@ public class ReactViewGroup extends ViewGroup
|
||||
UiThreadUtil.assertOnUiThread();
|
||||
|
||||
if (!customDrawOrderDisabled()) {
|
||||
mDrawingOrderHelper.handleRemoveView(getChildAt(index));
|
||||
setChildrenDrawingOrderEnabled(mDrawingOrderHelper.shouldEnableCustomDrawingOrder());
|
||||
getDrawingOrderHelper().handleRemoveView(getChildAt(index));
|
||||
setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
|
||||
} else {
|
||||
setChildrenDrawingOrderEnabled(false);
|
||||
}
|
||||
@@ -491,16 +493,25 @@ public class ReactViewGroup extends ViewGroup
|
||||
|
||||
@Override
|
||||
protected int getChildDrawingOrder(int childCount, int index) {
|
||||
return mDrawingOrderHelper.getChildDrawingOrder(childCount, index);
|
||||
UiThreadUtil.assertOnUiThread();
|
||||
|
||||
if (!customDrawOrderDisabled()) {
|
||||
return getDrawingOrderHelper().getChildDrawingOrder(childCount, index);
|
||||
} else {
|
||||
return index;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getZIndexMappedChildIndex(int index) {
|
||||
if (mDrawingOrderHelper.shouldEnableCustomDrawingOrder()) {
|
||||
return mDrawingOrderHelper.getChildDrawingOrder(getChildCount(), index);
|
||||
} else {
|
||||
return index;
|
||||
UiThreadUtil.assertOnUiThread();
|
||||
|
||||
if (!customDrawOrderDisabled() && getDrawingOrderHelper().shouldEnableCustomDrawingOrder()) {
|
||||
return getDrawingOrderHelper().getChildDrawingOrder(getChildCount(), index);
|
||||
}
|
||||
|
||||
// Fabric behavior
|
||||
return index;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -509,8 +520,8 @@ public class ReactViewGroup extends ViewGroup
|
||||
return;
|
||||
}
|
||||
|
||||
mDrawingOrderHelper.update();
|
||||
setChildrenDrawingOrderEnabled(mDrawingOrderHelper.shouldEnableCustomDrawingOrder());
|
||||
getDrawingOrderHelper().update();
|
||||
setChildrenDrawingOrderEnabled(getDrawingOrderHelper().shouldEnableCustomDrawingOrder());
|
||||
invalidate();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user