summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ahaan Ugale <augale@google.com> 2021-04-05 20:18:52 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-04-05 20:18:52 +0000
commit4b163155e54345b0bc933ffe3e565d6bb651dbc6 (patch)
tree377163a25ea39f6464debeb48922ab9f5af2ed62
parentdabc72e5b248b83a03df6a9c30b103d69a806bf3 (diff)
parent8c48915e429fe991ac03109adc926140ebf8e1e9 (diff)
Merge "UiTranslation: Temporary fix for crash due to length increases." into sc-dev
-rw-r--r--core/java/android/text/method/TranslationTransformationMethod.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/java/android/text/method/TranslationTransformationMethod.java b/core/java/android/text/method/TranslationTransformationMethod.java
index 54c0ffcdbb65..7db999a89fbe 100644
--- a/core/java/android/text/method/TranslationTransformationMethod.java
+++ b/core/java/android/text/method/TranslationTransformationMethod.java
@@ -78,11 +78,24 @@ public class TranslationTransformationMethod implements TransformationMethod2 {
if (TextUtils.isEmpty(translatedText) || isWhitespace(translatedText.toString())) {
return source;
} else {
+ // TODO(b/179693024): Remove this once we have the fix to pad the view text instead.
+ translatedText = ellipsize(translatedText, ((TextView) view).getText().length());
// TODO(b/174283799): apply the spans to the text
return translatedText;
}
}
+ private static CharSequence ellipsize(CharSequence text, int newLength) {
+ if (text.length() <= newLength) {
+ return text;
+ }
+ String ellipsis = String.valueOf('\u2026');
+ if (newLength == 1) {
+ return ellipsis;
+ }
+ return TextUtils.concat(TextUtils.trimToSize(text, newLength - 1), ellipsis);
+ }
+
@Override
public void onFocusChanged(View view, CharSequence sourceText,
boolean focused, int direction,