add comments and setting for auto-inserting more spaces

This commit is contained in:
Helium 2022-03-17 07:11:26 +01:00
parent 232c9892ae
commit 2197ffd4a5
5 changed files with 26 additions and 3 deletions

View file

@ -996,9 +996,15 @@ public final class InputLogic {
// between swappers and strippers), so we should not stay in phantom space state if
// the separator is a stripper. Hence the additional test above.
mSpaceState = SpaceState.PHANTOM;
}
if (mSpaceState == SpaceState.NONE && wasComposingWord && settingsValues.isUsuallyFollowedBySpace(codePoint)) {
} else
// mSpaceState is still SpaceState.NONE, but some characters should typically
// be followed by space. Set phantom space state for such characters if the user
// enabled the setting and was not composing a word. The latter avoids setting
// phantom space state when typing decimal numbers, with the drawback of not
// setting phantom space state after ending a sentence with a non-word.
if (wasComposingWord
&& settingsValues.mInsertMoreSpacesEnabled
&& settingsValues.isUsuallyFollowedBySpace(codePoint)) {
mSpaceState = SpaceState.PHANTOM;
}

View file

@ -94,6 +94,7 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
public static final String PREF_KEYBOARD_HEIGHT_SCALE = "pref_keyboard_height_scale";
public static final String PREF_SPACE_TRACKPAD = "pref_space_trackpad";
public static final String PREF_DELETE_SWIPE = "pref_delete_swipe";
public static final String PREF_INSERT_MORE_SPACES = "pref_insert_more_spaces";
public static final String PREF_ALWAYS_INCOGNITO_MODE =
"pref_always_incognito_mode";
public static final String PREF_BIGRAM_PREDICTIONS = "next_word_prediction";
@ -392,6 +393,10 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang
return prefs.getBoolean(PREF_DELETE_SWIPE, true);
}
public static boolean readInsertMoreSpacesEnabled(final SharedPreferences prefs) {
return prefs.getBoolean(PREF_INSERT_MORE_SPACES, false);
}
public static boolean readUseFullscreenMode(final Resources res) {
return res.getBoolean(R.bool.config_use_fullscreen_mode);
}

View file

@ -80,6 +80,7 @@ public class SettingsValues {
public final boolean mBlockPotentiallyOffensive;
public final boolean mSpaceTrackpadEnabled;
public final boolean mDeleteSwipeEnabled;
public final boolean mInsertMoreSpacesEnabled;
public final boolean mClipboardHistoryEnabled;
public final long mClipboardHistoryRetentionTime;
public final boolean mOneHandedModeEnabled;
@ -237,6 +238,7 @@ public class SettingsValues {
}
mSpaceTrackpadEnabled = Settings.readSpaceTrackpadEnabled(prefs);
mDeleteSwipeEnabled = Settings.readDeleteSwipeEnabled(prefs);
mInsertMoreSpacesEnabled = Settings.readInsertMoreSpacesEnabled(prefs);
mClipboardHistoryEnabled = Settings.readClipboardHistoryEnabled(prefs);
mClipboardHistoryRetentionTime = Settings.readClipboardHistoryRetentionTime(prefs, res);
mOneHandedModeEnabled = Settings.readOneHandedModeEnabled(prefs);

View file

@ -186,6 +186,10 @@
<string name="space_trackpad">Space bar trackpad</string>
<!-- Description for "space_trackpad" option. -->
<string name="space_trackpad_summary">Swipe on the spacebar to move the cursor</string>
<!-- Preferences item for enabling inserting more spaces key -->
<string name="insert_more_spaces">Insert spaces after punctuation</string>
<!-- Description for "insert_more_spaces" option. -->
<string name="insert_more_spaces_summary">Automatically insert space after punctuation, even if the previous word was not a suggestion</string>
<!-- Preferences item for disabling word learning -->
<string name="prefs_force_incognito_mode">Force incognito mode</string>
<!-- Description for "prefs_force_incognito_mode" option. -->

View file

@ -76,6 +76,12 @@
android:summary="@string/delete_swipe_summary"
android:defaultValue="true" />
<CheckBoxPreference
android:key="pref_insert_more_spaces"
android:title="@string/insert_more_spaces"
android:summary="@string/insert_more_spaces_summary"
android:defaultValue="false" />
</PreferenceCategory>
</PreferenceScreen>