History log of /frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
97af673e1f2e33a3cc48a2ab7816bbf082a2e9f4 05-Dec-2015 Keisuke Kuroyanagi <ksk@google.com> Move mouse selection handling logic to Editor.

- Remove mouse selection related logic from
ArrowKeyMovementMethod and Touch.
- Extend drag accelerator to support character based
selection by dragging and use it for mouse drag selection.
- Enable word based drag accelerator even if the clicked
position is not on a word.
- Disable y-coordinate adjustment for word based drag
accelerator when the user is using a mouse.

Bug: 19544351

Change-Id: I1b29a65be3d321ac472f8c5b70ab6fee4e895964
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
ead6ba3a639e2737e1f39475a497bf4613723ebd 27-Oct-2015 Keisuke Kuroyanagi <ksk@google.com> Stop making a reversed selection with mice.

Bug: 24889605
Bug: 24475013
Change-Id: I6d39e050656dc28e523fab862c84054169e6300b
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
45a60d1a431065c66c92f0b11c1eaf03613a4dd6 08-Oct-2015 Keisuke Kuroyanagi <ksk@google.com> Fix: Last char can be excluded from mouse selection.

When a mouse is used, isTouchSelecting for ACTION_UP always
returns false with current implementation because all
DragState spans have been removed in Touch#onTouchEvent.

Change-Id: Ie27a2bb860e9ddeb71dafff361c734a7c727102d
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
88d92da325bf976245cffa773afd2df5a951a357 16-Apr-2015 Keisuke Kuroyanagi <ksk@google.com> Enable mouse drag text selection for unfocused TextView.

Bug: 17643755
Change-Id: If6ca064a082feaf6faf9555b1455c4b2f6312952
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
cc32bd83e4d420c1adaeb3ea40f8986471e54590 20-May-2014 Sujith Ramakrishnan <sujithrk@google.com> Add support for mouse-based text selection.

Incorporate patch from Logitech (donated under AOSP license) to the
framework to add mouse-based text selection to ArrowKeyMovementMethod.

Bug: 14652753

Change-Id: Iab264bb954b72ccedfada763eba8f13ef37a4578
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
14f10e5d5f51bc54ca2a45ee62d3cfb6debd3af0 18-Sep-2013 Raph Levien <raph@google.com> Revert "Revert "Take the input device into account for meta state""

This reverts commit 3954fd9a05232cb6f7fc52aa49a0b34c1539028a, which
is equivalent to re-applying 8a1597b39632956cdbcb6b76874ccca786047d4c.

The change ("Take the input device into account for meta state") was
valid but caused CTS test failures because the test was wrong. The
test injected a key event with the meta state missing. This faulty
test was masked by the old toggle behavior.
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
3954fd9a05232cb6f7fc52aa49a0b34c1539028a 17-Sep-2013 Raph Levien <raph@google.com> Revert "Take the input device into account for meta state"

This reverts commit 8a1597b39632956cdbcb6b76874ccca786047d4c. That
commit broke some of the handling of meta state, which in turn caused
CTS test failures, notably bug 10210151 (CTS:
android.text.method.cts.BaseKeyListenerTest#testBackspace_withSendKeys
is failing on KLP).

So this revert fixes those test failures, but leaves bug 8303489
(Pressing shift on the hardware keyboard messes with unrelated
keypresses, including virtual ones) still present. We'll plan to
address that in a future release.

Change-Id: Iea42c643b6d08f33cbd2ed1747e8de3b5f8116a6
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
8a1597b39632956cdbcb6b76874ccca786047d4c 05-Mar-2013 Jean Chalard <jchalard@google.com> Take the input device into account for meta state

