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; + } }