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

Commit 4a1113b6 authored by Jean Chalard's avatar Jean Chalard
Browse files

Refactoring

Rename `initialize' to `start' and `deactivate' to `stop' for ease
of understanding. It's completely bizarre that you can "deactivate"
a recapitalization and that will just restart a new one the next time
you press shift. Start and stop are easier to understand.

Change-Id: I455175aebfcfe11198c6c61bf2c6b19efc3f82df
parent 2660b70f
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ public final class InputLogic {
        resetComposingState(true /* alsoResetLastComposedWord */);
        mDeleteCount = 0;
        mSpaceState = SpaceState.NONE;
        mRecapitalizeStatus.deactivate();
        mRecapitalizeStatus.stop(); // In case a recapitalization is started
        mCurrentlyPressedHardwareKeys.clear();
        mSuggestedWords = SuggestedWords.EMPTY;
        // In some cases (namely, after rotation of the device) editorInfo.initialSelStart is lying
@@ -347,8 +347,8 @@ public final class InputLogic {

        // We moved the cursor. If we are touching a word, we need to resume suggestion.
        mLatinIME.mHandler.postResumeSuggestions();
        // Reset the last recapitalization.
        mRecapitalizeStatus.deactivate();
        // Stop the last recapitalization, if started.
        mRecapitalizeStatus.stop();
        return true;
    }

@@ -1149,13 +1149,13 @@ public final class InputLogic {
            // to suck possibly multiple-megabyte data.
            return;
        }
        // If we have a recapitalize in progress, use it; otherwise, create a new one.
        if (!mRecapitalizeStatus.isActive()
        // If we have a recapitalize in progress, use it; otherwise, start a new one.
        if (!mRecapitalizeStatus.isStarted()
                || !mRecapitalizeStatus.isSetAt(selectionStart, selectionEnd)) {
            final CharSequence selectedText =
                    mConnection.getSelectedText(0 /* flags, 0 for no styles */);
            if (TextUtils.isEmpty(selectedText)) return; // Race condition with the input connection
            mRecapitalizeStatus.initialize(selectionStart, selectionEnd, selectedText.toString(),
            mRecapitalizeStatus.start(selectionStart, selectionEnd, selectedText.toString(),
                    settingsValues.mLocale,
                    settingsValues.mSpacingAndPunctuations.mSortedWordSeparators);
            // We trim leading and trailing whitespace.
@@ -1498,7 +1498,7 @@ public final class InputLogic {
    }

    public int getCurrentRecapitalizeState() {
        if (!mRecapitalizeStatus.isActive()
        if (!mRecapitalizeStatus.isStarted()
                || !mRecapitalizeStatus.isSetAt(mConnection.getExpectedSelectionStart(),
                        mConnection.getExpectedSelectionEnd())) {
            // Not recapitalizing at the moment
+9 −9
Original line number Diff line number Diff line
@@ -62,17 +62,17 @@ public class RecapitalizeStatus {
    private Locale mLocale;
    private int[] mSortedSeparators;
    private String mStringAfter;
    private boolean mIsActive;
    private boolean mIsStarted;

    private static final int[] EMPTY_STORTED_SEPARATORS = {};

    public RecapitalizeStatus() {
        // By default, initialize with dummy values that won't match any real recapitalize.
        initialize(-1, -1, "", Locale.getDefault(), EMPTY_STORTED_SEPARATORS);
        deactivate();
        start(-1, -1, "", Locale.getDefault(), EMPTY_STORTED_SEPARATORS);
        stop();
    }

    public void initialize(final int cursorStart, final int cursorEnd, final String string,
    public void start(final int cursorStart, final int cursorEnd, final String string,
            final Locale locale, final int[] sortedSeparators) {
        mCursorStartBefore = cursorStart;
        mStringBefore = string;
@@ -96,15 +96,15 @@ public class RecapitalizeStatus {
            mRotationStyleCurrentIndex = currentMode;
            mSkipOriginalMixedCaseMode = true;
        }
        mIsActive = true;
        mIsStarted = true;
    }

    public void deactivate() {
        mIsActive = false;
    public void stop() {
        mIsStarted = false;
    }

    public boolean isActive() {
        return mIsActive;
    public boolean isStarted() {
        return mIsStarted;
    }

    public boolean isSetAt(final int cursorStart, final int cursorEnd) {
+13 −13
Original line number Diff line number Diff line
@@ -29,25 +29,25 @@ public class RecapitalizeStatusTests extends AndroidTestCase {

    public void testTrim() {
        final RecapitalizeStatus status = new RecapitalizeStatus();
        status.initialize(30, 40, "abcdefghij", Locale.ENGLISH, SPACE);
        status.start(30, 40, "abcdefghij", Locale.ENGLISH, SPACE);
        status.trim();
        assertEquals("abcdefghij", status.getRecapitalizedString());
        assertEquals(30, status.getNewCursorStart());
        assertEquals(40, status.getNewCursorEnd());

        status.initialize(30, 44, "    abcdefghij", Locale.ENGLISH, SPACE);
        status.start(30, 44, "    abcdefghij", Locale.ENGLISH, SPACE);
        status.trim();
        assertEquals("abcdefghij", status.getRecapitalizedString());
        assertEquals(34, status.getNewCursorStart());
        assertEquals(44, status.getNewCursorEnd());

        status.initialize(30, 40, "abcdefgh  ", Locale.ENGLISH, SPACE);
        status.start(30, 40, "abcdefgh  ", Locale.ENGLISH, SPACE);
        status.trim();
        assertEquals("abcdefgh", status.getRecapitalizedString());
        assertEquals(30, status.getNewCursorStart());
        assertEquals(38, status.getNewCursorEnd());

        status.initialize(30, 45, "   abcdefghij  ", Locale.ENGLISH, SPACE);
        status.start(30, 45, "   abcdefghij  ", Locale.ENGLISH, SPACE);
        status.trim();
        assertEquals("abcdefghij", status.getRecapitalizedString());
        assertEquals(33, status.getNewCursorStart());
@@ -56,7 +56,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase {

    public void testRotate() {
        final RecapitalizeStatus status = new RecapitalizeStatus();
        status.initialize(29, 40, "abcd efghij", Locale.ENGLISH, SPACE);
        status.start(29, 40, "abcd efghij", Locale.ENGLISH, SPACE);
        status.rotate();
        assertEquals("Abcd Efghij", status.getRecapitalizedString());
        assertEquals(29, status.getNewCursorStart());
@@ -68,7 +68,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase {
        status.rotate();
        assertEquals("Abcd Efghij", status.getRecapitalizedString());

        status.initialize(29, 40, "Abcd Efghij", Locale.ENGLISH, SPACE);
        status.start(29, 40, "Abcd Efghij", Locale.ENGLISH, SPACE);
        status.rotate();
        assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());
        assertEquals(29, status.getNewCursorStart());
@@ -80,7 +80,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase {
        status.rotate();
        assertEquals("ABCD EFGHIJ", status.getRecapitalizedString());

        status.initialize(29, 40, "ABCD EFGHIJ", Locale.ENGLISH, SPACE);
        status.start(29, 40, "ABCD EFGHIJ", Locale.ENGLISH, SPACE);
        status.rotate();
        assertEquals("abcd efghij", status.getRecapitalizedString());
        assertEquals(29, status.getNewCursorStart());
@@ -92,7 +92,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase {
        status.rotate();
        assertEquals("abcd efghij", status.getRecapitalizedString());

        status.initialize(29, 39, "AbCDefghij", Locale.ENGLISH, SPACE);
        status.start(29, 39, "AbCDefghij", Locale.ENGLISH, SPACE);
        status.rotate();
        assertEquals("abcdefghij", status.getRecapitalizedString());
        assertEquals(29, status.getNewCursorStart());
@@ -106,7 +106,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase {
        status.rotate();
        assertEquals("abcdefghij", status.getRecapitalizedString());

        status.initialize(29, 40, "Abcd efghij", Locale.ENGLISH, SPACE);
        status.start(29, 40, "Abcd efghij", Locale.ENGLISH, SPACE);
        status.rotate();
        assertEquals("abcd efghij", status.getRecapitalizedString());
        assertEquals(29, status.getNewCursorStart());
@@ -120,7 +120,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase {
        status.rotate();
        assertEquals("abcd efghij", status.getRecapitalizedString());

        status.initialize(30, 34, "grüß", Locale.GERMAN, SPACE);
        status.start(30, 34, "grüß", Locale.GERMAN, SPACE);
        status.rotate();
        assertEquals("Grüß", status.getRecapitalizedString());
        assertEquals(30, status.getNewCursorStart());
@@ -138,7 +138,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase {
        assertEquals(30, status.getNewCursorStart());
        assertEquals(34, status.getNewCursorEnd());

        status.initialize(30, 33, "œuf", Locale.FRENCH, SPACE);
        status.start(30, 33, "œuf", Locale.FRENCH, SPACE);
        status.rotate();
        assertEquals("Œuf", status.getRecapitalizedString());
        assertEquals(30, status.getNewCursorStart());
@@ -156,7 +156,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase {
        assertEquals(30, status.getNewCursorStart());
        assertEquals(33, status.getNewCursorEnd());

        status.initialize(30, 33, "œUf", Locale.FRENCH, SPACE);
        status.start(30, 33, "œUf", Locale.FRENCH, SPACE);
        status.rotate();
        assertEquals("œuf", status.getRecapitalizedString());
        assertEquals(30, status.getNewCursorStart());
@@ -178,7 +178,7 @@ public class RecapitalizeStatusTests extends AndroidTestCase {
        assertEquals(30, status.getNewCursorStart());
        assertEquals(33, status.getNewCursorEnd());

        status.initialize(30, 35, "école", Locale.FRENCH, SPACE);
        status.start(30, 35, "école", Locale.FRENCH, SPACE);
        status.rotate();
        assertEquals("École", status.getRecapitalizedString());
        assertEquals(30, status.getNewCursorStart());