diff options
author | 2015-03-03 22:03:02 +0000 | |
---|---|---|
committer | 2015-03-03 22:03:02 +0000 | |
commit | 1d22e7680022af8d8f74f78faf318891d2073be1 (patch) | |
tree | 0e6e8f6851e9a2136c823f1a81cac79a36485a0e /java/src | |
parent | dd226fbe634745cad063a5fd3d85d9f174ab84ef (diff) | |
parent | 148aab122883d5a53c890fd7795039f4aa087302 (diff) | |
download | latinime-1d22e7680022af8d8f74f78faf318891d2073be1.tar.gz latinime-1d22e7680022af8d8f74f78faf318891d2073be1.tar.xz latinime-1d22e7680022af8d8f74f78faf318891d2073be1.zip |
am 148aab12: Merge "Add util method in ngramcontext for context array"
* commit '148aab122883d5a53c890fd7795039f4aa087302':
Add util method in ngramcontext for context array
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/latin/NgramContext.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/NgramContext.java b/java/src/com/android/inputmethod/latin/NgramContext.java index 53bec6e59..c9351586e 100644 --- a/java/src/com/android/inputmethod/latin/NgramContext.java +++ b/java/src/com/android/inputmethod/latin/NgramContext.java @@ -146,6 +146,32 @@ public class NgramContext { : TextUtils.join(CONTEXT_SEPARATOR, terms); } + /** + * Extracts the previous words context. + * + * @return a String array with the previous words. + */ + public String[] extractPrevWordsContextArray() { + final ArrayList<String> prevTermList = new ArrayList<>(); + for (int i = mPrevWordsInfo.length - 1; i >= 0; --i) { + if (mPrevWordsInfo[i] != null && mPrevWordsInfo[i].isValid()) { + final NgramContext.WordInfo wordInfo = mPrevWordsInfo[i]; + if (wordInfo.mIsBeginningOfSentence) { + prevTermList.add(BEGINNING_OF_SENTENCE_TAG); + } else { + final String term = wordInfo.mWord.toString(); + if (!term.isEmpty()) { + prevTermList.add(term); + } + } + } + } + final String[] contextStringArray = prevTermList.size() == 0 ? + new String[] { BEGINNING_OF_SENTENCE_TAG } + : prevTermList.toArray(new String[prevTermList.size()]); + return contextStringArray; + } + public boolean isValid() { return mPrevWordsCount > 0 && mPrevWordsInfo[0].isValid(); } |