/**
 * Copyright (c) 2015-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

package com.facebook.react.views.textinput;

import android.os.Build;
import android.text.SpannableString;
import android.util.TypedValue;
import android.widget.EditText;

/** Local state bearer for EditText instance. */
public final class ReactTextInputLocalData {

  private final SpannableString mText;
  private final float mTextSize;
  private final int mMinLines;
  private final int mMaxLines;
  private final int mInputType;
  private final int mBreakStrategy;

  public ReactTextInputLocalData(EditText editText) {
    mText = new SpannableString(editText.getText());
    mTextSize = editText.getTextSize();
    mMinLines = editText.getMinLines();
    mMaxLines = editText.getMaxLines();
    mInputType = editText.getInputType();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
      mBreakStrategy = editText.getBreakStrategy();
    } else {
      mBreakStrategy = 0;
    }
  }

  public void apply(EditText editText) {
    editText.setText(mText);
    editText.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize);
    editText.setMinLines(mMinLines);
    editText.setMaxLines(mMaxLines);
    editText.setInputType(mInputType);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
      editText.setBreakStrategy(mBreakStrategy);
    }
  }
}

@@ -408,16 +408,23 @@
 leString
+Builder
 ;%0Aimport
@@ -608,16 +608,23 @@
 leString
+Builder
  mText;%0A
@@ -872,16 +872,23 @@
 leString
+Builder
 (editTex

Fixed crash in ReactTextInputLocalData