/**
* 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.text;
import android.text.Layout;
import android.text.Spannable;
/**
* Class that contains the data needed for a text update.
* Used by both <Text/> and <TextInput/>
* VisibleForTesting from {@link TextInputEventsTestCase}.
*/
public class ReactTextUpdate {
private final Spannable mText;
private final int mJsEventCounter;
private final boolean mContainsImages;
private final float mPaddingLeft;
private final float mPaddingTop;
private final float mPaddingRight;
private final float mPaddingBottom;
private final int mTextAlign;
private final int mTextBreakStrategy;
/**
* @deprecated Use a non-deprecated constructor for ReactTextUpdate instead. This one remains
* because it's being used by a unit test that isn't currently open source.
*/
@Deprecated
public ReactTextUpdate(
Spannable text,
int jsEventCounter,
boolean containsImages,
float paddingStart,
float paddingTop,
float paddingEnd,
float paddingBottom,
int textAlign) {
this(text,
jsEventCounter,
containsImages,
paddingStart,
paddingTop,
paddingEnd,
paddingBottom,
textAlign,
Layout.BREAK_STRATEGY_HIGH_QUALITY);
}
public ReactTextUpdate(
Spannable text,
int jsEventCounter,
boolean containsImages,
float paddingStart,
float paddingTop,
float paddingEnd,
float paddingBottom,
int textAlign,
int textBreakStrategy) {
mText = text;
mJsEventCounter = jsEventCounter;
mContainsImages = containsImages;
mPaddingLeft = paddingStart;
mPaddingTop = paddingTop;
mPaddingRight = paddingEnd;
mPaddingBottom = paddingBottom;
mTextAlign = textAlign;
mTextBreakStrategy = textBreakStrategy;
}
public Spannable getText() {
return mText;
}
public int getJsEventCounter() {
return mJsEventCounter;
}
public boolean containsImages() {
return mContainsImages;
}
public float getPaddingLeft() {
return mPaddingLeft;
}
public float getPaddingTop() {
return mPaddingTop;
}
public float getPaddingRight() {
return mPaddingRight;
}
public float getPaddingBottom() {
return mPaddingBottom;
}
public int getTextAlign() {
return mTextAlign;
}
public int getTextBreakStrategy() {
return mTextBreakStrategy;
}
}