• Home
  • History
  • Annotate
  • only in /frameworks/base/core/java/android/text/method/
History log of /frameworks/base/core/java/android/text/method/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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.
rrowKeyMovementMethod.java
aseKeyListener.java
aseMovementMethod.java
ialerKeyListener.java
etaKeyKeyListener.java
umberKeyListener.java
wertyKeyListener.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
rrowKeyMovementMethod.java
aseKeyListener.java
aseMovementMethod.java
ialerKeyListener.java
etaKeyKeyListener.java
umberKeyListener.java
wertyKeyListener.java
5d0db65e734b8d3ee1cef5a51b327bb4f12cb5b0 15-May-2013 Raph Levien <raph@google.com> am 38272ad2: am 21403857: Merge "Fix for bug 8911390 RTL text alignment is changed ..." into jb-mr2-dev

* commit '38272ad2b1d3ab90c83fcd74139503fcd3148a19':
Fix for bug 8911390 RTL text alignment is changed ...
01524651cb8f7b97a310bd262f4c792e860e140f 14-May-2013 Raph Levien <raph@google.com> Fix for bug 8911390 RTL text alignment is changed ...

The predicate for detecting whether text was right aligned was missing
some cases - it was correctly sensing RIGHT or OPPOSITE aligned text
in the LTR case, but was missing NORMAL for rtl. This patch just adds
that case.

Change-Id: I06691e7122e1ca91d66299cf0d7ef1f8a476a44b
ouch.java
cd0b01327bd80dc3306ffb28a4cefd5ca20c50b4 29-Apr-2013 Victoria Lease <violets@google.com> enable selection of Linkify-annotated text

Bug: 8515643
Change-Id: I74e8b9e45e2645ec6287abd1cd6e47d383c4f3e0
inkMovementMethod.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
rrowKeyMovementMethod.java
aseKeyListener.java
aseMovementMethod.java
ialerKeyListener.java
etaKeyKeyListener.java
umberKeyListener.java
wertyKeyListener.java
f9bd5f69e2b540bbd3187fe1d7c7ca33f77f0cd9 05-Mar-2013 Jean Chalard <jchalard@google.com> Preparatory cleanups in MetaKeyKeyListener

This cleans up a comment mentioning a private API and
declares constants for the return value of some public
functions.

Bug: 8303489
Change-Id: If06cc64952a572c506961e8125d0874428b5580c
etaKeyKeyListener.java
548655045a9c9791bd33e77a823afea5846228ab 26-Feb-2013 Jean Chalard <jchalard@google.com> Fix dead key -> space combination.

This also fixes "dead key -> same dead key" combination.
Both these key sequences should only give the non-combining
version of the combining character.

Bug: 8158374
Change-Id: I51f01685dd2997c2c5316ce6aa4f10ac9354c877
wertyKeyListener.java
22816c34da9f9e7fc0f6862d4389e0c07d3d94cf 01-Oct-2012 Tadashi G. Takaoka <takaoka@google.com> Fix DigitsKeyListener to be able to accept "+" sign

Bug: 7255318
Change-Id: Id5a6c11ffc62cc79c1db0baaf8d184174691d034
igitsKeyListener.java
405bc51c5dc73846a4abdc325cd234eb2d37469f 29-May-2012 Jean Chalard <jchalard@google.com> Add/refine comments to reflect key event policies

Make clearer how the platform is handling key events following some
unfortunate uses by third party applications. Also highlight the
changes in Jelly Bean default keyboard.

Bug: 6566711
Change-Id: Ibcdaf54c6d629fd0733529bfe2fffc82f555f084
aseKeyListener.java
ateKeyListener.java
ateTimeKeyListener.java
ialerKeyListener.java
igitsKeyListener.java
eyListener.java
ultiTapKeyListener.java
umberKeyListener.java
wertyKeyListener.java
extKeyListener.java
imeKeyListener.java
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 09-Mar-2012 Ken Wakasa <kwakasa@google.com> Fix obvious typos under frameworks/base/core

Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
aseMovementMethod.java
07ba2a2131abb4939d5b71ba27dcb68b2bba9255 14-Feb-2012 Gilles Debunne <debunne@google.com> Minor typo fixes

