aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java
diff options
context:
space:
mode:
authorYuichiro Hanada <yhanada@google.com>2013-09-12 09:15:20 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-09-12 09:15:20 -0700
commita3be38ebc7c77942497dc0c8875633265e393080 (patch)
tree9d1fcabb8884f3e1588a0807355b88b71e7b085c /java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java
parenta1efc18927b0d91b0c6bfacd31817f92083bde04 (diff)
parentbe470f06e48e40a0def32e0f34e3ca48113937b5 (diff)
downloadlatinime-a3be38ebc7c77942497dc0c8875633265e393080.tar.gz
latinime-a3be38ebc7c77942497dc0c8875633265e393080.tar.xz
latinime-a3be38ebc7c77942497dc0c8875633265e393080.zip
am be470f06: Hide DictBuffer from BinaryDictDecoderUtils.
* commit 'be470f06e48e40a0def32e0f34e3ca48113937b5': Hide DictBuffer from BinaryDictDecoderUtils.
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java')
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/Ver3DictDecoder.java29
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;
+ }
}