diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/StringUtil.java b/app/src/main/java/org/thoughtcrime/securesms/util/StringUtil.java index 328e078f57..9d9ca2aedf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/StringUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/StringUtil.java @@ -12,6 +12,7 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.Set; +import java.util.regex.Pattern; public final class StringUtil { @@ -22,6 +23,8 @@ public final class StringUtil { '\u2800'); // braille blank + private static final Pattern ALL_ASCII_PATTERN = Pattern.compile("^[\\x00-\\x7F]*$"); + private static final class Bidi { /** Override text direction */ private static final Set OVERRIDES = SetUtil.newHashSet("\u202a".codePointAt(0), /* LRE */ @@ -217,6 +220,10 @@ public final class StringUtil { return text; } + if (ALL_ASCII_PATTERN.matcher(text).matches()) { + return text; + } + int overrideCount = 0; int overrideCloseCount = 0; int isolateCount = 0;