diff options
author | 2010-07-16 13:02:45 +0900 | |
---|---|---|
committer | 2010-07-16 13:02:45 +0900 | |
commit | b9c57e6540502ef3b2941235bbbede4dedfdcfb7 (patch) | |
tree | c8ccdc1455ab21eaef06c2b053ac7cada78de9f9 /java/src/com/android/inputmethod/latin/EditingUtil.java | |
parent | b5a0d8ef42d9e0be4e56be04637c167074447744 (diff) | |
parent | 2a118d844e0b7dd3e01f25e937b02b05711768a6 (diff) | |
download | latinime-b9c57e6540502ef3b2941235bbbede4dedfdcfb7.tar.gz latinime-b9c57e6540502ef3b2941235bbbede4dedfdcfb7.tar.xz latinime-b9c57e6540502ef3b2941235bbbede4dedfdcfb7.zip |
Merge remote branch 'goog/master'
Conflicts:
java/res/xml/prefs.xml
java/src/com/android/inputmethod/latin/BinaryDictionary.java
java/src/com/android/inputmethod/latin/Dictionary.java
java/src/com/android/inputmethod/latin/ExpandableDictionary.java
java/src/com/android/inputmethod/latin/LatinIME.java
java/src/com/android/inputmethod/latin/Suggest.java
tests/src/com/android/inputmethod/latin/tests/SuggestTests.java
Diffstat (limited to 'java/src/com/android/inputmethod/latin/EditingUtil.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/EditingUtil.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/EditingUtil.java b/java/src/com/android/inputmethod/latin/EditingUtil.java index 7571f1daf..5133c60ca 100644 --- a/java/src/com/android/inputmethod/latin/EditingUtil.java +++ b/java/src/com/android/inputmethod/latin/EditingUtil.java @@ -16,6 +16,8 @@ package com.android.inputmethod.latin; +import java.util.regex.Pattern; + import android.view.inputmethod.ExtractedText; import android.view.inputmethod.ExtractedTextRequest; import android.view.inputmethod.InputConnection; @@ -24,6 +26,11 @@ import android.view.inputmethod.InputConnection; * Utility methods to deal with editing text through an InputConnection. */ public class EditingUtil { + /** + * Number of characters we want to look back in order to identify the previous word + */ + public static final int LOOKBACK_CHARACTER_NUM = 15; + private EditingUtil() {}; /** @@ -175,4 +182,13 @@ public class EditingUtil { private static boolean isWhitespace(int code, String whitespace) { return whitespace.contains(String.valueOf((char) code)); } + + private static final Pattern spaceRegex = Pattern.compile("\\s+"); + + public static CharSequence getPreviousWord(InputConnection connection) { + //TODO: Should fix this. This could be slow! + CharSequence prev = connection.getTextBeforeCursor(LOOKBACK_CHARACTER_NUM, 0); + String[] w = spaceRegex.split(prev); + return (w.length >= 2) ? w[w.length-2] : null; + } } |