summaryrefslogtreecommitdiffstats
path: root/core/java/android/text
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-05 14:34:35 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-05 14:34:35 -0800
commit4df2423a947bcd3f024cc3d3a1a315a8dc428598 (patch)
treee7dac2c5a367b169e7f05a36058cf470e93f003b /core/java/android/text
parentc474dec3ffa1c0fe37edb3e701684188f7e8e7bc (diff)
downloadframeworks_base-4df2423a947bcd3f024cc3d3a1a315a8dc428598.zip
frameworks_base-4df2423a947bcd3f024cc3d3a1a315a8dc428598.tar.gz
frameworks_base-4df2423a947bcd3f024cc3d3a1a315a8dc428598.tar.bz2
auto import from //depot/cupcake/@136594
Diffstat (limited to 'core/java/android/text')
-rw-r--r--core/java/android/text/InputType.java20
-rw-r--r--core/java/android/text/method/ArrowKeyMovementMethod.java2
-rw-r--r--core/java/android/text/method/QwertyKeyListener.java27
3 files changed, 37 insertions, 12 deletions
diff --git a/core/java/android/text/InputType.java b/core/java/android/text/InputType.java
index f643f92..d50684a 100644
--- a/core/java/android/text/InputType.java
+++ b/core/java/android/text/InputType.java
@@ -179,9 +179,27 @@ public interface InputType {
public static final int TYPE_TEXT_VARIATION_PASSWORD = 0x00000080;
/**
+ * Variation of {@link #TYPE_CLASS_TEXT}: entering a password, which should
+ * be visible to the user.
+ */
+ public static final int TYPE_TEXT_VARIATION_VISIBLE_PASSWORD = 0x00000090;
+
+ /**
* Variation of {@link #TYPE_CLASS_TEXT}: entering text inside of a web form.
*/
- public static final int TYPE_TEXT_VARIATION_WEB_EDIT_TEXT = 0x00000090;
+ public static final int TYPE_TEXT_VARIATION_WEB_EDIT_TEXT = 0x000000a0;
+
+ /**
+ * Variation of {@link #TYPE_CLASS_TEXT}: entering text to filter contents
+ * of a list etc.
+ */
+ public static final int TYPE_TEXT_VARIATION_FILTER = 0x000000b0;
+
+ /**
+ * Variation of {@link #TYPE_CLASS_TEXT}: entering text for phonetic
+ * pronunciation, such as a phonetic name field in contacts.
+ */
+ public static final int TYPE_TEXT_VARIATION_PHONETIC = 0x000000c0;
// ----------------------------------------------------------------------
// ----------------------------------------------------------------------
diff --git a/core/java/android/text/method/ArrowKeyMovementMethod.java b/core/java/android/text/method/ArrowKeyMovementMethod.java
index 6df0b35..8aa49af 100644
--- a/core/java/android/text/method/ArrowKeyMovementMethod.java
+++ b/core/java/android/text/method/ArrowKeyMovementMethod.java
@@ -204,7 +204,7 @@ implements MovementMethod
MotionEvent event) {
boolean handled = Touch.onTouchEvent(widget, buffer, event);
- if (widget.isFocused()) {
+ if (widget.isFocused() && !widget.didTouchFocusSelectAll()) {
if (event.getAction() == MotionEvent.ACTION_UP) {
int x = (int) event.getX();
int y = (int) event.getY();
diff --git a/core/java/android/text/method/QwertyKeyListener.java b/core/java/android/text/method/QwertyKeyListener.java
index 0b39517..3f8288c 100644
--- a/core/java/android/text/method/QwertyKeyListener.java
+++ b/core/java/android/text/method/QwertyKeyListener.java
@@ -296,21 +296,28 @@ public class QwertyKeyListener extends BaseKeyListener {
String old = new String(repl[0].mText);
content.removeSpan(repl[0]);
- content.setSpan(TextKeyListener.INHIBIT_REPLACEMENT,
- en, en, Spannable.SPAN_POINT_POINT);
- content.replace(st, en, old);
- en = content.getSpanStart(TextKeyListener.INHIBIT_REPLACEMENT);
- if (en - 1 >= 0) {
+ // only cancel the autocomplete if the cursor is at the end of
+ // the replaced span
+ if (selStart == en) {
content.setSpan(TextKeyListener.INHIBIT_REPLACEMENT,
- en - 1, en,
- Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ en, en, Spannable.SPAN_POINT_POINT);
+ content.replace(st, en, old);
+
+ en = content.getSpanStart(TextKeyListener.INHIBIT_REPLACEMENT);
+ if (en - 1 >= 0) {
+ content.setSpan(TextKeyListener.INHIBIT_REPLACEMENT,
+ en - 1, en,
+ Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ } else {
+ content.removeSpan(TextKeyListener.INHIBIT_REPLACEMENT);
+ }
+ adjustMetaAfterKeypress(content);
} else {
- content.removeSpan(TextKeyListener.INHIBIT_REPLACEMENT);
+ adjustMetaAfterKeypress(content);
+ return super.onKeyDown(view, content, keyCode, event);
}
- adjustMetaAfterKeypress(content);
-
return true;
}
}