diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java index b8df6fd21..cf25abc4d 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ShadowNodeRegistry.java @@ -11,14 +11,13 @@ package com.facebook.react.uimanager; import android.util.SparseArray; import android.util.SparseBooleanArray; - import com.facebook.react.common.SingleThreadAsserter; /** * Simple container class to keep track of {@link ReactShadowNode}s associated with a particular * UIManagerModule instance. */ -/*package*/ class ShadowNodeRegistry { +public class ShadowNodeRegistry { private final SparseArray mTagsToCSSNodes; private final SparseBooleanArray mRootTags; diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java index bd2996f85..608187ff6 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIImplementation.java @@ -44,14 +44,14 @@ import javax.annotation.Nullable; */ public class UIImplementation { + protected final EventDispatcher mEventDispatcher; + protected final ReactApplicationContext mReactContext; + protected final ShadowNodeRegistry mShadowNodeRegistry = new ShadowNodeRegistry(); private final Set mMeasuredRootNodes = new HashSet<>(); - private final ShadowNodeRegistry mShadowNodeRegistry = new ShadowNodeRegistry(); private final ViewManagerRegistry mViewManagers; private final UIViewOperationQueue mOperationsQueue; private final NativeViewHierarchyOptimizer mNativeViewHierarchyOptimizer; private final int[] mMeasureBuffer = new int[4]; - private final ReactApplicationContext mReactContext; - protected final EventDispatcher mEventDispatcher; private long mLastCalculateLayoutTime = 0; diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java index ca9fc7c6c..9a3a798ea 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java +++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagersPropertyCache.java @@ -330,8 +330,10 @@ import javax.annotation.Nullable; */ /*package*/ static Map getNativePropSettersForShadowNodeClass( Class cls) { - if (cls == ReactShadowNodeImpl.class) { - return EMPTY_PROPS_MAP; + for (Class iface : cls.getInterfaces()) { + if (iface == ReactShadowNode.class) { + return EMPTY_PROPS_MAP; + } } Map props = CLASS_PROPS_CACHE.get(cls); if (props != null) {