Change-Id: I8cd9500cc50b7a484bf387e6a6a0c9b4ffb175a4
eyListener.java
ransformationMethod.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
rrowKeyMovementMethod.java
653d3a27878d5358b4a91518a756f6b9b3407b07 07-Dec-2011 Gilles Debunne <debunne@google.com> Limit created string size in Spell Checker

Change-Id: I2f4e7a8b0022d76bc30199ff80c2fe637dbe03ef
ordIterator.java
70b34a1e0525c8e13f431c2e6c9d37d1954de1b2 27-Oct-2011 Gilles Debunne <debunne@google.com> Scroll performance improved in multiline TextEdit

Measuring line widths, glyph by glyph slows down the scrolling
process for long text (for some reason, width measure efficiency
is affectedi by text length, maybe because the whole text has to
be passed to JNI layers).

This optimization avoids this computation in the case where there
is no possible horizontal scroll.

This is a cherry pick of 145957 into ICS-MR1

Change-Id: I2082e3d0eedace1a86122a03e4b21f90f3bc8522
ouch.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
rrowKeyMovementMethod.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
rrowKeyMovementMethod.java
ordIterator.java
d5ea0a1bc2fae7c6084b0c5cc9b68a925a0f50f6 29-Sep-2011 Gilles Debunne <debunne@google.com> Bug 5250788: EditText gets slower has the entered text gets longer

Profiling showed that the bottle neck was in the word iterator.
Now initializing the word iteerator to only a window around the region
of interest to reduce the text analysis.

Change-Id: Ibfa4952cbf52a1b36726f965143ac7a6dc63673e
ordIterator.java
b2beb92073cea6e472748e729ac8e265ca83a925 22-Sep-2011 Gilles Debunne <debunne@google.com> Bug 5279842: mis alignment after scroll

Refactored.

Original problem was the ALIGN_RIGHT case that was not handled.

Change-Id: Id01b75ac404b7ee92143e8cf6e3a3a838b794da8
ouch.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
rrowKeyMovementMethod.java
ouch.java
6435a56a8c02de98befcc8cd743b2b638cffb327 05-Aug-2011 Gilles Debunne <debunne@google.com> Spell checking in TextViews

New UX interactions (the Paste action is no longer displayed after a delay)
suggestionEnabled flag replaced by existing input type flag.
removeSpans fixed in SpannableStringBuilder to always send notifications
SuggestionSpan handled by TextView instead of SpannableStringBuilder

New span update algorithm to correctly handle edition around word boundaries.

Change-Id: I52c01172f19e595fa512e285a565a3fd97c3c50e
ordIterator.java
7f8f79a1ff086c04a3ad2a442b1d39a8186e3e50 08-Jul-2011 Adam Powell <adamp@google.com> Add ALL CAPS style to TextView/TextAppearance

Switch out ugly hack in action menu items for the new style.

Change-Id: I68a0ed62a352b14d499e6478b82bbc12dcb5a030
llCapsTransformationMethod.java
ransformationMethod2.java
d4bb0b01c6caccbaef1baec377a59c10790da35c 28-May-2011 Gilles Debunne <debunne@google.com> Fix for bug 4499752 - Detect nulled layouts in HandleViews

Change-Id: I6a7289150bf461cdf4cca0aff4aa4a0400e0d553
ordIterator.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
rrowKeyMovementMethod.java
1b38cc30573589b5cdf7bf5c1d848333477269e3 30-Apr-2011 Conley Owens <cco3@android.com> am 014757ee: am a9517012: am 1e29552b: Merge "We don\'t need these local references."

