From c1020c3aa65b1eef4c672564750c020d012c4ec2 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Tue, 14 Sep 2010 21:03:34 -0700 Subject: [PATCH] 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 --- .../android/inputmethod/latin/LatinIME.java | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 4e8723c76..f80ecc6d4 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2008 The Android Open Source Project - * + * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at @@ -262,7 +262,7 @@ public class LatinIME extends InputMethodService List candidates; Map> alternatives; } - + public abstract static class WordAlternatives { protected CharSequence mChosenWord; @@ -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();