aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2013-08-22 14:03:53 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-08-22 14:03:53 +0000
commit4929f8516c2b3582805e25e69d2b0b5a71bae53f (patch)
treea9860579bf868a955f9e42058468e368e895ac2f /java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java
parent5f438d555c8553e4814abc6c0263c8c8f84a8220 (diff)
parentaa4168ee09e8bff6d4a27041566fe79f71cdbcf5 (diff)
downloadlatinime-4929f8516c2b3582805e25e69d2b0b5a71bae53f.tar.gz
latinime-4929f8516c2b3582805e25e69d2b0b5a71bae53f.tar.xz
latinime-4929f8516c2b3582805e25e69d2b0b5a71bae53f.zip
Merge "Fix writePlacedNode."
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java')
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java b/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java
index 8d1b02713..494bbfcf2 100644
--- a/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java
+++ b/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java
@@ -255,18 +255,26 @@ public class Ver3DictDecoder implements DictDecoder {
childrenAddress += addressPointer;
}
addressPointer += BinaryDictIOUtils.getChildrenAddressSize(flags, options);
- ArrayList<WeightedString> shortcutTargets = null;
+ final ArrayList<WeightedString> shortcutTargets;
if (0 != (flags & FormatSpec.FLAG_HAS_SHORTCUT_TARGETS)) {
+ // readShortcut will add shortcuts to shortcutTargets.
+ shortcutTargets = new ArrayList<WeightedString>();
addressPointer += PtNodeReader.readShortcut(mDictBuffer, shortcutTargets);
+ } else {
+ shortcutTargets = null;
}
- ArrayList<PendingAttribute> bigrams = null;
+
+ final ArrayList<PendingAttribute> bigrams;
if (0 != (flags & FormatSpec.FLAG_HAS_BIGRAMS)) {
bigrams = new ArrayList<PendingAttribute>();
addressPointer += PtNodeReader.readBigrams(mDictBuffer, bigrams, addressPointer);
if (bigrams.size() >= FormatSpec.MAX_BIGRAMS_IN_A_GROUP) {
MakedictLog.d("too many bigrams in a group.");
}
+ } else {
+ bigrams = null;
}
+
return new CharGroupInfo(ptNodePos, addressPointer, flags, characters, frequency,
parentAddress, childrenAddress, shortcutTargets, bigrams);
}