diff options
author | 2012-07-09 18:25:27 +0900 | |
---|---|---|
committer | 2012-07-10 19:30:42 +0900 | |
commit | b30d2185f24e3d531f5d46249e7c97391705e469 (patch) | |
tree | ae9d84872437c992ac3e4d40369f54f13dd43ecb /java/src/com/android/inputmethod/latin/DictionaryCollection.java | |
parent | a69f12a246b6c047faf7002a57b1cebc3721d731 (diff) | |
download | latinime-b30d2185f24e3d531f5d46249e7c97391705e469.tar.gz latinime-b30d2185f24e3d531f5d46249e7c97391705e469.tar.xz latinime-b30d2185f24e3d531f5d46249e7c97391705e469.zip |
Implement the common Dictionary interface (A89)
This will de-duplicate a lot of existing code.
Change-Id: Idaffb2fde23b9741f057bcb2ecb3dde9d12ea5c5
Diffstat (limited to 'java/src/com/android/inputmethod/latin/DictionaryCollection.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/DictionaryCollection.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/DictionaryCollection.java b/java/src/com/android/inputmethod/latin/DictionaryCollection.java index d2ddebf3e..7c589ef17 100644 --- a/java/src/com/android/inputmethod/latin/DictionaryCollection.java +++ b/java/src/com/android/inputmethod/latin/DictionaryCollection.java @@ -55,6 +55,26 @@ public class DictionaryCollection extends Dictionary { } @Override + public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer, + final CharSequence prevWord, final ProximityInfo proximityInfo) { + final CopyOnWriteArrayList<Dictionary> dictionaries = mDictionaries; + if (dictionaries.isEmpty()) return null; + // To avoid creating unnecessary objects, we get the list out of the first + // dictionary and add the rest to it if not null, hence the get(0) + ArrayList<SuggestedWordInfo> suggestions = dictionaries.get(0).getSuggestions(composer, + prevWord, proximityInfo); + if (null == suggestions) suggestions = new ArrayList<SuggestedWordInfo>(); + final int length = dictionaries.size(); + for (int i = 0; i < length; ++ i) { + final ArrayList<SuggestedWordInfo> sugg = dictionaries.get(i).getSuggestions(composer, + prevWord, proximityInfo); + if (null != sugg) suggestions.addAll(sugg); + } + return suggestions; + } + + // TODO: remove this + @Override protected ArrayList<SuggestedWordInfo> getWords(final WordComposer composer, final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo) { final CopyOnWriteArrayList<Dictionary> dictionaries = mDictionaries; @@ -73,6 +93,7 @@ public class DictionaryCollection extends Dictionary { return suggestions; } + // TODO: remove this @Override protected ArrayList<SuggestedWordInfo> getBigrams(final WordComposer composer, final CharSequence previousWord) { |