aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--java/src/com/android/inputmethod/compat/TextInfoCompatUtils.java14
-rw-r--r--tests/src/com/android/inputmethod/compat/TextInfoCompatUtilsTests.java2
2 files changed, 12 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/compat/TextInfoCompatUtils.java b/java/src/com/android/inputmethod/compat/TextInfoCompatUtils.java
index 8bd919749..09f39a756 100644
--- a/java/src/com/android/inputmethod/compat/TextInfoCompatUtils.java
+++ b/java/src/com/android/inputmethod/compat/TextInfoCompatUtils.java
@@ -22,7 +22,6 @@ import com.android.inputmethod.annotations.UsedForTesting;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
-import java.util.Locale;
@UsedForTesting
public final class TextInfoCompatUtils {
@@ -50,9 +49,18 @@ public final class TextInfoCompatUtils {
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
- public static CharSequence getCharSequence(final TextInfo textInfo,
- final CharSequence defaultValue) {
+ public static CharSequence getCharSequenceOrString(final TextInfo textInfo) {
+ final CharSequence defaultValue = (textInfo == null ? null : textInfo.getText());
return (CharSequence) CompatUtils.invoke(textInfo, defaultValue,
TEXT_INFO_GET_CHAR_SEQUENCE);
}
diff --git a/tests/src/com/android/inputmethod/compat/TextInfoCompatUtilsTests.java b/tests/src/com/android/inputmethod/compat/TextInfoCompatUtilsTests.java
index 5721ed1ff..c399cced6 100644
--- a/tests/src/com/android/inputmethod/compat/TextInfoCompatUtilsTests.java
+++ b/tests/src/com/android/inputmethod/compat/TextInfoCompatUtilsTests.java
@@ -58,7 +58,7 @@ public class TextInfoCompatUtilsTests extends AndroidTestCase {
final Spanned expectedSpanned = (Spanned) text.subSequence(TEST_CHAR_SEQUENCE_START,
TEST_CHAR_SEQUENCE_END);
final CharSequence actualCharSequence =
- TextInfoCompatUtils.getCharSequence(textInfo, textInfo.getText());
+ TextInfoCompatUtils.getCharSequenceOrString(textInfo);
// This should be valid even if TextInfo#getCharSequence is not supported.
assertTrue(TextUtils.equals(expectedSpanned, actualCharSequence));