diff options
author | 2015-03-03 21:59:46 +0000 | |
---|---|---|
committer | 2015-03-03 21:59:52 +0000 | |
commit | 148aab122883d5a53c890fd7795039f4aa087302 (patch) | |
tree | 90e79580b208f1764cc7efa24025b73dea1620be /java | |
parent | 63a0bdb41bdc6dc3cd94f3354bf3bda4d057fa93 (diff) | |
parent | a568e0acb4a45707e554f63aede917bfa46b9dba (diff) | |
download | latinime-148aab122883d5a53c890fd7795039f4aa087302.tar.gz latinime-148aab122883d5a53c890fd7795039f4aa087302.tar.xz latinime-148aab122883d5a53c890fd7795039f4aa087302.zip |
Merge "Add util method in ngramcontext for context array"
Diffstat (limited to '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(); } |