Loading core/java/android/text/SpannableStringBuilder.java +41 −0 Original line number Diff line number Diff line Loading @@ -1288,6 +1288,47 @@ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable return mFilters; } // Same as SpannableStringInternal @Override public boolean equals(Object o) { if (o instanceof Spanned && toString().equals(o.toString())) { // Check span data Object[] otherSpans = ((Spanned) o).getSpans(0, ((Spanned) o).length(), Object.class); if (mSpanCount == otherSpans.length) { for (int i = 0; i < mSpanCount; ++i) { Object thisSpan = mSpans[i]; Object otherSpan = otherSpans[i]; if (!thisSpan.equals(otherSpan) || getSpanStart(thisSpan) != getSpanStart(otherSpan) || getSpanEnd(thisSpan) != getSpanEnd(otherSpan) || getSpanFlags(thisSpan) != getSpanFlags(otherSpan)) { return false; } } return true; } } return false; } // Same as SpannableStringInternal @Override public int hashCode() { int hash = toString().hashCode(); hash = hash * 31 + mSpanCount; for (int i = 0; i < mSpanCount; ++i) { Object span = mSpans[i]; hash = hash * 31 + span.hashCode(); hash = hash * 31 + getSpanStart(span); hash = hash * 31 + getSpanEnd(span); hash = hash * 31 + getSpanFlags(span); } return hash; } private static final InputFilter[] NO_FILTERS = new InputFilter[0]; private InputFilter[] mFilters = NO_FILTERS; Loading core/java/android/text/SpannableStringInternal.java +41 −0 Original line number Diff line number Diff line Loading @@ -358,6 +358,47 @@ import java.lang.reflect.Array; } } // Same as SpannableStringBuilder @Override public boolean equals(Object o) { if (o instanceof Spanned && toString().equals(o.toString())) { // Check span data Object[] otherSpans = ((Spanned) o).getSpans(0, ((Spanned) o).length(), Object.class); if (mSpanCount == otherSpans.length) { for (int i = 0; i < mSpanCount; ++i) { Object thisSpan = mSpans[i]; Object otherSpan = otherSpans[i]; if (!thisSpan.equals(otherSpan) || getSpanStart(thisSpan) != getSpanStart(otherSpan) || getSpanEnd(thisSpan) != getSpanEnd(otherSpan) || getSpanFlags(thisSpan) != getSpanFlags(otherSpan)) { return false; } } return true; } } return false; } // Same as SpannableStringBuilder @Override public int hashCode() { int hash = toString().hashCode(); hash = hash * 31 + mSpanCount; for (int i = 0; i < mSpanCount; ++i) { Object span = mSpans[i]; hash = hash * 31 + span.hashCode(); hash = hash * 31 + getSpanStart(span); hash = hash * 31 + getSpanEnd(span); hash = hash * 31 + getSpanFlags(span); } return hash; } private String mText; private Object[] mSpans; private int[] mSpanData; Loading core/java/android/transition/TextChange.java +7 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ValueAnimator; import android.graphics.Color; import android.util.Log; import android.view.ViewGroup; import android.widget.TextView; Loading @@ -36,6 +37,9 @@ import java.util.Map; * @hide */ public class TextChange extends Transition { private static final String LOG_TAG = "TextChange"; private static final String PROPNAME_TEXT = "android:textchange:text"; private static final String PROPNAME_TEXT_COLOR = "android:textchange:textColor"; Loading Loading @@ -224,6 +228,9 @@ public class TextChange extends Transition { } }; addListener(transitionListener); if (DBG) { Log.d(LOG_TAG, "createAnimator returning " + anim); } return anim; } return null; Loading Loading
core/java/android/text/SpannableStringBuilder.java +41 −0 Original line number Diff line number Diff line Loading @@ -1288,6 +1288,47 @@ public class SpannableStringBuilder implements CharSequence, GetChars, Spannable return mFilters; } // Same as SpannableStringInternal @Override public boolean equals(Object o) { if (o instanceof Spanned && toString().equals(o.toString())) { // Check span data Object[] otherSpans = ((Spanned) o).getSpans(0, ((Spanned) o).length(), Object.class); if (mSpanCount == otherSpans.length) { for (int i = 0; i < mSpanCount; ++i) { Object thisSpan = mSpans[i]; Object otherSpan = otherSpans[i]; if (!thisSpan.equals(otherSpan) || getSpanStart(thisSpan) != getSpanStart(otherSpan) || getSpanEnd(thisSpan) != getSpanEnd(otherSpan) || getSpanFlags(thisSpan) != getSpanFlags(otherSpan)) { return false; } } return true; } } return false; } // Same as SpannableStringInternal @Override public int hashCode() { int hash = toString().hashCode(); hash = hash * 31 + mSpanCount; for (int i = 0; i < mSpanCount; ++i) { Object span = mSpans[i]; hash = hash * 31 + span.hashCode(); hash = hash * 31 + getSpanStart(span); hash = hash * 31 + getSpanEnd(span); hash = hash * 31 + getSpanFlags(span); } return hash; } private static final InputFilter[] NO_FILTERS = new InputFilter[0]; private InputFilter[] mFilters = NO_FILTERS; Loading
core/java/android/text/SpannableStringInternal.java +41 −0 Original line number Diff line number Diff line Loading @@ -358,6 +358,47 @@ import java.lang.reflect.Array; } } // Same as SpannableStringBuilder @Override public boolean equals(Object o) { if (o instanceof Spanned && toString().equals(o.toString())) { // Check span data Object[] otherSpans = ((Spanned) o).getSpans(0, ((Spanned) o).length(), Object.class); if (mSpanCount == otherSpans.length) { for (int i = 0; i < mSpanCount; ++i) { Object thisSpan = mSpans[i]; Object otherSpan = otherSpans[i]; if (!thisSpan.equals(otherSpan) || getSpanStart(thisSpan) != getSpanStart(otherSpan) || getSpanEnd(thisSpan) != getSpanEnd(otherSpan) || getSpanFlags(thisSpan) != getSpanFlags(otherSpan)) { return false; } } return true; } } return false; } // Same as SpannableStringBuilder @Override public int hashCode() { int hash = toString().hashCode(); hash = hash * 31 + mSpanCount; for (int i = 0; i < mSpanCount; ++i) { Object span = mSpans[i]; hash = hash * 31 + span.hashCode(); hash = hash * 31 + getSpanStart(span); hash = hash * 31 + getSpanEnd(span); hash = hash * 31 + getSpanFlags(span); } return hash; } private String mText; private Object[] mSpans; private int[] mSpanData; Loading
core/java/android/transition/TextChange.java +7 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ValueAnimator; import android.graphics.Color; import android.util.Log; import android.view.ViewGroup; import android.widget.TextView; Loading @@ -36,6 +37,9 @@ import java.util.Map; * @hide */ public class TextChange extends Transition { private static final String LOG_TAG = "TextChange"; private static final String PROPNAME_TEXT = "android:textchange:text"; private static final String PROPNAME_TEXT_COLOR = "android:textchange:textColor"; Loading Loading @@ -224,6 +228,9 @@ public class TextChange extends Transition { } }; addListener(transitionListener); if (DBG) { Log.d(LOG_TAG, "createAnimator returning " + anim); } return anim; } return null; Loading