aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/RichInputConnection.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-06-08 20:23:13 +0900
committerJean Chalard <jchalard@google.com>2012-06-08 20:23:13 +0900
commitbbbdab12be748cdc2158f0e04bbb5478052ecd89 (patch)
tree1eca8ad0c09b6ff95adffdda8e34647f2accb2e9 /java/src/com/android/inputmethod/latin/RichInputConnection.java
parente091982868476845acbcc8eff2ae3cad6de8776c (diff)
downloadlatinime-bbbdab12be748cdc2158f0e04bbb5478052ecd89.tar.gz
latinime-bbbdab12be748cdc2158f0e04bbb5478052ecd89.tar.xz
latinime-bbbdab12be748cdc2158f0e04bbb5478052ecd89.zip
Move some editing methods to RichInputConnection.
Change-Id: I8527776a4bd8236a85bb77f9791f9b76977ad181
Diffstat (limited to 'java/src/com/android/inputmethod/latin/RichInputConnection.java')
-rw-r--r--java/src/com/android/inputmethod/latin/RichInputConnection.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java
index c9ee09396..d7ed36d34 100644
--- a/java/src/com/android/inputmethod/latin/RichInputConnection.java
+++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java
@@ -16,6 +16,7 @@
package com.android.inputmethod.latin;
+import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.inputmethod.CompletionInfo;
@@ -24,6 +25,9 @@ import android.view.inputmethod.ExtractedText;
import android.view.inputmethod.ExtractedTextRequest;
import android.view.inputmethod.InputConnection;
+import com.android.inputmethod.keyboard.Keyboard;
+import com.android.inputmethod.latin.define.ProductionFlag;
+
import java.util.regex.Pattern;
/**
@@ -297,4 +301,29 @@ public class RichInputConnection {
return null;
}
+ public boolean isCursorTouchingWord(final SettingsValues settingsValues) {
+ CharSequence before = getTextBeforeCursor(1, 0);
+ CharSequence after = getTextAfterCursor(1, 0);
+ if (!TextUtils.isEmpty(before) && !settingsValues.isWordSeparator(before.charAt(0))
+ && !settingsValues.isSymbolExcludedFromWordSeparators(before.charAt(0))) {
+ return true;
+ }
+ if (!TextUtils.isEmpty(after) && !settingsValues.isWordSeparator(after.charAt(0))
+ && !settingsValues.isSymbolExcludedFromWordSeparators(after.charAt(0))) {
+ return true;
+ }
+ return false;
+ }
+
+ public void removeTrailingSpace() {
+ final CharSequence lastOne = getTextBeforeCursor(1, 0);
+ if (lastOne != null && lastOne.length() == 1
+ && lastOne.charAt(0) == Keyboard.CODE_SPACE) {
+ deleteSurroundingText(1, 0);
+ if (ProductionFlag.IS_EXPERIMENTAL) {
+ ResearchLogger.latinIME_deleteSurroundingText(1);
+ }
+ }
+ }
+
}