Interesting nits about this:
- getMetaState(long) and getMetaState(long, int) do not
seem to be used anywhere in the framework. Maybe we
want to skip adding getMetaState(long, KeyEvent) and
getMetaState(long, int, KeyEvent).
- getMetaState(CharSequence, int) is used extensively
throughout the code. In some places, a KeyEvent is
available and should be considered - this change does
implement this. In many other cases, there is no
relevant KeyEvent for this action (for example,
Editor#extractTextInternal). In these cases, the
behavior is affected by the current latch state, so
it's fine to leave them as is.

Bug: 8303489

Change-Id: I4a948c497c49e48f83ba1048520e7fe5bfe84727
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
004b02d62605c172c3c9a332a22356cd4edf3598 18-Jan-2012 Gilles Debunne <debunne@google.com> Touch moves cursor in text refactored

Code was moved back from the movement method to the touch event code in TextView.

Change-Id: I7dc0d957554ddce08e810d20e0385f98802ef1a4
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
9d8d3f1539ce5bdf512bd47ec1648609d6cde5b1 13-Oct-2011 Gilles Debunne <debunne@google.com> Spell checher's language synced with keyboard.

Bug 5379440. The spell check is now using the IME's language to
do the spell checking. Changing the input language triggers a
new spell check of the entire text.

Optimizations: ArrowKeyMovementMethod re-uses the TextView's
wordIterator, already set to the correct language.

One wordIterator shared by all SpellParsers in SpellChecker.
Cannot re-use TextView's because of concurrency issues.

With the current implementation, one has to type a new character
to see the new spell checking take place.

Change-Id: I0e460c0a6777548f89d03d6b68f3deea6606c17f
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
287d6c6e12a38864d019fa7b9184206bc8a31ea1 06-Oct-2011 Gilles Debunne <debunne@google.com> Bug 5250788: LatinIME slows down as amount of Text increases

Removed unnecessary CharSequenceIterator and made the WordIterator
work on String instead of CharSequence

Submit words to the spell checker by batches.

Refactored WordIterator to make it intrinsically local.

Change-Id: Ie9e30691985a130fa55cd052005ddb22a21761cb
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
70a6312f09329bd0b19343bc7906f9ce665fe3ad 01-Sep-2011 Gilles Debunne <debunne@google.com> Fixes around text selection

Text selection mode was started by two consecutive taps inside a
field with selectAllOnFocus.

ArrowKeyMovementMethod does not respect the possible cancelLongPress and handles up events.
As a result a scroll that happens to end up at its initial position will be considered a tap
and will move the cursor.
This is however not considered as a tap in TextView and a possible selection mode would not
be stopped in that case.
Fixed by making ArrowKeyMovementMethod aware of the cancel that happened in Touch.

Change-Id: I07372b703f250e1edc7ee0665318ce30441b9187
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
3bca69b09fb51116b5eb18fb91cb991c1450e384 24-May-2011 Gilles Debunne <debunne@google.com> TextView uses floats for touch event positions.

This is the type returned by event.getX/Y methods. Conversion
to ints is only performed when needed. Low performance impact
since there is only a minimal amount of computations on these
values.

Change-Id: I53a56efe5e3a1a96911adc25fedaab7f40f1ba8e
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
e193fd14346e6e808c6c266d2bb13c0c0cc6890e 18-Apr-2011 Gilles Debunne <debunne@google.com> Extracted WordIterator class.

This class will be used by TextView and the IMEs to cut the
text into words.

New getBeginning and getEnd methods that return word limits.

Added Locale to constructor.

Change-Id: Ie8ad590ebca4b48517ec7b4c3768b3e41879166e
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
daa4a95a54909d53a325eb06ca22130743b5be04 08-Apr-2011 Gilles Debunne <debunne@google.com> Fix in BreakIterator.

An index equal to the length of text is indeed a valid position,
representing a cursor located after the last character.

Also changed iterator to comply to the documentation.

Change-Id: I7b9e427e4e37df20ab7e66d99053a9d8a6af6eb3
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
e982dfc1bae36620f67371efc7b0a0f8adc9450d 22-Mar-2011 Jeff Sharkey <jsharkey@android.com> Support Ctrl-based EditText movement.

EditText now listens for Ctrl+left/right to jump through text at word
boundaries. It also listens for Ctrl+home/end to move to start/end of
the full text. This emulates behavior found in desktop text editors.

Bug: 4081964
Change-Id: I98bd19c0d8707357847db3466648a83fd774dbaf
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
67b6ab72ae96a9f2be929de2c32c110df5390fdd 18-Dec-2010 Jeff Brown <jeffbrown@google.com> Add TextView support for Home, End, PageUp, PageDown.

Change-Id: If8aa2a63b5fc33528d54eef68e695082a129acce
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
0eb704ca7a0844186e0755e86bc4afc23297797d 30-Nov-2010 Gilles Debunne <debunne@google.com> Tap inside text selection dismisses selection.

Change-Id: I8ccc952940d3f1b3a52d506f750019a892380f40
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
497a92cc5ba2176b8a8484b0a7da040eac0e887b 13-Sep-2010 Jeff Brown <jeffbrown@google.com> Add keycodes and meta-key modifiers to support external keyboards.

Added new key maps for external keyboards. These maps are intended to
be shared across devices by inheriting the "keyboards.mk" product
makefile as part of the device's product definition.

One of the trickier changes here was to unwind some code in
MetaKeyKeyListener that assumed that only the low 8 bits of the meta key
state were actually used. The new code abandons bitshifts in favor
of simple conditionals that are probably easier to read anyways.
The special meta key state constants used by MetaKeyKeyListener
are now (@hide) defined in KeyEvent now so as to make it clearer that they
share the same code space even if those codes are not valid for KeyEvents.

The EventHub now takes care of detecting the appropriate key layout
map and key character map when the device is added and sets system
properties accordingly. This avoids having duplicate code in
KeyCharacterMap to probe for the appropriate key character map
although the current probing mechanism has been preserved for legacy
reasons just in case.

Added support for tracking caps lock, num lock and scroll lock and
turning their corresponding LEDs on and off as needed.

The key character map format will need to be updated to correctly support
PC style external keyboard semantics related to modifier keys.
That will come in a later change so caps lock doesn't actually do
anything right now except turn the shiny LEDs on and off...

Added a list of symbolic key names to KeyEvent and improved the toString()
output for debug diagnosis. Having this list in a central place in the
framework also allows us to remove it from Monkey so there is one less
thing to maintain when we add new keycodes.

Bug: 2912307
Change-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
01ce2e9eee41cc0c24b0d16465710a28ea337d5d 27-Sep-2010 Jeff Brown <jeffbrown@google.com> Add suuport for splitting touch events across windows.

This feature is currently used to enable dragging the start and end
selection handles of a TextView at the same time. Could be used for
other things later.

Deleted some dead code in ArrowKeyMovementMethod and CursorControllers.

Change-Id: I930accd97ca1ca1917aab8a807db2c950fc7b409
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
9aed300279db6953356aed5ef24a42291f5829cb 20-Sep-2010 Adam Powell <adamp@google.com> Text selection anchors changed to use windows

Change-Id: I14f138039f5e3175a8c07f21985715b8447708e5
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
49271c941ed965c20ed834c5efc52b07ed616e34 08-Sep-2010 Gilles Debunne <debunne@google.com> Hide mCursorController field in ArrowKeyMovementMethod.

Made the field private and added a description of its use.

Bug http://b/issue?id=2975284

Change-Id: Id8acf756218915cb2ae756789b62cfe7201a5c67
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
2703a42d16af0e62da1bba02b6c935d98debf936 24-Aug-2010 Gilles Debunne <debunne@google.com> When an EditText gains focus by tapping, move the insertion point where tapped.

The previous behavior was to move cursor at the end of the first line,
which feels weird.

Change-Id: I5a72f9871ed79ee2c521698ea642ba126537f4f9
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
3e05a0beb2fad0b21558019d2adf6805da70e10e 23-Aug-2010 Gilles Debunne <debunne@google.com> Hysteresis effect in Text selection.

Vertical movement requires going over a given threshold to change line.
Makes it easier to move down without changing line, so that one can see the
cursor better. Also simplifies long line selection.

Change-Id: I791da500232c6e510af64c637ed994c5da9a4fea
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
b0d6ba1ec4f71b96cab7d1ff62b846d5cf162c4f 18-Aug-2010 Gilles Debunne <debunne@google.com> Text selection without trackball.

Backported from HC.

Squashed commit of the following:

commit af214a595c7a9fdd11a2dc384f7d4665abf751c0
Fixes in TextView's selection.

commit eb9fd59ebe6500a66c2003d46b5802299970ae8d
TextView with Selection Contextual Mode

commit 4c4c338ef355b369ce4b57d6c6fba7ee8f9dddf4
Cosmetic changes around TextView.

commit d4b4b054e87480d984ad18766f5e76553e3080d8
Double and one and a half tap removed from TextView.

commit 897c2847ba1fca8ef01eadadd1bc3de007af3ee5
Selection handlers in TextView

commit 832be74a5394649e28927484d9a86c6d53b430e7
New cursor controller in TextViews.

Change-Id: I01cc64736e2abea605317ee53907a1713617fc17
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
8cdb684163051c12f37e8a5f9031f17efd9d0fa4 05-Apr-2010 Kenny Root <kroot@google.com> Revert to previous text selection behavior

There was a new behavior that starting "Select text" would allow you to
swipe from beginning to end and immediately copy that. This change
reverts to the previous behavior that "Select text" will start where
your cursor is currently and any tap will extend the selection from that
origin to the point of the tap.

Change-Id: Ib955cc8d62a652f518435953da2f54e810d9dfb0
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
62c4ad3b6ba162540c3fb57fcacb375ccfa53454 06-Jan-2010 Maryam Garrett <mkamvar@google.com> Enable onepointfivetap-and-swipe to select.

The goal of this new feature is to enable users to select
text without having to go through the cumbersome context
menu. Now users can simply execute a
onepointfivetap-and-swipe gesture to select text.
Onepointfivetap is similar to doubletap gesture (where a
finger goes down, up, down, up, in a short time period),
except in the onepointfive tap, a users finger only needs
to go down, up, down in a short time period.

I don't think this change should cause any waves, because
this interaction is consistent with the select interaction
using a computer-mouse and computer-screen, and i've
checked and it seems to be implemented on other touch-based
phones as well.

Change-Id: Iba84f7316a647e963ba7c57ca608bfdc3bb438b8
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
39f0efba92a4420f77e3abc53c367ea3cacde3cf 11-Dec-2009 Maryam Garrett <mkamvar@google.com> Fixes context-menu trigger behavior after scroll in TextView

This change fixes the context menu trigger behavior while
the user is selecting via touch. How if a user is selecting
text via dragging their finger, to trigger the context menu
they will have to lift their finger up, then issue a
longpress. This is consistent with the behavior of selecting
via the trackball.
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
ab9289320f598509cf358523ba173d69178a55ea 10-Dec-2009 Maryam Garrett <mkamvar@google.com> Allows users to scroll while in select mode.

This change allows the user to select-n-scroll. While a user
is in select mode, and they try to scroll, the textbox will
scroll in the direction of the selection, and expand the selection.
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
ce08379e22609415971ece6ba3417d6d3fd338d2 01-Dec-2009 Maryam Garrett <mkamvar@google.com> Improves the touch-based text selection UI in text boxes.

With this change, when a user is in "text select" mode, they
can swipe any part of the text. This changes the behavior of
the touch-based select in 2 ways (behavior for cursor-based
select remains the same):

1. You can now indicate where your select will start. Before
this change, the select always started at the last cursor
position.

2. Selection will respect word boundaries. Before this
change the selection would be character to character. Since
users don't have a fine grain level of control over touch
events, this would often lead to incomplete selections.
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
a6e50454890629fe369538d8e473945bc9d68136 25-Jul-2009 Eric Fischer <enf@google.com> When you double-tap a word in an EditText, select the word.

Bug 1978109
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
1c9aefd471cec85f905bea4099f4a641f347e0a0 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/master/...@140719,140719
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/text/method/ArrowKeyMovementMethod.java