* commit '014757eea22fc9cceede1548c579c33c79464001':
We don't need these local references.
014757eea22fc9cceede1548c579c33c79464001 29-Apr-2011 Conley Owens <cco3@android.com> am a9517012: am 1e29552b: Merge "We don\'t need these local references."

* commit 'a95170122619f5442d5efbdf2e37f91dbf455ab9':
We don't need these local references.
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
rrowKeyMovementMethod.java
ordIterator.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
rrowKeyMovementMethod.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
rrowKeyMovementMethod.java
aseMovementMethod.java
97124117e811ce31d525a052f824e029ac8f16a6 17-Mar-2011 Jozef BABJAK <jozef.babjak@gmail.com> We don't need these local references.

Change-Id: I227c88eb4eb5d2842124e1c944cc18d5b28cccc1
ultiTapKeyListener.java
d17247164b3c4e8a41cbe1dd283ef2442ad76229 26-Feb-2011 Jeff Brown <jeffbrown@google.com> Make SHIFT+Backspace be forward delete.

Bug: 3416383
Change-Id: I8f20a6793abd15741aff222edcfe33f7019b9095
aseKeyListener.java
8f34567c71003505456a9b1a0d461a4e62883d70 26-Feb-2011 Jeff Brown <jeffbrown@google.com> Add scroll wheel support to TextView.

Change-Id: I6e4258c50b0d754dccf07266ff4b2abcbccd733a
aseMovementMethod.java
ovementMethod.java
crollingMovementMethod.java
d9ed795ca51c57427ad27f246d5ec19f89ff508d 25-Jan-2011 Gilles Debunne <debunne@google.com> Fix for a call to startActivity from outside of an app.

Bug 3246715

Regression introduced by https://android-git.corp.google.com/g/#change,86174

Change-Id: Icba170746d196386bd9b0309582f724cb076d937
inkMovementMethod.java
d5188657dcde0f40a6954a00d569c0575bf6095a 19-Jan-2011 Leon Scroggins <scroggo@google.com> Do a better job of lining up text with page text.

Bug:3085564
Bug:3196224
Bug:3321608

Remove Touch.getMaxScrollX(), which is incorrect for my
purpose, and is not used anywhere else. Instead use the
layout to determine the maximum horizontal scroll of a
textfield.

Now that textareas use layers, scroll the layer's picture
in the UI thread for vertical movement. When passing a
click to webcore, also pass a message to scroll the actual
textarea so the click will be in the correct place.

Lastly, do not override bringPointIntoView, which allows
moving the insertion handler beyond the edge of a field to
scroll it. Instead, override requestRectangleOnScreen to
do nothing, since my actual goal is to prevent the TextView
from changing the scroll of the WebView, which is done by
webkit.

Requires a change to external/webkit.

Change-Id: Ib91907599b792287c373d3678cb04e0cb5e34471
ouch.java
75b7a931bc96c1b46cbf3773cd75c30bf6d6f5f0 21-Dec-2010 Gilles Debunne <debunne@google.com> Removed simple compilation warnings.

Change-Id: I471b8895db4321d49e324e7137a1f5cee08ff5d4
inkMovementMethod.java
00998631559dbb82b2a1913c9c19f90bd946d14d 22-Dec-2010 Jeff Brown <jeffbrown@google.com> Merge "Add support for forward delete key."
14d0ca1473b991288b2dfab57409054dec7cd2fa 22-Dec-2010 Jeff Brown <jeffbrown@google.com> Add support for forward delete key.

Change-Id: Ib356abddd92db12d6b33e19234136c0d167f0e15
aseKeyListener.java
wertyKeyListener.java
67b6ab72ae96a9f2be929de2c32c110df5390fdd 18-Dec-2010 Jeff Brown <jeffbrown@google.com> Add TextView support for Home, End, PageUp, PageDown.

Change-Id: If8aa2a63b5fc33528d54eef68e695082a129acce
rrowKeyMovementMethod.java
aseMovementMethod.java
inkMovementMethod.java
ovementMethod.java
crollingMovementMethod.java
52715a7c10eeb798692ffdb4bc8c4305cb0aa705 09-Dec-2010 Jeff Brown <jeffbrown@google.com> Fix a regression in clearMetaKeyState.

