Move an editing method to the RichInputConnection
Change-Id: Ie143ad008ca8deb1c5034cb80ec1cb28a6b0682dmain
parent
243e370fcb
commit
a32eb27213
|
@ -1395,7 +1395,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
}
|
||||
if (SPACE_STATE_DOUBLE == spaceState) {
|
||||
mHandler.cancelDoubleSpacesTimer();
|
||||
if (revertDoubleSpaceWhileInBatchEdit()) {
|
||||
if (mConnection.revertDoubleSpace()) {
|
||||
// No need to reset mSpaceState, it has already be done (that's why we
|
||||
// receive it as a parameter)
|
||||
return;
|
||||
|
@ -2075,29 +2075,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
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() {
|
||||
// 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.
|
||||
|
|
|
@ -370,4 +370,27 @@ public class RichInputConnection {
|
|||
|
||||
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 New Issue