Move an editing method to the RichInputConnection
Change-Id: Ie143ad008ca8deb1c5034cb80ec1cb28a6b0682d
This commit is contained in:
parent
243e370fcb
commit
a32eb27213
2 changed files with 24 additions and 24 deletions
|
@ -1395,7 +1395,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
}
|
}
|
||||||
if (SPACE_STATE_DOUBLE == spaceState) {
|
if (SPACE_STATE_DOUBLE == spaceState) {
|
||||||
mHandler.cancelDoubleSpacesTimer();
|
mHandler.cancelDoubleSpacesTimer();
|
||||||
if (revertDoubleSpaceWhileInBatchEdit()) {
|
if (mConnection.revertDoubleSpace()) {
|
||||||
// No need to reset mSpaceState, it has already be done (that's why we
|
// No need to reset mSpaceState, it has already be done (that's why we
|
||||||
// receive it as a parameter)
|
// receive it as a parameter)
|
||||||
return;
|
return;
|
||||||
|
@ -2075,29 +2075,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
||||||
mHandler.postUpdateSuggestions();
|
mHandler.postUpdateSuggestions();
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean revertDoubleSpaceWhileInBatchEdit() {
|
|
||||||
// Here we test whether we indeed have a period and a space before us. This should not
|
|
||||||
// be needed, but it's there just in case something went wrong.
|
|
||||||
final CharSequence textBeforeCursor = mConnection.getTextBeforeCursor(2, 0);
|
|
||||||
if (!". ".equals(textBeforeCursor)) {
|
|
||||||
// Theoretically we should not be coming here if there isn't ". " before the
|
|
||||||
// cursor, but the application may be changing the text while we are typing, so
|
|
||||||
// anything goes. We should not crash.
|
|
||||||
Log.d(TAG, "Tried to revert double-space combo but we didn't find "
|
|
||||||
+ "\". \" just before the cursor.");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
mConnection.deleteSurroundingText(2, 0);
|
|
||||||
if (ProductionFlag.IS_EXPERIMENTAL) {
|
|
||||||
ResearchLogger.latinIME_deleteSurroundingText(2);
|
|
||||||
}
|
|
||||||
mConnection.commitText(" ", 1);
|
|
||||||
if (ProductionFlag.IS_EXPERIMENTAL) {
|
|
||||||
ResearchLogger.latinIME_revertDoubleSpaceWhileInBatchEdit();
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean revertSwapPunctuation() {
|
private boolean revertSwapPunctuation() {
|
||||||
// Here we test whether we indeed have a space and something else before us. This should not
|
// Here we test whether we indeed have a space and something else before us. This should not
|
||||||
// be needed, but it's there just in case something went wrong.
|
// be needed, but it's there just in case something went wrong.
|
||||||
|
|
|
@ -370,4 +370,27 @@ public class RichInputConnection {
|
||||||
|
|
||||||
return word;
|
return word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean revertDoubleSpace() {
|
||||||
|
// Here we test whether we indeed have a period and a space before us. This should not
|
||||||
|
// be needed, but it's there just in case something went wrong.
|
||||||
|
final CharSequence textBeforeCursor = getTextBeforeCursor(2, 0);
|
||||||
|
if (!". ".equals(textBeforeCursor)) {
|
||||||
|
// Theoretically we should not be coming here if there isn't ". " before the
|
||||||
|
// cursor, but the application may be changing the text while we are typing, so
|
||||||
|
// anything goes. We should not crash.
|
||||||
|
Log.d(TAG, "Tried to revert double-space combo but we didn't find "
|
||||||
|
+ "\". \" just before the cursor.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
deleteSurroundingText(2, 0);
|
||||||
|
if (ProductionFlag.IS_EXPERIMENTAL) {
|
||||||
|
ResearchLogger.latinIME_deleteSurroundingText(2);
|
||||||
|
}
|
||||||
|
commitText(" ", 1);
|
||||||
|
if (ProductionFlag.IS_EXPERIMENTAL) {
|
||||||
|
ResearchLogger.latinIME_revertDoubleSpaceWhileInBatchEdit();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue