diff --git a/ReactAndroid/src/main/java/com/facebook/react/flat/FlatUIImplementation.java b/ReactAndroid/src/main/java/com/facebook/react/flat/FlatUIImplementation.java index 605aacadf..e64dfc771 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/flat/FlatUIImplementation.java +++ b/ReactAndroid/src/main/java/com/facebook/react/flat/FlatUIImplementation.java @@ -80,7 +80,11 @@ public class FlatUIImplementation extends UIImplementation { ReactShadowNode cssNode, int rootViewTag, CatalystStylesDiffMap styles) { - // nothing to do yet. + int tag = cssNode.getReactTag(); + FlatShadowNode node = (FlatShadowNode) cssNode; + if (node.mountsToView()) { + mStateBuilder.ensureBackingViewIsCreated(node, tag, styles); + } } @Override @@ -88,7 +92,11 @@ public class FlatUIImplementation extends UIImplementation { ReactShadowNode cssNode, String className, CatalystStylesDiffMap styles) { - // nothing to do yet. + int tag = cssNode.getReactTag(); + FlatShadowNode node = (FlatShadowNode) cssNode; + if (node.mountsToView()) { + mStateBuilder.ensureBackingViewIsCreated(node, tag, styles); + } } @Override diff --git a/ReactAndroid/src/main/java/com/facebook/react/flat/FlatViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/flat/FlatViewManager.java index d055d93f5..ab92cf740 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/flat/FlatViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/flat/FlatViewManager.java @@ -10,15 +10,20 @@ package com.facebook.react.flat; import com.facebook.react.uimanager.ThemedReactContext; -import com.facebook.react.uimanager.ViewManager; +import com.facebook.react.uimanager.BaseViewManager; -abstract class FlatViewManager extends ViewManager { +abstract class FlatViewManager extends BaseViewManager { @Override protected FlatViewGroup createViewInstance(ThemedReactContext reactContext) { return new FlatViewGroup(reactContext); } + @Override + public void setBackgroundColor(FlatViewGroup view, int backgroundColor) { + // suppress + } + @Override public void updateExtraData(FlatViewGroup root, Object extraData) { } diff --git a/ReactAndroid/src/main/java/com/facebook/react/flat/StateBuilder.java b/ReactAndroid/src/main/java/com/facebook/react/flat/StateBuilder.java index c3b48b8cc..791768cf4 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/flat/StateBuilder.java +++ b/ReactAndroid/src/main/java/com/facebook/react/flat/StateBuilder.java @@ -88,6 +88,10 @@ import com.facebook.react.uimanager.CatalystStylesDiffMap; int tag, @Nullable CatalystStylesDiffMap styles) { if (node.isBackingViewCreated()) { + if (styles != null) { + // if the View is already created, make sure propagate new styles. + mOperationsQueue.enqueueUpdateProperties(tag, node.getViewClass(), styles); + } return; }