From 81698c72da9c944e3a306f270e422c4319f9e50c Mon Sep 17 00:00:00 2001 From: sspanak Date: Thu, 29 Aug 2024 16:55:47 +0300 Subject: [PATCH] fixed the newline character not being displayed correctly on older devices --- .../io/github/sspanak/tt9/ui/tray/SuggestionsBar.java | 7 ++++--- .../java/io/github/sspanak/tt9/util/Characters.java | 10 ++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/tray/SuggestionsBar.java b/app/src/main/java/io/github/sspanak/tt9/ui/tray/SuggestionsBar.java index 38773f7d..74a3134e 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/tray/SuggestionsBar.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/tray/SuggestionsBar.java @@ -22,6 +22,7 @@ import io.github.sspanak.tt9.R; import io.github.sspanak.tt9.preferences.settings.SettingsStore; import io.github.sspanak.tt9.ui.Vibration; import io.github.sspanak.tt9.ui.main.ResizableMainView; +import io.github.sspanak.tt9.util.Characters; public class SuggestionsBar { private double lastClickTime = 0; @@ -115,11 +116,10 @@ public class SuggestionsBar { return ""; } - return suggestions.get(id).equals("⏎") ? "\n" : suggestions.get(id); + return suggestions.get(id).equals(Characters.getNewLine()) ? "\n" : suggestions.get(id); } - @SuppressLint("NotifyDataSetChanged") public void setSuggestions(List newSuggestions, int initialSel) { ecoSetBackground(newSuggestions); @@ -129,7 +129,7 @@ public class SuggestionsBar { if (newSuggestions != null) { for (String suggestion : newSuggestions) { // make the new line better readable - suggestions.add(suggestion.equals("\n") ? "⏎" : suggestion); + suggestions.add(suggestion.equals("\n") ? Characters.getNewLine() : suggestion); } selectedIndex = Math.max(initialSel, 0); } @@ -138,6 +138,7 @@ public class SuggestionsBar { } + @SuppressLint("NotifyDataSetChanged") private void setSuggestionsOnScreen() { if (mView != null) { mSuggestionsAdapter.setSelection(selectedIndex); diff --git a/app/src/main/java/io/github/sspanak/tt9/util/Characters.java b/app/src/main/java/io/github/sspanak/tt9/util/Characters.java index b28be3cf..3ae065c2 100644 --- a/app/src/main/java/io/github/sspanak/tt9/util/Characters.java +++ b/app/src/main/java/io/github/sspanak/tt9/util/Characters.java @@ -7,6 +7,8 @@ import java.util.ArrayList; import java.util.Arrays; public class Characters { + private static String NEW_LINE_CHARACTER = null; + final public static ArrayList ArabicNumbers = new ArrayList<>(Arrays.asList( "٠", "١", "٢", "٣", "٤", "٥", "٦", "٧", "٨", "٩" )); @@ -131,4 +133,12 @@ public class Characters { public static int getMaxEmojiLevel() { return Emoji.size(); } + + public static String getNewLine() { + if (NEW_LINE_CHARACTER == null) { + NEW_LINE_CHARACTER = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && new Paint().hasGlyph("⏎") ? "⏎" : "\\n"; + } + + return NEW_LINE_CHARACTER; + } }