Simplify the wrapper for TextInfo#getCharSequence
This CL simplifies the wrapper method for TextInfo#getCharSequence() because in the almost all cases we want to use the result of TextInfo#getText() as the default value. BUG: 16029304 Change-Id: I62f987aed8ca42b093255e6c0703d6120fa01299main
parent
ba1cd8a44a
commit
fc137f35c8
|
@ -22,7 +22,6 @@ import com.android.inputmethod.annotations.UsedForTesting;
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
@UsedForTesting
|
@UsedForTesting
|
||||||
public final class TextInfoCompatUtils {
|
public final class TextInfoCompatUtils {
|
||||||
|
@ -50,9 +49,18 @@ public final class TextInfoCompatUtils {
|
||||||
sequenceNumber);
|
sequenceNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the result of {@link TextInfo#getCharSequence()} when available. Otherwise returns
|
||||||
|
* the result of {@link TextInfo#getText()} as fall back.
|
||||||
|
* @param textInfo the instance for which {@link TextInfo#getCharSequence()} or
|
||||||
|
* {@link TextInfo#getText()} is called.
|
||||||
|
* @return the result of {@link TextInfo#getCharSequence()} when available. Otherwise returns
|
||||||
|
* the result of {@link TextInfo#getText()} as fall back. If {@code textInfo} is {@code null},
|
||||||
|
* returns {@code null}.
|
||||||
|
*/
|
||||||
@UsedForTesting
|
@UsedForTesting
|
||||||
public static CharSequence getCharSequence(final TextInfo textInfo,
|
public static CharSequence getCharSequenceOrString(final TextInfo textInfo) {
|
||||||
final CharSequence defaultValue) {
|
final CharSequence defaultValue = (textInfo == null ? null : textInfo.getText());
|
||||||
return (CharSequence) CompatUtils.invoke(textInfo, defaultValue,
|
return (CharSequence) CompatUtils.invoke(textInfo, defaultValue,
|
||||||
TEXT_INFO_GET_CHAR_SEQUENCE);
|
TEXT_INFO_GET_CHAR_SEQUENCE);
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class TextInfoCompatUtilsTests extends AndroidTestCase {
|
||||||
final Spanned expectedSpanned = (Spanned) text.subSequence(TEST_CHAR_SEQUENCE_START,
|
final Spanned expectedSpanned = (Spanned) text.subSequence(TEST_CHAR_SEQUENCE_START,
|
||||||
TEST_CHAR_SEQUENCE_END);
|
TEST_CHAR_SEQUENCE_END);
|
||||||
final CharSequence actualCharSequence =
|
final CharSequence actualCharSequence =
|
||||||
TextInfoCompatUtils.getCharSequence(textInfo, textInfo.getText());
|
TextInfoCompatUtils.getCharSequenceOrString(textInfo);
|
||||||
|
|
||||||
// This should be valid even if TextInfo#getCharSequence is not supported.
|
// This should be valid even if TextInfo#getCharSequence is not supported.
|
||||||
assertTrue(TextUtils.equals(expectedSpanned, actualCharSequence));
|
assertTrue(TextUtils.equals(expectedSpanned, actualCharSequence));
|
||||||
|
|
Loading…
Reference in New Issue