diff options
author | 2015-03-03 13:08:06 -0800 | |
---|---|---|
committer | 2015-03-03 13:20:53 -0800 | |
commit | a568e0acb4a45707e554f63aede917bfa46b9dba (patch) | |
tree | eff66e6c3a8a7cf1057f274196b6fc34542fbc07 /java/src/com/android/inputmethod/latin/NgramContext.java | |
parent | ddee491450bd4447d1dcf102f472fe7038cbfb1d (diff) | |
download | latinime-a568e0acb4a45707e554f63aede917bfa46b9dba.tar.gz latinime-a568e0acb4a45707e554f63aede917bfa46b9dba.tar.xz latinime-a568e0acb4a45707e554f63aede917bfa46b9dba.zip |
Add util method in ngramcontext for context array
Change-Id: I2e3e2ac7706be50ed2055b0c69b30e25a516a879
Diffstat (limited to 'java/src/com/android/inputmethod/latin/NgramContext.java')
-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(); } |