aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/makedict/WordProperty.java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-10-22 18:15:53 +0900
committerKeisuke Kuroyanagi <ksk@google.com>2014-10-22 18:15:53 +0900
commitb5ef884fbb6bfd08ce793604cdf7f0941e958a84 (patch)
tree4105ac7240773a2421a5ee44128a5fe2862ad430 /java/src/com/android/inputmethod/latin/makedict/WordProperty.java
parent1249395563d43c818e12038231ec89dcbcdc5cd0 (diff)
downloadlatinime-b5ef884fbb6bfd08ce793604cdf7f0941e958a84.tar.gz
latinime-b5ef884fbb6bfd08ce793604cdf7f0941e958a84.tar.xz
latinime-b5ef884fbb6bfd08ce793604cdf7f0941e958a84.zip
Support dumping ngram entries.
Bug: 14425059 Change-Id: Ib03a0c3d166ed6f1e60c67127b28006d55143b6b
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/WordProperty.java')
-rw-r--r--java/src/com/android/inputmethod/latin/makedict/WordProperty.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/WordProperty.java b/java/src/com/android/inputmethod/latin/makedict/WordProperty.java
index b129c3e40..e7808e46e 100644
--- a/java/src/com/android/inputmethod/latin/makedict/WordProperty.java
+++ b/java/src/com/android/inputmethod/latin/makedict/WordProperty.java
@@ -87,7 +87,7 @@ public final class WordProperty implements Comparable<WordProperty> {
final boolean isPossiblyOffensive, final boolean hasBigram, final boolean hasShortcuts,
final boolean isBeginningOfSentence, final int[] probabilityInfo,
final ArrayList<int[][]> ngramPrevWordsArray,
- final ArrayList<boolean[]> outNgramPrevWordIsBeginningOfSentenceArray,
+ final ArrayList<boolean[]> ngramPrevWordIsBeginningOfSentenceArray,
final ArrayList<int[]> ngramTargets, final ArrayList<int[]> ngramProbabilityInfo,
final ArrayList<int[]> shortcutTargets,
final ArrayList<Integer> shortcutProbabilities) {
@@ -102,16 +102,22 @@ public final class WordProperty implements Comparable<WordProperty> {
mHasNgrams = hasBigram;
final int relatedNgramCount = ngramTargets.size();
- final WordInfo currentWordInfo =
- mIsBeginningOfSentence ? WordInfo.BEGINNING_OF_SENTENCE_WORD_INFO
- : new WordInfo(mWord);
- final NgramContext ngramContext = new NgramContext(currentWordInfo);
for (int i = 0; i < relatedNgramCount; i++) {
final String ngramTargetString =
StringUtils.getStringFromNullTerminatedCodePointArray(ngramTargets.get(i));
final WeightedString ngramTarget = new WeightedString(ngramTargetString,
createProbabilityInfoFromArray(ngramProbabilityInfo.get(i)));
- // TODO: Support n-gram.
+ final int[][] prevWords = ngramPrevWordsArray.get(i);
+ final boolean[] isBeginningOfSentenceArray =
+ ngramPrevWordIsBeginningOfSentenceArray.get(i);
+ final WordInfo[] wordInfoArray = new WordInfo[prevWords.length];
+ for (int j = 0; j < prevWords.length; j++) {
+ wordInfoArray[j] = isBeginningOfSentenceArray[j]
+ ? WordInfo.BEGINNING_OF_SENTENCE_WORD_INFO
+ : new WordInfo(StringUtils.getStringFromNullTerminatedCodePointArray(
+ prevWords[j]));
+ }
+ final NgramContext ngramContext = new NgramContext(wordInfoArray);
ngrams.add(new NgramProperty(ngramTarget, ngramContext));
}
mNgrams = ngrams.isEmpty() ? null : ngrams;
@@ -126,6 +132,7 @@ public final class WordProperty implements Comparable<WordProperty> {
}
// TODO: Remove
+ @UsedForTesting
public ArrayList<WeightedString> getBigrams() {
if (null == mNgrams) {
return null;