Bug: 3267519
Change-Id: Ibbc7d4e38ef3208b9ece09566e44e8421866ab95
etaKeyKeyListener.java
0eb704ca7a0844186e0755e86bc4afc23297797d 30-Nov-2010 Gilles Debunne <debunne@google.com> Tap inside text selection dismisses selection.

Change-Id: I8ccc952940d3f1b3a52d506f750019a892380f40
rrowKeyMovementMethod.java
47e6b1b5eef8ee99872f278f66bc498c4fcca0d8 30-Nov-2010 Jeff Brown <jeffbrown@google.com> Support non-orientation aware keyboards and other devices.

Fixed a bug with dpad keys on external keyboards being rotated
according to the display orientation by adding a new input device
configuration property called "keyboard.orientationAware".

Added a mechanism for overriding the key layout and key character
map in the input device configuration file using the new
"keyboard.layout" and "keyboard.characterMap" properties.

Also added "trackball.orientationAware", "touch.orientationAware" and
"touch.deviceType" configuration properties.

Rewrote the configuration property reading code in native code
so that it can be used by EventHub and other components.

Added basic support for installable idc, kl, and kcm files
in /data/system/devices. However, there is no provision for
copying files there yet.

Disabled long-press character pickers on full keyboards so that
key repeating works as expected.

Change-Id: I1bd9f0c3d344421db444e7d271eb09bc8bab4791
wertyKeyListener.java
extKeyListener.java
6b53e8daa69cba1a2a5a7c95a01e37ce9c53226c 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Added support for full PC-style keyboards.

BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
aseKeyListener.java
ialerKeyListener.java
etaKeyKeyListener.java
umberKeyListener.java
wertyKeyListener.java
extKeyListener.java
ouch.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
rrowKeyMovementMethod.java
ialerKeyListener.java
etaKeyKeyListener.java
ouch.java
464fb74e28b6d76d5e741abcdbb714eea2d9b4d1 27-Sep-2010 Jeff Brown <jeffbrown@google.com> am 9785bf0f: am 14a288da: Merge "Add suuport for splitting touch events across windows." into gingerbread

Merge commit '9785bf0f2b6b8758aed7ded3b996a2ef0be89919'

* commit '9785bf0f2b6b8758aed7ded3b996a2ef0be89919':
Add suuport for splitting touch events across windows.
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
rrowKeyMovementMethod.java
879fb6b5d66bec90d3420fad12a2a9b2fe9592f3 20-Sep-2010 Adam Powell <adamp@google.com> Text selection anchors changed to use windows

Manually cherry-picked

Change-Id: Id080dfad0e2f324fef3a5175abc78f76c8bad4c8
rrowKeyMovementMethod.java
9aed300279db6953356aed5ef24a42291f5829cb 20-Sep-2010 Adam Powell <adamp@google.com> Text selection anchors changed to use windows

Change-Id: I14f138039f5e3175a8c07f21985715b8447708e5
rrowKeyMovementMethod.java
fd1a8945be5ea1ce5dd948f8fdbefc6c5963eb9f 09-Sep-2010 Gilles Debunne <debunne@google.com> am de5cfcb6: am d9c80ab3: Merge "Fix for a memory leak in TextKeyListener." into gingerbread

Merge commit 'de5cfcb608f3432d98ae17e0febb6e726df79e90'

* commit 'de5cfcb608f3432d98ae17e0febb6e726df79e90':
Fix for a memory leak in TextKeyListener.
d35180cf52d8a84b5bd45a3f6428449bbc0a3283 08-Sep-2010 Gilles Debunne <debunne@google.com> Fix for a memory leak in TextKeyListener.

Open source contribution https://review.source.android.com/#change,16985

Change-Id: Iebf09e147dd26575ca1a3f02180a678583671a68
extKeyListener.java
5c69544826258bf047fc72c871c18e4a5b24d873 08-Sep-2010 Gilles Debunne <debunne@google.com> am cf86bc1d: am 883bbb72: Merge "Hide mCursorController field in ArrowKeyMovementMethod." into gingerbread

Merge commit 'cf86bc1d92128455c06ed8b0a338e7b3145d11a7'

* commit 'cf86bc1d92128455c06ed8b0a338e7b3145d11a7':
Hide mCursorController field in ArrowKeyMovementMethod.
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
rrowKeyMovementMethod.java
925f2f909649dd0cbf93674201430879c2e03f99 25-Aug-2010 Gilles Debunne <debunne@google.com> resolved conflicts for merge of 9765b2a0 to master

Change-Id: Ic37a443fff0425e9d7c8395f71665d56c38d7e53
8db59adccf3e07b9597a69858e8e4de4f7f233e7 24-Aug-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of b037da40 to master

Change-Id: I591f80f613870a4b1557f17d1c8574f661ed8121
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
rrowKeyMovementMethod.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
rrowKeyMovementMethod.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
rrowKeyMovementMethod.java
ouch.java
d11f6e6460dcc41597e3a7f6cd3023f116f8c696 14-Jul-2010 Gilles Debunne <debunne@google.com> Double and one and a half tap removed from TextView.

Text selection is now triggered by a long press. This behavior should be shared
across applications and is already implemented in the browser.

New UI guidelines say that double tap should be used for zooming only.

Change-Id: I9fae692cf3f6e565350f666fa3d5a86884439349
rrowKeyMovementMethod.java
05336274dd8e7ababfe5b253069653abbba20c3c 10-Jul-2010 Gilles Debunne <debunne@google.com> Selection handlers in TextView

Long press on text view triggers selection mode. Two handles can be used to
adjust selection.

Change-Id: I45bb5fd62cae910570cff34920e45c4383160179
rrowKeyMovementMethod.java
cc3ec6cdb2b892eb29513e72d8b205acbe997b25 23-Jun-2010 Gilles Debunne <debunne@google.com> New cursor controller in TextViews.

Editable TextView now display a cursor controller under the insertion
point so that it can be precisely moved.

Change-Id: Ia2e6ddc57d249647ff6683e10e4226db3df27223
rrowKeyMovementMethod.java
ouch.java
c982f60e982c1d2df9f115ed9a5c3ef3643d0892 25-May-2010 Doug Felt <dougfelt@google.com> Fix alignment issues with RTL paragraphs.

Also remove unused debugging code that depends on junit.
Remove trailing whitespace in changed code.

Change-Id: Ie02d1b8220c599a672ee6e91af0fba634e0f620c
ouch.java
16197a246fdeff0167f9abdc6a3da5d83759993d 05-Apr-2010 Kenny Root <kroot@google.com> am 0db37997: Merge "Revert to previous text selection behavior" into froyo

Merge commit '0db37997366a4d781af48be758a9d90b6d07d7d5' into froyo-plus-aosp

* commit '0db37997366a4d781af48be758a9d90b6d07d7d5':
Revert to previous text selection behavior
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
rrowKeyMovementMethod.java
8de2cf4cce9ae2e121fccb4732fd23c64aace102 31-Mar-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I627b3a7080e413f756d1751cdae88ec6642b02c4
8082d5d9ebe29d8cb9755a64e05f4cf89b1cea5c 18-Mar-2010 Devin Taylor <devin.taylor@garmin.com> Fix last character of password field being visible after rotation

This is a fix for http://code.google.com/p/android/issues/detail?id=907. Note that
that issue was declined without comment, but the bug (while incredibly minor)
does exist. This can be seen on the facebook app, as well as many third party apps.

