Dismiss mini keyboard when finger is released outside mini keyboard

Bug: 2978975

Change-Id: Ie634e8ae827fe093c5c673b75d85835050b03794
main
Tadashi G. Takaoka 2010-09-07 15:37:59 +09:00
parent 26aff8c62f
commit 83e63ace2a
3 changed files with 20 additions and 3 deletions

View File

@ -1213,6 +1213,10 @@ public class LatinIME extends InputMethodService
mEnteredText = text;
}
public void onCancel() {
// User released a finger outside any key
}
private void handleBackspace() {
if (VOICE_INSTALLED && mVoiceInputHighlighted) {
mVoiceInput.incrementTextModificationDeleteCount(

View File

@ -123,6 +123,11 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
*/
void onText(CharSequence text);
/**
* Called when user released a finger outside any key.
*/
void onCancel();
/**
* Called when the user quickly moves the finger from right to
* left.
@ -1005,6 +1010,10 @@ public class LatinKeyboardBaseView extends View implements PointerTracker.UIProx
dismissPopupKeyboard();
}
public void onCancel() {
dismissPopupKeyboard();
}
public void swipeLeft() {
}
public void swipeRight() {

View File

@ -389,9 +389,13 @@ public class PointerTracker {
}
private void detectAndSendKey(int index, int x, int y, long eventTime) {
if (isValidKeyIndex(index)) {
final Key key = mKeys[index];
OnKeyboardActionListener listener = mListener;
final OnKeyboardActionListener listener = mListener;
final Key key = getKey(index);
if (key == null) {
if (listener != null)
listener.onCancel();
} else {
if (key.text != null) {
if (listener != null) {
listener.onText(key.text);