mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-06-18 23:20:54 +00:00
Add more settings for autospace
fixes GH-1348 fixes GH-876
This commit is contained in:
parent
88a7f41038
commit
66a07eb8d2
7 changed files with 66 additions and 12 deletions
|
@ -323,7 +323,8 @@ public final class InputLogic {
|
|||
// Don't allow cancellation of manual pick
|
||||
mLastComposedWord.deactivate();
|
||||
// Space state must be updated before calling updateShiftState
|
||||
mSpaceState = SpaceState.PHANTOM;
|
||||
if (settingsValues.mAutospaceAfterSuggestion)
|
||||
mSpaceState = SpaceState.PHANTOM;
|
||||
inputTransaction.requireShiftUpdate(InputTransaction.SHIFT_UPDATE_NOW);
|
||||
|
||||
// If we're not showing the "Touch again to save", then update the suggestion strip.
|
||||
|
@ -546,7 +547,8 @@ public final class InputLogic {
|
|||
|| settingsValues.isUsuallyFollowedBySpace(codePointBeforeCursor)) {
|
||||
final boolean autoShiftHasBeenOverriden = keyboardSwitcher.getKeyboardShiftMode() !=
|
||||
getCurrentAutoCapsState(settingsValues);
|
||||
mSpaceState = SpaceState.PHANTOM;
|
||||
if (settingsValues.mAutospaceBeforeGestureTyping)
|
||||
mSpaceState = SpaceState.PHANTOM;
|
||||
if (!autoShiftHasBeenOverriden) {
|
||||
// When we change the space state, we need to update the shift state of the
|
||||
// keyboard unless it has been overridden manually. This is happening for example
|
||||
|
@ -686,10 +688,7 @@ public final class InputLogic {
|
|||
if (mSuggestedWords.isPrediction()) {
|
||||
inputTransaction.setRequiresUpdateSuggestions();
|
||||
}
|
||||
// undo phantom space if it's because after punctuation
|
||||
// users who want to start a sentence with a lowercase letter may not like it
|
||||
if (mSpaceState == SpaceState.PHANTOM
|
||||
&& inputTransaction.getMSettingsValues().isUsuallyFollowedBySpace(mConnection.getCodePointBeforeCursor()))
|
||||
if (mSpaceState == SpaceState.PHANTOM && inputTransaction.getMSettingsValues().mShiftRemovesAutospace)
|
||||
mSpaceState = SpaceState.NONE;
|
||||
break;
|
||||
case KeyCode.SETTINGS:
|
||||
|
@ -930,6 +929,7 @@ public final class InputLogic {
|
|||
// handleNonSpecialCharacterEvent which has the same name as other handle* methods but is
|
||||
// not the same.
|
||||
boolean isComposingWord = mWordComposer.isComposingWord();
|
||||
mWordComposer.unsetBatchMode(); // relevant in case we continue a batch word with normal typing
|
||||
|
||||
// if we continue directly after a sometimesWordConnector, restart suggestions for the whole word
|
||||
// (only with URL detection and suggestions enabled)
|
||||
|
@ -1127,7 +1127,7 @@ public final class InputLogic {
|
|||
// A double quote behaves like it's usually followed by space if we're inside
|
||||
// a double quote.
|
||||
if (wasComposingWord
|
||||
&& settingsValues.mAutospaceAfterPunctuationEnabled
|
||||
&& settingsValues.mAutospaceAfterPunctuation
|
||||
&& (settingsValues.isUsuallyFollowedBySpace(codePoint) || isInsideDoubleQuoteOrAfterDigit)) {
|
||||
mSpaceState = SpaceState.PHANTOM;
|
||||
}
|
||||
|
@ -2168,6 +2168,7 @@ public final class InputLogic {
|
|||
&& !(mConnection.getCodePointBeforeCursor() == Constants.CODE_PERIOD && mConnection.wordBeforeCursorMayBeEmail())
|
||||
) {
|
||||
mConnection.commitCodePoint(Constants.CODE_SPACE);
|
||||
// todo: why not remove phantom space state?
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2202,12 +2203,14 @@ public final class InputLogic {
|
|||
mConnection.beginBatchEdit();
|
||||
if (SpaceState.PHANTOM == mSpaceState) {
|
||||
insertAutomaticSpaceIfOptionsAndTextAllow(settingsValues);
|
||||
mSpaceState = SpaceState.NONE;
|
||||
}
|
||||
mWordComposer.setBatchInputWord(batchInputText);
|
||||
setComposingTextInternal(batchInputText, 1);
|
||||
mConnection.endBatchEdit();
|
||||
// Space state must be updated before calling updateShiftState
|
||||
mSpaceState = SpaceState.PHANTOM;
|
||||
if (settingsValues.mAutospaceAfterGestureTyping)
|
||||
mSpaceState = SpaceState.PHANTOM;
|
||||
keyboardSwitcher.requestUpdatingShiftState(getCurrentAutoCapsState(settingsValues), getCurrentRecapitalizeState());
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue