diff --git a/app/src/main/java/io/github/sspanak/tt9/ime/modes/InputMode.java b/app/src/main/java/io/github/sspanak/tt9/ime/modes/InputMode.java index 98ab534a..a78cdf67 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ime/modes/InputMode.java +++ b/app/src/main/java/io/github/sspanak/tt9/ime/modes/InputMode.java @@ -225,7 +225,17 @@ abstract public class InputMode { } ArrayList ordered = new ArrayList<>(); + + if (isEmailMode) { + if (unordered.contains("@")) ordered.add("@"); + if (unordered.contains("_")) ordered.add("_"); + } + for (String ch : settings.getOrderedKeyChars(language, key)) { + if (isEmailMode && (ch.charAt(0) == '@' || ch.charAt(0) == '_')) { + continue; + } + if (unordered.contains(ch)) { ordered.add(ch); } diff --git a/app/src/main/java/io/github/sspanak/tt9/util/chars/Characters.java b/app/src/main/java/io/github/sspanak/tt9/util/chars/Characters.java index fa7a74b6..e71519ea 100644 --- a/app/src/main/java/io/github/sspanak/tt9/util/chars/Characters.java +++ b/app/src/main/java/io/github/sspanak/tt9/util/chars/Characters.java @@ -16,7 +16,7 @@ public class Characters extends Emoji { * The English punctuation filtered to contain only valid email characters. */ final public static ArrayList> Email = new ArrayList<>(Arrays.asList( - new ArrayList<>(Arrays.asList("@", "_", "#", "%", "{", "}", "|", "^", "/", "=", "*", "+")), + new ArrayList<>(Arrays.asList("@", "_", " ", "#", "%", "{", "}", "|", "^", "/", "=", "*", "+")), new ArrayList<>(Arrays.asList(".", "-", "&", "~", "`", "'", "!", "?")) ));