aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'java/src')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java12
-rw-r--r--java/src/com/android/inputmethod/latin/LatinKeyboardBaseView.java9
-rw-r--r--java/src/com/android/inputmethod/latin/PointerTracker.java10
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);