diff options
Diffstat (limited to 'java/src')
3 files changed, 24 insertions, 7 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 335778980..7097844e2 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -150,8 +150,8 @@ public class LatinIME extends InputMethodService static final int KEYCODE_PERIOD = '.'; // Contextual menu positions - private static final int POS_SETTINGS = 0; - private static final int POS_METHOD = 1; + private static final int POS_METHOD = 0; + private static final int POS_SETTINGS = 1; //private LatinKeyboardView mInputView; private LinearLayout mCandidateViewContainer; @@ -1212,6 +1212,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( @@ -2449,7 +2453,7 @@ public class LatinIME extends InputMethodService CharSequence itemSettings = getString(R.string.english_ime_settings); CharSequence itemInputMethod = getString(R.string.selectInputMethod); builder.setItems(new CharSequence[] { - itemSettings, itemInputMethod}, + itemInputMethod, itemSettings}, new DialogInterface.OnClickListener() { public void onClick(DialogInterface di, int position) { @@ -2465,7 +2469,7 @@ public class LatinIME extends InputMethodService } } }); - builder.setTitle(mResources.getString(R.string.english_ime_name)); + builder.setTitle(mResources.getString(R.string.english_ime_input_options)); mOptionsDialog = builder.create(); Window window = mOptionsDialog.getWindow(); WindowManager.LayoutParams lp = window.getAttributes(); diff --git a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java index a0366c273..8f1ec6591 100644 --- a/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java +++ b/java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java @@ -124,6 +124,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() { diff --git a/java/src/com/android/inputmethod/latin/PointerTracker.java b/java/src/com/android/inputmethod/latin/PointerTracker.java index f849158ae..8b1f019d4 100644 --- a/java/src/com/android/inputmethod/latin/PointerTracker.java +++ b/java/src/com/android/inputmethod/latin/PointerTracker.java @@ -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); |