diff options
author | 2012-10-03 17:58:22 +0900 | |
---|---|---|
committer | 2012-10-04 14:28:42 +0900 | |
commit | c3a98ca306d5d6a3dfce3585b73f7431dbf90bfc (patch) | |
tree | c93be1fc4d9d8613f59bd99ff5dcd35704bf70d4 /java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java | |
parent | 48ce9e77ce25e01e8e8cf6756f0374f26b9c841f (diff) | |
download | latinime-c3a98ca306d5d6a3dfce3585b73f7431dbf90bfc.tar.gz latinime-c3a98ca306d5d6a3dfce3585b73f7431dbf90bfc.tar.xz latinime-c3a98ca306d5d6a3dfce3585b73f7431dbf90bfc.zip |
Add writeNode.
Change-Id: I088bb6ea43ce0841d725e48b677d429e1155569d
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java index 78171d03c..624e72f0c 100644 --- a/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java +++ b/java/src/com/android/inputmethod/latin/makedict/BinaryDictInputOutput.java @@ -276,6 +276,21 @@ public final class BinaryDictInputOutput { } /** + * Compute the binary size of the character array. + * + * If only one character, this is the size of this character. If many, it's the sum of their + * sizes + 1 byte for the terminator. + * + * @param characters the character array + * @return the size of the char array, including the terminator if any + */ + static int getGroupCharactersSize(final int[] characters) { + int size = CharEncoding.getCharArraySize(characters); + if (characters.length > 1) size += FormatSpec.GROUP_TERMINATOR_SIZE; + return size; + } + + /** * Compute the binary size of the character array in a group * * If only one character, this is the size of this character. If many, it's the sum of their @@ -285,9 +300,7 @@ public final class BinaryDictInputOutput { * @return the size of the char array, including the terminator if any */ private static int getGroupCharactersSize(final CharGroup group) { - int size = CharEncoding.getCharArraySize(group.mChars); - if (group.hasSeveralChars()) size += FormatSpec.GROUP_TERMINATOR_SIZE; - return size; + return getGroupCharactersSize(group.mChars); } /** @@ -1193,7 +1206,7 @@ public final class BinaryDictInputOutput { // Input methods: Read a binary dictionary to memory. // readDictionaryBinary is the public entry point for them. - private static int getChildrenAddressSize(final int optionFlags, + static int getChildrenAddressSize(final int optionFlags, final FormatOptions formatOptions) { if (formatOptions.mSupportsDynamicUpdate) return FormatSpec.SIGNED_CHILDREN_ADDRESS_SIZE; switch (optionFlags & FormatSpec.MASK_GROUP_ADDRESS_TYPE) { |