diff options
| -rw-r--r-- | api/current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/text/method/ArrowKeyMovementMethod.java | 2 | ||||
| -rw-r--r-- | core/java/android/text/method/BaseKeyListener.java | 2 | ||||
| -rw-r--r-- | core/java/android/text/method/BaseMovementMethod.java | 2 | ||||
| -rw-r--r-- | core/java/android/text/method/DialerKeyListener.java | 2 | ||||
| -rw-r--r-- | core/java/android/text/method/MetaKeyKeyListener.java | 54 | ||||
| -rw-r--r-- | core/java/android/text/method/NumberKeyListener.java | 2 | ||||
| -rw-r--r-- | core/java/android/text/method/QwertyKeyListener.java | 2 |
8 files changed, 6 insertions, 62 deletions
diff --git a/api/current.txt b/api/current.txt index 4624c60dba48..0d65629b1af6 100644 --- a/api/current.txt +++ b/api/current.txt @@ -24925,9 +24925,7 @@ package android.text.method { method public static void clearMetaKeyState(android.text.Editable, int); method public long clearMetaKeyState(long, int); method public static final int getMetaState(java.lang.CharSequence); - method public static final int getMetaState(java.lang.CharSequence, android.view.KeyEvent); method public static final int getMetaState(java.lang.CharSequence, int); - method public static final int getMetaState(java.lang.CharSequence, int, android.view.KeyEvent); method public static final int getMetaState(long); method public static final int getMetaState(long, int); method public static long handleKeyDown(long, int, android.view.KeyEvent); diff --git a/core/java/android/text/method/ArrowKeyMovementMethod.java b/core/java/android/text/method/ArrowKeyMovementMethod.java index ba6f1d4ba07a..30bb447ff4b6 100644 --- a/core/java/android/text/method/ArrowKeyMovementMethod.java +++ b/core/java/android/text/method/ArrowKeyMovementMethod.java @@ -56,7 +56,7 @@ public class ArrowKeyMovementMethod extends BaseMovementMethod implements Moveme if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0 && MetaKeyKeyListener.getMetaState(buffer, - MetaKeyKeyListener.META_SELECTING, event) != 0) { + MetaKeyKeyListener.META_SELECTING) != 0) { return widget.showContextMenu(); } } diff --git a/core/java/android/text/method/BaseKeyListener.java b/core/java/android/text/method/BaseKeyListener.java index 63607fa34872..4fede32f5e06 100644 --- a/core/java/android/text/method/BaseKeyListener.java +++ b/core/java/android/text/method/BaseKeyListener.java @@ -75,7 +75,7 @@ public abstract class BaseKeyListener extends MetaKeyKeyListener } // Alt+Backspace or Alt+ForwardDelete deletes the current line, if possible. - if (getMetaState(content, META_ALT_ON, event) == 1) { + if (event.isAltPressed() || getMetaState(content, META_ALT_ON) == 1) { if (deleteLine(view, content)) { return true; } diff --git a/core/java/android/text/method/BaseMovementMethod.java b/core/java/android/text/method/BaseMovementMethod.java index 155a2c4fcfa0..113a4becfde6 100644 --- a/core/java/android/text/method/BaseMovementMethod.java +++ b/core/java/android/text/method/BaseMovementMethod.java @@ -135,7 +135,7 @@ public class BaseMovementMethod implements MovementMethod { */ protected int getMovementMetaState(Spannable buffer, KeyEvent event) { // We ignore locked modifiers and SHIFT. - int metaState = MetaKeyKeyListener.getMetaState(buffer, event) + int metaState = (event.getMetaState() | MetaKeyKeyListener.getMetaState(buffer)) & ~(MetaKeyKeyListener.META_ALT_LOCKED | MetaKeyKeyListener.META_SYM_LOCKED); return KeyEvent.normalizeMetaState(metaState) & ~KeyEvent.META_SHIFT_MASK; } diff --git a/core/java/android/text/method/DialerKeyListener.java b/core/java/android/text/method/DialerKeyListener.java index bb8b0de8a9f3..ce51fae06ecf 100644 --- a/core/java/android/text/method/DialerKeyListener.java +++ b/core/java/android/text/method/DialerKeyListener.java @@ -53,7 +53,7 @@ public class DialerKeyListener extends NumberKeyListener * from the KeyEvent. */ protected int lookup(KeyEvent event, Spannable content) { - int meta = getMetaState(content, event); + int meta = event.getMetaState() | getMetaState(content); int number = event.getNumber(); /* diff --git a/core/java/android/text/method/MetaKeyKeyListener.java b/core/java/android/text/method/MetaKeyKeyListener.java index e9db5fde77ed..5ebb95751959 100644 --- a/core/java/android/text/method/MetaKeyKeyListener.java +++ b/core/java/android/text/method/MetaKeyKeyListener.java @@ -163,29 +163,6 @@ public abstract class MetaKeyKeyListener { getActive(text, SELECTING, META_SELECTING, META_SELECTING); } - /** - * Gets the state of the meta keys for a specific key event. - * - * For input devices that use toggled key modifiers, the `toggled' state - * is stored into the text buffer. This method retrieves the meta state - * for this event, accounting for the stored state. If the event has been - * created by a device that does not support toggled key modifiers, like - * a virtual device for example, the stored state is ignored. - * - * @param text the buffer in which the meta key would have been pressed. - * @param event the event for which to evaluate the meta state. - * @return an integer in which each bit set to one represents a pressed - * or locked meta key. - */ - public static final int getMetaState(final CharSequence text, final KeyEvent event) { - int metaState = event.getMetaState(); - if (event.getKeyCharacterMap().getModifierBehavior() - == KeyCharacterMap.MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED) { - metaState |= getMetaState(text); - } - return metaState; - } - // As META_SELECTING is @hide we should not mention it in public comments, hence the // omission in @param meta /** @@ -215,37 +192,6 @@ public abstract class MetaKeyKeyListener { } } - /** - * Gets the state of a particular meta key to use with a particular key event. - * - * If the key event has been created by a device that does not support toggled - * key modifiers, like a virtual keyboard for example, only the meta state in - * the key event is considered. - * - * @param meta META_SHIFT_ON, META_ALT_ON, META_SYM_ON - * @param text the buffer in which the meta key would have been pressed. - * @param event the event for which to evaluate the meta state. - * @return 0 if inactive, 1 if active, 2 if locked. - */ - public static final int getMetaState(final CharSequence text, final int meta, - final KeyEvent event) { - int metaState = event.getMetaState(); - if (event.getKeyCharacterMap().getModifierBehavior() - == KeyCharacterMap.MODIFIER_BEHAVIOR_CHORDED_OR_TOGGLED) { - metaState |= getMetaState(text); - } - if (META_SELECTING == meta) { - // #getMetaState(long, int) does not support META_SELECTING, but we want the same - // behavior as #getMetaState(CharSequence, int) so we need to do it here - if ((metaState & META_SELECTING) != 0) { - // META_SELECTING is only ever set to PRESSED and can't be LOCKED, so return 1 - return 1; - } - return 0; - } - return getMetaState(metaState, meta); - } - private static int getActive(CharSequence text, Object meta, int on, int lock) { if (!(text instanceof Spanned)) { diff --git a/core/java/android/text/method/NumberKeyListener.java b/core/java/android/text/method/NumberKeyListener.java index 988d566f5a7e..5d4c7329ab3b 100644 --- a/core/java/android/text/method/NumberKeyListener.java +++ b/core/java/android/text/method/NumberKeyListener.java @@ -41,7 +41,7 @@ public abstract class NumberKeyListener extends BaseKeyListener protected abstract char[] getAcceptedChars(); protected int lookup(KeyEvent event, Spannable content) { - return event.getMatch(getAcceptedChars(), getMetaState(content, event)); + return event.getMatch(getAcceptedChars(), event.getMetaState() | getMetaState(content)); } public CharSequence filter(CharSequence source, int start, int end, diff --git a/core/java/android/text/method/QwertyKeyListener.java b/core/java/android/text/method/QwertyKeyListener.java index 0bd46bc992a0..98316ae58da6 100644 --- a/core/java/android/text/method/QwertyKeyListener.java +++ b/core/java/android/text/method/QwertyKeyListener.java @@ -108,7 +108,7 @@ public class QwertyKeyListener extends BaseKeyListener { // QWERTY keyboard normal case - int i = event.getUnicodeChar(getMetaState(content, event)); + int i = event.getUnicodeChar(event.getMetaState() | getMetaState(content)); if (!mFullKeyboard) { int count = event.getRepeatCount(); |