From ab270eb596d0367dacfec2bc0b4393d7785ea634 Mon Sep 17 00:00:00 2001 From: M66B Date: Thu, 24 Feb 2022 19:15:21 +0100 Subject: [PATCH] Send chip RTL support --- .../eu/faircode/email/EditTextMultiAutoComplete.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/faircode/email/EditTextMultiAutoComplete.java b/app/src/main/java/eu/faircode/email/EditTextMultiAutoComplete.java index 0eb7dfa06c..03243d3061 100644 --- a/app/src/main/java/eu/faircode/email/EditTextMultiAutoComplete.java +++ b/app/src/main/java/eu/faircode/email/EditTextMultiAutoComplete.java @@ -30,9 +30,11 @@ import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.net.Uri; +import android.os.Build; import android.provider.ContactsContract; import android.text.Editable; import android.text.Spanned; +import android.text.TextDirectionHeuristics; import android.text.TextUtils; import android.text.TextWatcher; import android.text.style.DynamicDrawableSpan; @@ -40,6 +42,7 @@ import android.text.style.ImageSpan; import android.util.AttributeSet; import android.view.ContextThemeWrapper; import android.view.MotionEvent; +import android.view.View; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -291,7 +294,13 @@ public class EditTextMultiAutoComplete extends AppCompatMultiAutoCompleteTextVie // https://github.com/material-components/material-components-android/blob/master/docs/components/Chip.md ChipDrawable cd = ChipDrawable.createFromResource(ctx, R.xml.chip); cd.setChipIcon(avatar); - // cd.setLayoutDirection(View.LAYOUT_DIRECTION_LOCALE); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) + try { + if (TextDirectionHeuristics.FIRSTSTRONG_LTR.isRtl(text, 0, text.length())) + cd.setLayoutDirection(View.LAYOUT_DIRECTION_RTL); + } catch (Throwable ex) { + Log.e(ex); + } cd.setText(text); cd.setChipBackgroundColor(ColorStateList.valueOf(colorAccent)); cd.setMaxWidth(getWidth());