Change-Id: I8f1449c47228f5f757a5baf389656e51c817b150
asswordTransformationMethod.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
rrowKeyMovementMethod.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.
rrowKeyMovementMethod.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.
rrowKeyMovementMethod.java
ouch.java
7c42703082574638ecaa88ea18b0cc94bfabea2d 07-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9088d29b into eclair-mr2

* changes:
Improves the touch-based text selection UI in text boxes.
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.
rrowKeyMovementMethod.java
27d377221c7970a5205c83f8a9f62f755dc1fa5d 02-Dec-2009 Dianne Hackborn <hackbod@google.com> Some work on issue #2286804: sometimes text field doesn't accept input

This doesn't really fix the problem being brought up here, but fixes a
related issue I found while investigating it -- if you tap a text view
enough to cause it to try to scroll, this will cause the touch to become
a scroll instead of a click, even if there is nothing to scroll. So
often quick taps to bring up the IME would be canceled because they
became a non-scroll.

Unfortuntately after syncing the latest build, I was having a lot of
trouble reproducing the original problem. I think I need to punt it to
MR2 at this point.

Change-Id: If1f0bf33de1b4d71c9f677cdad07639b7a3fb772
ouch.java
d7c432bf7f9c0c9dd6d954fffcd68828c0e309a5 18-Nov-2009 Eric Fischer <enf@google.com> Add vertical bar to the alt-space character picker for the hardware keyboard.

Bug 2242177

Approver: jerryw
wertyKeyListener.java
ec1f8a2ecedb4904ca93bce14b4e1e033539fa55 01-Oct-2009 Eric Fischer <enf@google.com> Add Turkish accented letters for G and S on the hard keyboard.

Bug 2158331
wertyKeyListener.java
eaa18dec91b6dd0ce3191a9ab65cdc95ef68b935 28-Sep-2009 Cary Clark <cary@android.com> scroll text field with touch

Add a hidden public method to text/method/Touch.java that
computes the maximum scroll amount for a text field.

Remove 'faketouch' code; it causes a crash and is
no longer required.

Pass the percentage of the current scroll from the UI
thread to webkit. One additional fix is to allow very
small movements which are currently disallowed because
they are smaller than 'smallerSlop' in WebTextView.java.

Companion fix is in external/webkit.

Fixes http://b/issue?id=2133049
ouch.java
cebe347e7ff99c593a0136ae8bcb3cadab7d77b6 17-Sep-2009 Eric Fischer <enf@google.com> Add one more hardware keyboard character popup: \ if you hold /
wertyKeyListener.java
4ef29959bda59ae5f90aeeb48a8ef7e218500d03 16-Sep-2009 Eric Fischer <enf@google.com> Reconcile the character popups for the hard and soft keyboards.

Have the hardware keyboard popups for digits and symbols include
all the same characters as the soft keyboard has for those keys.

Bug 2056195
wertyKeyListener.java
38d838d3aef5716c72936b3c0573bc5d4135c02c 08-Sep-2009 Amith Yamasani <yamasani@google.com> Make the hardkeyboard long press dialog look the same as that of soft keyboard.

New assets for transparent buttons and background.
haracterPickerDialog.java
f16da4555fbfbf9a92373dd2236f1f30b7f451e6 13-Aug-2009 Eric Fischer <enf@google.com> Add brackets, braces, and backslash to alt-space character entry popup.

Bug 2024806
wertyKeyListener.java
a6e50454890629fe369538d8e473945bc9d68136 25-Jul-2009 Eric Fischer <enf@google.com> When you double-tap a word in an EditText, select the word.

Bug 1978109
rrowKeyMovementMethod.java
58b971d733a2c700cabd3db02b6ea4d5faca6939 01-Jul-2009 Eric Fischer <enf@google.com> Always clear the TextView drag state whenever a touch begins.

Apparently it can sometimes miss a touch release, which would prevent
the longpress menu from appearing if the location of the new touch was
too far from the location of the previous touch.

Bug 1673223
ouch.java
dda5391d5079537e275c9f4ed2637a1484d0e4e8 29-May-2009 Wink Saville <wink@google.com> Motorola additions for CDMA support without CdmaSuppConnTracker

