From 660a578aebc9acb1c976cc7ed8ac9cf67ec657d4 Mon Sep 17 00:00:00 2001 From: David Vacca Date: Mon, 16 Apr 2018 13:58:29 -0700 Subject: [PATCH] Fix cloning for ReactTextInputShadowNode Reviewed By: shergin Differential Revision: D7628252 fbshipit-source-id: 034f2d619f716600dde21a5dd43538c261be773b --- .../textinput/ReactTextInputShadowNode.java | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java index 2fb427ee8..1336314cd 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputShadowNode.java @@ -15,6 +15,7 @@ import com.facebook.infer.annotation.Assertions; import com.facebook.react.bridge.JSApplicationIllegalArgumentException; import com.facebook.react.common.annotations.VisibleForTesting; import com.facebook.react.uimanager.LayoutShadowNode; +import com.facebook.react.uimanager.ReactShadowNodeImpl; import com.facebook.react.uimanager.Spacing; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.UIViewOperationQueue; @@ -53,11 +54,6 @@ public class ReactTextInputShadowNode extends ReactBaseTextShadowNode mMostRecentEventCount = node.mMostRecentEventCount; mText = node.mText; mLocalData = node.mLocalData; - setMeasureFunction(this); - ThemedReactContext themedContext = getThemedContext(); - if (themedContext != null) { - setThemedContext(themedContext); - } } @Override @@ -65,6 +61,28 @@ public class ReactTextInputShadowNode extends ReactBaseTextShadowNode return new ReactTextInputShadowNode(this); } + @Override + public ReactTextInputShadowNode mutableCopy() { + ReactTextInputShadowNode node = (ReactTextInputShadowNode) super.mutableCopy(); + node.setMeasureFunction(this); + ThemedReactContext themedContext = getThemedContext(); + if (themedContext != null) { + node.setThemedContext(themedContext); + } + return node; + } + + @Override + public ReactTextInputShadowNode mutableCopyWithNewChildren() { + ReactTextInputShadowNode node = (ReactTextInputShadowNode) super.mutableCopyWithNewChildren(); + node.setMeasureFunction(this); + ThemedReactContext themedContext = getThemedContext(); + if (themedContext != null) { + node.setThemedContext(themedContext); + } + return node; + } + @Override public void setThemedContext(ThemedReactContext themedContext) { super.setThemedContext(themedContext);