|
9 | 9 |
|
10 | 10 | import android.os.Build;
|
11 | 11 | import android.text.Layout;
|
| 12 | +import android.util.TypedValue; |
12 | 13 | import android.view.ViewGroup;
|
13 | 14 | import android.widget.EditText;
|
14 | 15 | import com.facebook.infer.annotation.Assertions;
|
15 | 16 | import com.facebook.react.bridge.JSApplicationIllegalArgumentException;
|
16 | 17 | import com.facebook.react.common.annotations.VisibleForTesting;
|
17 | 18 | import com.facebook.react.uimanager.LayoutShadowNode;
|
| 19 | +import com.facebook.react.uimanager.PixelUtil; |
18 | 20 | import com.facebook.react.uimanager.ReactShadowNodeImpl;
|
19 | 21 | import com.facebook.react.uimanager.Spacing;
|
20 | 22 | import com.facebook.react.uimanager.ThemedReactContext;
|
21 | 23 | import com.facebook.react.uimanager.UIViewOperationQueue;
|
| 24 | +import com.facebook.react.uimanager.ViewDefaults; |
22 | 25 | import com.facebook.react.uimanager.annotations.ReactProp;
|
23 | 26 | import com.facebook.react.views.text.ReactBaseTextShadowNode;
|
24 | 27 | import com.facebook.react.views.text.ReactTextUpdate;
|
@@ -127,12 +130,24 @@ public long measure(
|
127 | 130 | // measure() should never be called before setThemedContext()
|
128 | 131 | EditText editText = Assertions.assertNotNull(mDummyEditText);
|
129 | 132 |
|
130 |
| - if (mLocalData == null) { |
131 |
| - // No local data, no intrinsic size. |
132 |
| - return YogaMeasureOutput.make(0, 0); |
| 133 | + if (mLocalData != null) { |
| 134 | + mLocalData.apply(editText); |
| 135 | + } else { |
| 136 | + editText.setTextSize( |
| 137 | + TypedValue.COMPLEX_UNIT_PX, |
| 138 | + mFontSize == UNSET ? |
| 139 | + (int) Math.ceil(PixelUtil.toPixelFromSP(ViewDefaults.FONT_SIZE_SP)) : mFontSize); |
| 140 | + |
| 141 | + if (mNumberOfLines != UNSET) { |
| 142 | + editText.setLines(mNumberOfLines); |
| 143 | + } |
| 144 | + |
| 145 | + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && |
| 146 | + editText.getBreakStrategy() != mTextBreakStrategy) { |
| 147 | + editText.setBreakStrategy(mTextBreakStrategy); |
| 148 | + } |
133 | 149 | }
|
134 | 150 |
|
135 |
| - mLocalData.apply(editText); |
136 | 151 |
|
137 | 152 | editText.measure(
|
138 | 153 | MeasureUtil.getMeasureSpec(width, widthMode),
|
|
0 commit comments