From 7eef5d3ff4a0456335943e6a7494f540a7291017 Mon Sep 17 00:00:00 2001 From: Ken Wakasa Date: Tue, 1 Jul 2014 03:23:14 +0000 Subject: [PATCH] Revert "[SD5] Remove useless args" This reverts commit 1d300239612591879d535c20ade1f2712048170e that broke the build. Bug: 15840116 Change-Id: I0a5fa7dea2b418d19df24b2b31ed96bf192d45c0 --- .../inputmethod/latin/RichInputConnection.java | 18 ++++++++++++++++-- .../latin/inputlogic/InputLogic.java | 3 ++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/RichInputConnection.java b/java/src/com/android/inputmethod/latin/RichInputConnection.java index 96bf17b5c..62b55bca1 100644 --- a/java/src/com/android/inputmethod/latin/RichInputConnection.java +++ b/java/src/com/android/inputmethod/latin/RichInputConnection.java @@ -619,14 +619,28 @@ public final class RichInputConnection { return new PrevWordsInfo(prevWordsInfo); } + /** + * @param sortedSeparators a sorted array of code points which may separate words + * @return the word that surrounds the cursor, including up to one trailing + * separator. For example, if the field contains "he|llo world", where | + * represents the cursor, then "hello " will be returned. + */ + public CharSequence getWordAtCursor(final int[] sortedSeparators) { + // getWordRangeAtCursor returns null if the connection is null + final TextRange r = getWordRangeAtCursor(sortedSeparators, 0); + return (r == null) ? null : r.mWord; + } + /** * Returns the text surrounding the cursor. * * @param sortedSeparators a sorted array of code points that split words. + * @param additionalPrecedingWordsCount the number of words before the current word that should + * be included in the returned range * @return a range containing the text surrounding the cursor */ - public TextRange getWordRangeAtCursor(final int[] sortedSeparators) { - final int additionalPrecedingWordsCount = 0; + public TextRange getWordRangeAtCursor(final int[] sortedSeparators, + final int additionalPrecedingWordsCount) { mIC = mParent.getCurrentInputConnection(); if (mIC == null) { return null; diff --git a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java index b9a87c921..8831d36f7 100644 --- a/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +++ b/java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java @@ -1288,7 +1288,8 @@ public final class InputLogic { return; } final TextRange range = mConnection.getWordRangeAtCursor( - settingsValues.mSpacingAndPunctuations.mSortedWordSeparators); + settingsValues.mSpacingAndPunctuations.mSortedWordSeparators, + 0 /* additionalPrecedingWordsCount */); if (null == range) return; // Happens if we don't have an input connection at all if (range.length() <= 0) return; // Race condition. No text to resume on, so bail out. // If for some strange reason (editor bug or so) we measure the text before the cursor as