Align relative to text direction

This commit is contained in:
M66B
2021-01-30 15:28:43 +01:00
parent 6b4b0e280e
commit 97084bfc35
2 changed files with 28 additions and 4 deletions

View File

@@ -876,6 +876,31 @@ public class Helper {
}
// https://issuetracker.google.com/issues/37054851
static boolean isRtl(String text) {
if (TextUtils.isEmpty(text))
return false;
int rtl = 0;
int ltr = 0;
for (int i = 0; i < text.length(); i++)
switch (Character.getDirectionality(text.charAt(i))) {
case java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT:
case java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC:
case java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING:
case java.lang.Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE:
rtl++;
break;
case java.lang.Character.DIRECTIONALITY_LEFT_TO_RIGHT:
case java.lang.Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING:
case java.lang.Character.DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE:
ltr++;
break;
}
return (rtl > ltr);
}
static DateFormat getTimeInstance(Context context) {
return Helper.getTimeInstance(context, SimpleDateFormat.MEDIUM);
}