There are corresponding changes to hardware/ril and packages/apps/Phone
that are required to go with these changes.
ialerKeyListener.java
65b8acad5fd6d6e5a49413574dae356dee41d4a5 31-Mar-2009 Eric Fischer <> AI 143669: am: CL 143495 Add more accented letters to the character picker.
The hardware keyboard doesn't have all the accents needed for
Czech and Polish, so round out the selection.
Original author: enf
Merged from: //branches/cupcake/...

Automated import of CL 143669
wertyKeyListener.java
38e98fccfab9592f871f3066f8569c559f1ee226 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/donutburger/...@140714,140714
rrowKeyMovementMethod.java
ouch.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
wertyKeyListener.java
b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
rrowKeyMovementMethod.java
etaKeyKeyListener.java
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
rrowKeyMovementMethod.java
wertyKeyListener.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
rrowKeyMovementMethod.java
aseKeyListener.java
haracterPickerDialog.java
ateKeyListener.java
ateTimeKeyListener.java
ialerKeyListener.java
igitsKeyListener.java
ideReturnsTransformationMethod.java
eyListener.java
inkMovementMethod.java
etaKeyKeyListener.java
ovementMethod.java
ultiTapKeyListener.java
umberKeyListener.java
asswordTransformationMethod.java
wertyKeyListener.java
eplacementTransformationMethod.java
crollingMovementMethod.java
ingleLineTransformationMethod.java
extKeyListener.java
imeKeyListener.java
ouch.java
ransformationMethod.java
ackage.html
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
rrowKeyMovementMethod.java
aseKeyListener.java
haracterPickerDialog.java
ateKeyListener.java
ateTimeKeyListener.java
ialerKeyListener.java
igitsKeyListener.java
ideReturnsTransformationMethod.java
eyListener.java
inkMovementMethod.java
etaKeyKeyListener.java
ovementMethod.java
ultiTapKeyListener.java
umberKeyListener.java
asswordTransformationMethod.java
wertyKeyListener.java
eplacementTransformationMethod.java
crollingMovementMethod.java
ingleLineTransformationMethod.java
extKeyListener.java
imeKeyListener.java
ouch.java
ransformationMethod.java
ackage.html
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
umberKeyListener.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
umberKeyListener.java
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
rrowKeyMovementMethod.java
etaKeyKeyListener.java
asswordTransformationMethod.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
rrowKeyMovementMethod.java
aseKeyListener.java
eyListener.java
inkMovementMethod.java
etaKeyKeyListener.java
ovementMethod.java
umberKeyListener.java
asswordTransformationMethod.java
wertyKeyListener.java
crollingMovementMethod.java
ingleLineTransformationMethod.java
extKeyListener.java
ouch.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
rrowKeyMovementMethod.java
etaKeyKeyListener.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
rrowKeyMovementMethod.java
aseKeyListener.java
haracterPickerDialog.java
ateKeyListener.java
ateTimeKeyListener.java
ialerKeyListener.java
igitsKeyListener.java
eyListener.java
etaKeyKeyListener.java
ultiTapKeyListener.java
wertyKeyListener.java
crollingMovementMethod.java
extKeyListener.java
imeKeyListener.java
ouch.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
rrowKeyMovementMethod.java
aseKeyListener.java
haracterPickerDialog.java
ateKeyListener.java
ateTimeKeyListener.java
ialerKeyListener.java
igitsKeyListener.java
ideReturnsTransformationMethod.java
eyListener.java
inkMovementMethod.java
etaKeyKeyListener.java
ovementMethod.java
ultiTapKeyListener.java
umberKeyListener.java
asswordTransformationMethod.java
wertyKeyListener.java
eplacementTransformationMethod.java
crollingMovementMethod.java
ingleLineTransformationMethod.java
extKeyListener.java
imeKeyListener.java
ouch.java
ransformationMethod.java
ackage.html