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

Commit c1020c3a authored by Amith Yamasani's avatar Amith Yamasani
Browse files

Fix : Bouncing Extract Text when correcting multiple lines of text.

Bug: 2996887

Override the methods in InputMethodService that hide the candidates view, since
it was just an optimization to show more lines of text when editing, which
conflicts with the re-correct feature.

Change-Id: Ibfed5ccd9efa048d0b69297a5cf8a638a0d00c72
parent 12a4e08a
Loading
Loading
Loading
Loading
+33 −2
Original line number Diff line number Diff line
@@ -795,6 +795,37 @@ public class LatinIME extends InputMethodService
        }
    }

    /**
     * This is called when the user has clicked on the extracted text view,
     * when running in fullscreen mode.  The default implementation hides
     * the candidates view when this happens, but only if the extracted text
     * editor has a vertical scroll bar because its text doesn't fit.
     * Here we override the behavior due to the possibility that a re-correction could
     * cause the candidate strip to disappear and re-appear.
     */
    @Override
    public void onExtractedTextClicked() {
        if (mReCorrectionEnabled && isPredictionOn()) return;

        super.onExtractedTextClicked();
    }

    /**
     * This is called when the user has performed a cursor movement in the
     * extracted text view, when it is running in fullscreen mode.  The default
     * implementation hides the candidates view when a vertical movement
     * happens, but only if the extracted text editor has a vertical scroll bar
     * because its text doesn't fit.
     * Here we override the behavior due to the possibility that a re-correction could
     * cause the candidate strip to disappear and re-appear.
     */
    @Override
    public void onExtractedCursorMovement(int dx, int dy) {
        if (mReCorrectionEnabled && isPredictionOn()) return;

        super.onExtractedCursorMovement(dx, dy);
    }

    @Override
    public void hideWindow() {
        LatinImeLogger.commit();