aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/DictionaryCollection.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-07-09 18:25:27 +0900
committerJean Chalard <jchalard@google.com>2012-07-10 19:30:42 +0900
commitb30d2185f24e3d531f5d46249e7c97391705e469 (patch)
treeae9d84872437c992ac3e4d40369f54f13dd43ecb /java/src/com/android/inputmethod/latin/DictionaryCollection.java
parenta69f12a246b6c047faf7002a57b1cebc3721d731 (diff)
downloadlatinime-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.java21
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) {