From f4686092232588781910cc4e64406c4958577e86 Mon Sep 17 00:00:00 2001 From: Mohammadinamul Sheik Date: Tue, 17 Mar 2015 11:43:16 -0700 Subject: Use BinaryDicitonary.MAX_PREV_WORD_COUNT_FOR_NGRAM for D2 dictioanries. Fixes the UserHistoryDictionaryTests Change-Id: I49776f53298ced3cd7e771cfe77a940b80b01f20 --- java/src/com/android/inputmethod/latin/NgramContext.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'java/src/com/android/inputmethod/latin/NgramContext.java') diff --git a/java/src/com/android/inputmethod/latin/NgramContext.java b/java/src/com/android/inputmethod/latin/NgramContext.java index aeeff6126..f8fba6256 100644 --- a/java/src/com/android/inputmethod/latin/NgramContext.java +++ b/java/src/com/android/inputmethod/latin/NgramContext.java @@ -43,6 +43,10 @@ public class NgramContext { public static final String CONTEXT_SEPARATOR = " "; + public static NgramContext getEmptyPrevWordsContext(int maxPrevWordCount) { + return new NgramContext(maxPrevWordCount, WordInfo.EMPTY_WORD_INFO); + } + /** * Word information used to represent previous words information. */ @@ -102,10 +106,17 @@ public class NgramContext { private final WordInfo[] mPrevWordsInfo; private final int mPrevWordsCount; + private final int mMaxPrevWordCount; + // Construct from the previous word information. public NgramContext(final WordInfo... prevWordsInfo) { + this(DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM, prevWordsInfo); + } + + public NgramContext(final int maxPrevWordCount, final WordInfo... prevWordsInfo) { mPrevWordsInfo = prevWordsInfo; mPrevWordsCount = prevWordsInfo.length; + mMaxPrevWordCount = maxPrevWordCount; } /** @@ -113,8 +124,7 @@ public class NgramContext { */ @Nonnull public NgramContext getNextNgramContext(final WordInfo wordInfo) { - final int nextPrevWordCount = Math.min( - DecoderSpecificConstants.MAX_PREV_WORD_COUNT_FOR_N_GRAM, mPrevWordsCount + 1); + final int nextPrevWordCount = Math.min(mMaxPrevWordCount, mPrevWordsCount + 1); final WordInfo[] prevWordsInfo = new WordInfo[nextPrevWordCount]; prevWordsInfo[0] = wordInfo; System.arraycopy(mPrevWordsInfo, 0, prevWordsInfo, 1, nextPrevWordCount - 1); -- cgit v1.2.3-83-g751a