diff --git a/Libraries/Text/RCTTextView.m b/Libraries/Text/RCTTextView.m index f4329d0ef0a2bc..76ebb1eca288f7 100644 --- a/Libraries/Text/RCTTextView.m +++ b/Libraries/Text/RCTTextView.m @@ -30,8 +30,6 @@ @implementation RCTTextView NSAttributedString *_pendingAttributedText; UITextRange *_previousSelectionRange; - NSUInteger _previousTextLength; - CGFloat _previousContentHeight; NSString *_predictedText; BOOL _blockTextShouldChange; @@ -490,31 +488,12 @@ - (void)textViewDidChange:(UITextView *)textView _nativeUpdatesInFlight = NO; _nativeEventCount++; - // TODO: t16435709 This part will be removed soon. if (!self.reactTag || !_onChange) { return; } - // When the context size increases, iOS updates the contentSize twice; once - // with a lower height, then again with the correct height. To prevent a - // spurious event from being sent, we track the previous, and only send the - // update event if it matches our expectation that greater text length - // should result in increased height. This assumption is, of course, not - // necessarily true because shorter text might include more linebreaks, but - // in practice this works well enough. - NSUInteger textLength = textView.text.length; - CGFloat contentHeight = textView.contentSize.height; - if (textLength >= _previousTextLength) { - contentHeight = MAX(contentHeight, _previousContentHeight); - } - _previousTextLength = textLength; - _previousContentHeight = contentHeight; _onChange(@{ @"text": self.text, - @"contentSize": @{ - @"height": @(contentHeight), - @"width": @(textView.contentSize.width) - }, @"target": self.reactTag, @"eventCount": @(_nativeEventCount), }); diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java index 67ca37c5e682f2..7b9f2829b12ae9 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextChangedEvent.java @@ -23,20 +23,14 @@ public class ReactTextChangedEvent extends Event { public static final String EVENT_NAME = "topChange"; private String mText; - private float mContentWidth; - private float mContentHeight; private int mEventCount; public ReactTextChangedEvent( int viewId, String text, - float contentSizeWidth, - float contentSizeHeight, int eventCount) { super(viewId); mText = text; - mContentWidth = contentSizeWidth; - mContentHeight = contentSizeHeight; mEventCount = eventCount; } @@ -53,13 +47,7 @@ public void dispatch(RCTEventEmitter rctEventEmitter) { private WritableMap serializeEventData() { WritableMap eventData = Arguments.createMap(); eventData.putString("text", mText); - - WritableMap contentSize = Arguments.createMap(); - contentSize.putDouble("width", mContentWidth); - contentSize.putDouble("height", mContentHeight); - eventData.putMap("contentSize", contentSize); eventData.putInt("eventCount", mEventCount); - eventData.putInt("target", getViewTag()); return eventData; } diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java index 1e30a70b1e990d..8ad759a505bf27 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.java @@ -672,26 +672,12 @@ public void onTextChanged(CharSequence s, int start, int before, int count) { return; } - // TODO: remove contentSize from onTextChanged entirely now that onChangeContentSize exists? - int contentWidth = mEditText.getWidth(); - int contentHeight = mEditText.getHeight(); - - // Use instead size of text content within EditText when available - if (mEditText.getLayout() != null) { - contentWidth = mEditText.getCompoundPaddingLeft() + mEditText.getLayout().getWidth() + - mEditText.getCompoundPaddingRight(); - contentHeight = mEditText.getCompoundPaddingTop() + mEditText.getLayout().getHeight() + - mEditText.getCompoundPaddingBottom(); - } - // The event that contains the event counter and updates it must be sent first. // TODO: t7936714 merge these events mEventDispatcher.dispatchEvent( new ReactTextChangedEvent( mEditText.getId(), s.toString(), - PixelUtil.toDIPFromPixel(contentWidth), - PixelUtil.toDIPFromPixel(contentHeight), mEditText.incrementAndGetEventCounter())); mEventDispatcher.dispatchEvent(