Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99b93d17 authored by Jean Chalard's avatar Jean Chalard
Browse files

Fix a bug where autocorrection status would be wrong.

Change-Id: Ic220129dc59f585164dbf63591cd1c96de17fe6f
parent 262d5bd9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1460,7 +1460,7 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
            return "";
        }
        final Locale locale = SubtypeLocale.getSubtypeLocale(subtype);
        return StringUtils.capitalizeFirstCharacter(locale.getLanguage(), locale);
        return StringUtils.capitalizeFirstCodePoint(locale.getLanguage(), locale);
    }

    // Get InputMethodSubtype's middle display name in its locale.
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ public final class CapsModeUtils {
        if (WordComposer.CAPS_MODE_AUTO_SHIFT_LOCKED == capitalizeMode) {
            return s.toUpperCase(locale);
        } else if (WordComposer.CAPS_MODE_AUTO_SHIFTED == capitalizeMode) {
            return StringUtils.toTitleCase(s, locale);
            return StringUtils.capitalizeFirstCodePoint(s, locale);
        } else {
            return s;
        }
+4 −3
Original line number Diff line number Diff line
@@ -106,16 +106,17 @@ public final class StringUtils {
        }
    }

    public static String capitalizeFirstCharacter(final String s, final Locale locale) {
    public static String capitalizeFirstCodePoint(final String s, final Locale locale) {
        if (s.length() <= 1) {
            return s.toUpperCase(locale);
        }
        // Please refer to the comment below in {@link #toTitleCase(String,Locale)}.
        // Please refer to the comment below in
        // {@link #capitalizeFirstAndDowncaseRest(String,Locale)} as this has the same shortcomings
        final int cutoff = s.offsetByCodePoints(0, 1);
        return s.substring(0, cutoff).toUpperCase(locale) + s.substring(cutoff);
    }

    public static String toTitleCase(final String s, final Locale locale) {
    public static String capitalizeFirstAndDowncaseRest(final String s, final Locale locale) {
        if (s.length() <= 1) {
            return s.toUpperCase(locale);
        }
+2 −2
Original line number Diff line number Diff line
@@ -183,7 +183,7 @@ public final class SubtypeLocale {
            final Locale locale = LocaleUtils.constructLocaleFromString(localeString);
            displayName = locale.getDisplayName(displayLocale);
        }
        return StringUtils.capitalizeFirstCharacter(displayName, displayLocale);
        return StringUtils.capitalizeFirstCodePoint(displayName, displayLocale);
    }

    // InputMethodSubtype's display name in its locale.
@@ -243,7 +243,7 @@ public final class SubtypeLocale {
                }
            }
        };
        return StringUtils.capitalizeFirstCharacter(
        return StringUtils.capitalizeFirstCodePoint(
                getSubtypeName.runInLocale(sResources, displayLocale), displayLocale);
    }

+1 −1
Original line number Diff line number Diff line
@@ -394,7 +394,7 @@ public final class Suggest {
        if (isAllUpperCase) {
            sb.append(wordInfo.mWord.toUpperCase(locale));
        } else if (isFirstCharCapitalized) {
            sb.append(StringUtils.toTitleCase(wordInfo.mWord, locale));
            sb.append(StringUtils.capitalizeFirstCodePoint(wordInfo.mWord, locale));
        } else {
            sb.append(wordInfo.mWord);
        }
Loading