abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/dict/SupportedDictionaries.java
diff options
context:
space:
mode:
authorJules Aguillon2026-02-02 00:20:00 +0100
committerGitHub2026-02-02 00:20:00 +0100
commit77c4a27c4c37b3620defcab94ffd1b2f536c88cb (patch)
tree1bf2c5b723e1f86b0904257e7e57f4fda15378e9 /srcs/juloo.keyboard2/dict/SupportedDictionaries.java
parent2ecf93d9904544ee73159e9f0ee74b49057bca6c (diff)
downloadunexpected-keyboard-77c4a27c4c37b3620defcab94ffd1b2f536c88cb.tar.gz
unexpected-keyboard-77c4a27c4c37b3620defcab94ffd1b2f536c88cb.zip
Spell checking (#1137)
This adds dictionary-based spell checking to the keyboard. The keyboard looks at the word being typed and matches it against a dictionary to either complete the rest of the word or find alternative spellings. The core of this feature is implemented in cdict, which is included as a submodule in vendor/cidct. Cdict is developped at https://github.com/Julow/cdict The dictionaries are hosted at https://github.com/Julow/Unexpected-Keyboard-dictionaries/ The wordlists used to build the dictionaries are the same ones used by HeliBoard from https://codeberg.org/Helium314/aosp-dictionaries - Add an activity accessible from the launcher app that lists available dictionaries with a download button. The DictionaryListView view shows the list of available dictionaries and handles downloading and installing them. - The Dictionaries class manages installed dictionaries. Dictionaries are installed as individual files into the app's private directory. - Available dictionaries are listed in dictionaries.xml, which is generated when building Unexpected-Keyboard-dictionaries. method.xml mentions the dictionary name for each locales.
Diffstat (limited to 'srcs/juloo.keyboard2/dict/SupportedDictionaries.java')
-rw-r--r--srcs/juloo.keyboard2/dict/SupportedDictionaries.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/srcs/juloo.keyboard2/dict/SupportedDictionaries.java b/srcs/juloo.keyboard2/dict/SupportedDictionaries.java
new file mode 100644
index 0000000..879fccd
--- /dev/null
+++ b/srcs/juloo.keyboard2/dict/SupportedDictionaries.java
@@ -0,0 +1,33 @@
+package juloo.keyboard2.dict;
+
+import android.content.res.Resources;
+import java.util.Arrays;
+import juloo.keyboard2.R;
+
+/** Access arrays in [dictionaries.xml]. */
+public class SupportedDictionaries
+{
+ public String[] locales;
+ public String[] names;
+ public int[] sizes;
+
+ public SupportedDictionaries(Resources res)
+ {
+ locales = res.getStringArray(R.array.dictionaries_locale);
+ names = res.getStringArray(R.array.dictionaries_name);
+ sizes = res.getIntArray(R.array.dictionaries_size);
+ }
+
+ /** Find the index for a given dictionary name. Return [-1] if not found. */
+ public int find(String dict_name)
+ {
+ int i = Arrays.binarySearch(locales, dict_name);
+ return (i < 0) ? -1 : i;
+ }
+
+ public int length() { return locales.length; }
+
+ public String dict_name(int i) { return locales[i]; }
+ public String display_name(int i) { return names[i]; }
+ public int size(int i) { return sizes[i]; }
+}