diff options
author | 2013-09-11 18:20:00 +0900 | |
---|---|---|
committer | 2013-09-12 16:49:54 +0900 | |
commit | be470f06e48e40a0def32e0f34e3ca48113937b5 (patch) | |
tree | 101aa0174b36cc953ce3ae1936b29ed724d287f2 /java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java | |
parent | 3508eb14c083a2d3e0f1671b926ebb4ec9302130 (diff) | |
download | latinime-be470f06e48e40a0def32e0f34e3ca48113937b5.tar.gz latinime-be470f06e48e40a0def32e0f34e3ca48113937b5.tar.xz latinime-be470f06e48e40a0def32e0f34e3ca48113937b5.zip |
Hide DictBuffer from BinaryDictDecoderUtils.
Bug: 9618601
Change-Id: I87515bc1555bdfe09426a056ceda74d8e63eba82
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java b/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java index b98aa0f60..6dff9b6d2 100644 --- a/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java +++ b/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java @@ -348,4 +348,33 @@ public class Ver3DictDecoder implements DictDecoder { BinaryDictIOUtils.readUnigramsAndBigramsBinary(this, words, frequencies, bigrams); } + @Override + public void setPosition(int newPos) { + mDictBuffer.position(newPos); + } + + @Override + public int getPosition() { + return mDictBuffer.position(); + } + + @Override + public int readPtNodeCount() { + return BinaryDictDecoderUtils.readPtNodeCount(mDictBuffer); + } + + @Override + public boolean readForwardLinkAndAdvancePosition() { + final int nextAddress = mDictBuffer.readUnsignedInt24(); + if (nextAddress >= 0 && nextAddress < mDictBuffer.limit()) { + mDictBuffer.position(nextAddress); + return true; + } + return false; + } + + @Override + public boolean hasNextPtNodeArray() { + return mDictBuffer.position() != FormatSpec.NO_FORWARD_LINK_ADDRESS; + } } |