History log of /frameworks/base/core/java/android/widget/Editor.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b9b77aecf22307300bbf923fbde39422c8c12e80 14-Oct-2013 Victoria Lease <violets@google.com> no layout = no visibility

This fixes an Editor crash when the associated TextView's Layout
is null.

Bug: 11165608
Change-Id: I061c0db6eef95bf39a7696ad6e6f919bd22bfb11
/frameworks/base/core/java/android/widget/Editor.java
0995398e734bd66ee04b60939ec7c74548148952 12-Sep-2013 Jean Chalard <jchalard@google.com> Don't change the text in reaction to a user dict add

This is a confusing interface. The user should be able
to edit the word in the dialog, and the text should be
unchanged.

Bug: 9902905
Change-Id: I24e93df37583f6051046fd6a84a4cbb10d99c046
/frameworks/base/core/java/android/widget/Editor.java
d7429c15e6f4dd9a43b81d94a1bbf65b17d46a16 05-Jun-2013 Satoshi Kataoka <satok@google.com> Fix an issue where "SuggestionSpan"s are not removed properly

Basically, the root cause of this issue is a lack of an expected implementation.
This change completes the spec of the architecture to remove modified "SuggestionSpan"s.

Bug: 9190860
Change-Id: I63f2ccf3407ae7c1bc28813e044b8703e2112f34
/frameworks/base/core/java/android/widget/Editor.java
3aa49b6fece334ace7525d42c1f6d0b7cdc1fbfb 27-Apr-2013 Dianne Hackborn <hackbod@google.com> New UndoManager.

Basic implementation of an undo manager. Supports
multi-level undo/redo, building on the top undo state
as edits occur, managing multiple distinct entities in
the undo state (such as embedded objects in a document),
and saving/restoring the full undo state. Still some
work remaining on correctly dealing with dependencies
between undo states that hold multiple owners.

Also do a simple implementation of undo state in TextView
to see how things actually work. The implementation here
is very primitive: it needs a lot more work to correctly
identify when to merge undo ops, is not trying to do
anything smart with style spans, etc.

Change-Id: Ie30f4e133351e2f569ffb48c6c44a2b19cadee27
/frameworks/base/core/java/android/widget/Editor.java
684634144b15e4da0ed04baa2c4531ef538652a6 21-Apr-2013 Chet Haase <chet@google.com> am 371d4ccc: am 339ac854: Merge "Fix quickReject logic to account for setClipChildren() setting" into jb-mr2-dev

* commit '371d4cccde56ec4d26e51f8e82ef68f196169a3d':
Fix quickReject logic to account for setClipChildren() setting
dd671599bed9d3ca28e2c744e8c224e1e15bc914 19-Apr-2013 Chet Haase <chet@google.com> Fix quickReject logic to account for setClipChildren() setting

The rendering code optimizes by rejecting drawing operations that
lie outside of the bounds of their views. This works in most
situations, but breaks down when containers have called
setClipChildren(false), because we reject drawing that is outside
of that container, but which should be drawn anyway.

Fix is to pass in the value of that flag to the DisplayList drawing
routines which take that flag into account when deciding whether
to quickReject any particular operation.

Issue #8659277 animation clipping

Change-Id: Ief568e4db01b533a97b3c5ea5ad777c03c0eea71
/frameworks/base/core/java/android/widget/Editor.java
0d84e725667315fc9ccb70b93b26ba40b7653285 19-Mar-2013 Fabrice Di Meglio <fdimeglio@google.com> am 430058f2: am 2d18e52b: Merge "Fix bug #8335710 TextView can\'t clear CompoundDrawables" into jb-mr2-dev

* commit '430058f2699041e86d7c0e50cad1fa6989d08cab':
Fix bug #8335710 TextView can't clear CompoundDrawables
f7a5cdfac62cf2335f192581ca299d241d83e195 15-Mar-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #8335710 TextView can't clear CompoundDrawables

- fix start/override mechanism
- take care of RTL compatibility mode (pre JB-MR1)
- fix where reset of drawables resolution needs to happen

Change-Id: I55a69487a0eedee14c4be7006ee0abad085200ad
/frameworks/base/core/java/android/widget/Editor.java
c99d33fb4dcf332b66281a0a6a31710407fc829d 01-Mar-2013 Jean Chalard <jchalard@google.com> Actually change the place where updateSelection is called

Call updateSelection in endBatchEdit instead of onDraw.
This works because all edits go through a batch edit,
which is already the case although the next change will
enforce it going forward.
This is step 3 of a four-step refactoring.

Bug: 8000119
Change-Id: Ia5e257382e2ef2168726bf3d9c7c84f9379ba376
/frameworks/base/core/java/android/widget/Editor.java
baf3094ecaa073e1cb3e807fa17d096f826c3968 01-Mar-2013 Jean Chalard <jchalard@google.com> Add a SpanWatcher to catch programmatic selection changes

When the selection is set via Selection#setSelection, the
Editor needs to know so that it can call back to a bound
IME, if any. This adds a watcher to catch these events.
This is step 2 of a four-step refactoring.

Bug: 8000119
Change-Id: Ia01aee853d5cafb4820fd234bc24b587ad3f7dd0
/frameworks/base/core/java/android/widget/Editor.java
df7c72f68c2fe32546aa119e98be9acf8fffd66d 01-Mar-2013 Jean Chalard <jchalard@google.com> Initial refactoring to move updateSelection to a better place

This is step 1 of a four-step change which will move where
updateSelection is called in regular text fields. The new
behavior will be to call it for each actual batch of
changes, instead of doing it in the render loop which leads
to both false positives and true negatives.

Bug: 8000119

Change-Id: I17bd91a129b18d5451fe1d8e7794ae20165de309
/frameworks/base/core/java/android/widget/Editor.java
1b15ba5d194c1db71d0a34ee110bd1ab169c8a29 20-Feb-2013 Luca Zanolin <zano@google.com> Resubmitting "Enable correction/deleting notification via EasyEditSpan.""

Re-run "make update-api"

Original CL Ic227b8fd50066699915f69a54f225fb5330867c4

Change-Id: Ifb1a0f61801c544b01193435fbfdedd7f3888971
/frameworks/base/core/java/android/widget/Editor.java
1b916301e044d1f6f672c9708c993090ecdf30cf 20-Feb-2013 Luca Zanolin <zano@google.com> Revert "Enable correction/deleting notification via EasyEditSpan."

This reverts commit 8cd8135b95da5b471804604b06084eecbe1cc23b

Change-Id: I6361cc47d58281ab37cb9ae0a67541b43f873147
/frameworks/base/core/java/android/widget/Editor.java
8cd8135b95da5b471804604b06084eecbe1cc23b 14-Feb-2013 Luca Zanolin <zano@google.com> Enable correction/deleting notification via EasyEditSpan.

When the "delete" pop-up is clicked (and the wrapped text removed), the
creator of the span will receive a notification of the action.

Similarly, if the user modifies (i.e., add/remove a char), the creator of
the span will receive a notification too. The notification will not contain any
information about how the text has been modified.


Bug: 6905960
Change-Id: Ic227b8fd50066699915f69a54f225fb5330867c4
/frameworks/base/core/java/android/widget/Editor.java
52036b19a5f82bc4d75cfcbff99c65df8d25a99b 15-Feb-2013 Romain Guy <romainguy@google.com> Expose display list APIs

The exposed APIs are slightly simpler than the full APIs used internally.
Only APIs useful to applications are exposed.

Change-Id: Ie03014628d40ad5ef63dedbc52ce3def84429d54
/frameworks/base/core/java/android/widget/Editor.java
9122187fca67c7509ba2a040b602f67928fc9a98 28-Jan-2013 Adam Powell <adamp@android.com> am bb74d8b9: am 783fe429: am e305e5f6: Merge "show SELECT ALL icon with text in landscape mode"

# By Sungmin Choi
# Via Android Git Automerger (2) and others
* commit 'bb74d8b9f632bdda2f5639a9516a83f58374b936':
show SELECT ALL icon with text in landscape mode
783fe4295372cee8d024388221414c253802c995 28-Jan-2013 Adam Powell <adamp@android.com> am e305e5f6: Merge "show SELECT ALL icon with text in landscape mode"

# By Sungmin Choi
# Via Gerrit Code Review (1) and Sungmin Choi (1)
* commit 'e305e5f68df8338cb3c4bdcf099d23ec9abce564':
show SELECT ALL icon with text in landscape mode
f036920669f933c05ac43a8e0ea6cb1a4e35275a 25-Jan-2013 Sungmin Choi <sungmin.choi@lge.com> show SELECT ALL icon with text in landscape mode

Though set config_allowActionMenuItemTextWithIcon as true,
icon for the "SELECT ALL" menu on ActionBar is not shown as staring
in landscape mode.
To fix it, use "SELECT ALL" icon in onCreateActionMode() to show the
icon and text together.

To show or hide text is decided by updateTextButtonVisibility() of
core/java/com/android/internal/view/menu/ActionMenuItemView.java

STEPS TO REPRODUCE: (please be specific)
1. launch Browser/Chrome and go to google.com
2. rotate to landscape mode
3. long press on URL address

Bug: 8073761
Change-Id: Ie0e0aa45f0dff609ed8c03e4423b163bad5452ed
/frameworks/base/core/java/android/widget/Editor.java
955beb2b96a78cf6ee990d0f20bcaf2d22ce608b 10-Dec-2012 Sangkyu Lee <sk82.lee@lge.com> Optimize drawHardwareAccelerated method in Editor class

When inserting a new line or breaking a line,
every display list was invalidated and rebuilt before.
However, we can reuse the display lists above intactly and also
reuse the display lists below with only updating drawing locations.

This patch reuses the display lists if possible.
The display lists above the inserted line are just reused
and the display lists below are reused with only updating
drawing locations not fullly rebuilt.

mIndexOfFirstChangedBlock is the index of the first block
which is moved by inserting or breaking a line.
So the display list whose index is >= mIndexOfFirstChangedBlock
only needs to update its drawing location.

Change-Id: Ica20deb0ebb5750de21356ed31fa9f86e657ff92
Signed-off-by: Sangkyu Lee <sk82.lee@lge.com>
/frameworks/base/core/java/android/widget/Editor.java
afe8e9b6d033cb854afa3024d8198a32896a804a 20-Dec-2012 Raph Levien <raph@google.com> Suppress horizontal scrolling with trailing blanks

The existing behavior of EditText is that trailing blanks can cause a
line to exceed the layout width, causing the cursor to extend past the
line, which in turn causes horizontal scrolling. This patch clamps the
cursor to the layout width in the non-scrolling case, which makes the
spaces effectively invisible when they're at the end of the line, but at
least suppresses the scrolling.

The clamping only works reliably in left-to-right alignments, so this
patch checks for than and only enables the clamping in those cases.

Fix for bug 7699295.

Change-Id: I22bc4e6c9ded3d7716edfcf10dd2b5c31a5da9de
/frameworks/base/core/java/android/widget/Editor.java
ab989ac313a996280aec61183636e3fb9ac21d9d 17-Dec-2012 Sascha Prueter <saschap@google.com> am 8149820c: am 25458528: am dd2ed93e: Merge "Handle "CODE_ALREADY_PRESENT" message from Settings app" into jb-mr1.1-dev

* commit '8149820c2b2df47028498571785ca009d99b5dc9':
Handle "CODE_ALREADY_PRESENT" message from Settings app
6bad2f2fefc44830e6e7019886a6fde42bec7223 17-Dec-2012 satok <satok@google.com> Handle "CODE_ALREADY_PRESENT" message from Settings app

Bug: 7725834
Change-Id: I85c35e73978d606edf9687e2de76c6ffc3c3ee2b
/frameworks/base/core/java/android/widget/Editor.java
40efbd40606fc31863d3de90f062db431ba7fb47 14-Dec-2012 Mike Cleron <mcleron@google.com> am 323bb07f: am a5a4eb0f: am 6b922cc6: Merge "Receive a user dictionary callback from Settings application" into jb-mr1.1-dev

* commit '323bb07f762e5373f90e758a1146b93a3c31fe17':
Receive a user dictionary callback from Settings application
0e3849af4775debf376317d70450e70976825f6d 13-Dec-2012 Satoshi Kataoka <satok@google.com> Receive a user dictionary callback from Settings application

Bug: 7725834

The callback is sent when the user adds a word to the user dictionary.

Change-Id: Ieee9bfd50a9adbed1a769e3cd95d9cb2815c34b4
/frameworks/base/core/java/android/widget/Editor.java
742524b2169b5b5726e7b27fcd1673dabca62099 20-Nov-2012 Fabrice Di Meglio <fdimeglio@google.com> am 3ee47400: am 95263ef3: am 4d931acd: Merge "Fix for bug #7417949 TextView / EditText error Drawable is not put on the left in RTL mode" into jb-mr1.1-dev

* commit '3ee4740009b0e217ee0f6de0f86f2f557b175dea':
Fix for bug #7417949 TextView / EditText error Drawable is not put on the left in RTL mode
bb0cbae441f04c052dd1a73448ae58fbffaca65d 14-Nov-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix for bug #7417949 TextView / EditText error Drawable is not put on the left in RTL mode

- keep the Error Drawable infos into the Drawables cache
- reset left/right Drawable state before resolving where to put the Error Drawable
- get the mirrored Drawable for the Error popup background
- set the Error popup position depending on the layout direction (so that the "triangle"
of the background is pointing to the middle of the Error icon)

One restriction: we load the Error popup background Drawable corresponding to the layout
direction of the System Locale. So if you set the Layout direction on a TextView (or
an EditText) to RTL and set an error to it when you are in a RTL System Locale, then you
see that the background "triangle" is not pointing to the Error icon. This is working as
intended as the AssetManager load the Drawable resource depending on the configuration
which is in that case the RTL one thus loading the RTL version of the background (and not
the LTR one).

Thus there can be a discrepancy between the "layout direction" of the TextView
and the one from the Error popup background. This would happen only thru using the SDK and
not in a normal case when running an App.

Change-Id: I91bbfbe46ac20efe0e585c5d4c766db23b5c709d
/frameworks/base/core/java/android/widget/Editor.java
7a12433390470ce8ae1eda2ed7578f513abc75ad 13-Nov-2012 Fabrice Di Meglio <fdimeglio@google.com> am bb67d486: am a97f5b8c: am 9d82d324: Merge "Fix bug #7457897 Error icons are not shown in credit card entry form" into jb-mr1.1-dev

* commit 'bb67d48606afdeb34fc488fb16f18c136eb49ec8':
Fix bug #7457897 Error icons are not shown in credit card entry form
5acc379c5488e846093efd2347d408069509830a 12-Nov-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7457897 Error icons are not shown in credit card entry form

- fix regression: the error icon was no more showing is the widget was not focused

Change-Id: I24cc00a0cb79d38e365d413f9820b5a6981de4f4
/frameworks/base/core/java/android/widget/Editor.java
18d9a269411a5ac1431cb86949b101987ae3242e 08-Nov-2012 Romain Guy <romainguy@google.com> am a965fc5e: am b37e5d75: am 7b9b41c1: am 1b3b2544: Merge "Dismiss error icon on setError(null) [regression] Bug #7442935" into jb-mr1-dev

* commit 'a965fc5e8f0c84cbeeaae7006eddbaf3bba64586':
Dismiss error icon on setError(null) [regression] Bug #7442935
d1cc1878cc7a07c794feec51c840fd566f59d523 06-Nov-2012 Romain Guy <romainguy@google.com> Dismiss error icon on setError(null) [regression]
Bug #7442935

Change-Id: I783d868173637007be326e20795cbb4cb8c7b899
/frameworks/base/core/java/android/widget/Editor.java
5fc949d0ae051f05437858d911ebf12d3a6fbead 02-Nov-2012 Raph Levien <raph@google.com> am e5a4e92f: am fd06d34c: am d9134e7a: Merge "Revert partial RTL\'ization of Editor.setError()" into jb-mr1-dev

* commit 'e5a4e92f175e7a776ba4703a09b68de562060e1f':
Revert partial RTL'ization of Editor.setError()
f58f1b9d41a5cfc2614b836417b7fee7e6d241b6 02-Nov-2012 Raph Levien <raph@google.com> Revert partial RTL'ization of Editor.setError()

The conversion of the error indication on Editor to RTL-aware was only
partially completed, and was causing bugs such as an error indication
failing to appear when set (bug 7457897).

This patch reverts these changes and just always sets the error drawable
on the right. This fixes the above bug, and also makes the error
drawable position always consistent with the error popup (before, in an
RTL layout direction, the popup would be on the right and the drawable
on the left).

Making the error display fully RTL-aware should be done as future work.

Change-Id: Icaee91210454ed9056e7200520d9275303de02ca
/frameworks/base/core/java/android/widget/Editor.java
46e62fe39874abf2a9bdfab7635df98011c03cd1 30-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> am 024e70c8: am dd80335e: am 07ce0ca2: Merge "Fix bug #7419054 TextView Drawables resolution is broken in RTL mode" into jb-mr1-dev

* commit '024e70c8156a0fa2d702ff2fba4a38c1f6b68f98':
Fix bug #7419054 TextView Drawables resolution is broken in RTL mode
1957d281ea123e4925e51fa5ad22ce239ef2a07d 26-Oct-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7419054 TextView Drawables resolution is broken in RTL mode

- check layout direction previous value in the onResolveDrawables(int) callback
- dont do any Drawables resolution if we cannot resolve the layout direction
- also remove unnecessary call to resolveRtlPropertiesIfNeeded() in ViewGroup when
adding a child as the call to resolveRtlPropertiesIfNeeded() will be done into
the measure() call itself later

Change-Id: I62237af3d307dfea203f7f2865551d1c61a0e0b8
/frameworks/base/core/java/android/widget/Editor.java
5d96964fb5ec8125b984ba84e2f9acb4a9255f0d 03-Oct-2012 Raph Levien <raph@google.com> am 11541338: am e9b175b7: am 484de9db: Merge "Fix for bug 6954231 text wraps on second line and is fused..." into jb-mr1-dev

* commit '11541338c5c0db1181107aef8f96c398d8445fd4':
Fix for bug 6954231 text wraps on second line and is fused...
6b558994d4ea8dfa1967f96e272496a7d2b8972a 03-Oct-2012 Raph Levien <raph@google.com> Fix for bug 6954231 text wraps on second line and is fused...

When breaking a line, the paragraphs below the new line break were still
being drawn in their old location. This only happened when the height
was fill_parent, otherwise the height change would force a relayout,
which in turn would do a full invalidation.

This patch checks for changes to the layout height (not just the widget
height, which won't change when it's fill_parent), and invalidates.

Change-Id: I64adb9f5eae0479c1c9c8d37c10c2c27a6f582a8
/frameworks/base/core/java/android/widget/Editor.java
525926078b5f4b9eeceb21662cdebe763f4c5b45 24-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> am 72d65718: am 239e4305: Merge "Fix bug #6427629 Clean up layout direction APIs" into jb-mr1-dev

* commit '72d657182312c7bac049b3ed94a4658c3935ae28':
Fix bug #6427629 Clean up layout direction APIs
e56ffdc7b31b0937628609cc3bbaa15879023569 23-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6427629 Clean up layout direction APIs

- rename getResolvedLayoutDirection() to getLayoutDirection()

Change-Id: I3afe56c0db0751952f5056c23893cb7455531d29
/frameworks/base/core/java/android/widget/Editor.java
b19f313e259eea7f10753cf69f10950ec45155ca 18-Sep-2012 Victoria Lease <violets@google.com> am 976ed471: am d6991106: Merge "Avert crash when dragging text in same TextView" into jb-mr1-dev

* commit '976ed4711ef5fc943ad94a8cbb251cd5feb34cde':
Avert crash when dragging text in same TextView
91373209da02813ed760d9ea201d6f917e2a1fc1 08-Sep-2012 Victoria Lease <violets@google.com> Avert crash when dragging text in same TextView

The previous implementation made liberal assumptions about the size
of the string being edited, as well as the position of the substring
being dragged. Explicitly checking those assumptions fixes our
IndexOutOfBoundsException.

Bug: 7129392
Change-Id: I32560cf87fbbe703a8b26c7eb2a64c8f8c0bfcf1
/frameworks/base/core/java/android/widget/Editor.java
0c96b81f8e843b8d6e8c21218fb468f1897b999b 29-Aug-2012 Luca Zanolin <zano@google.com> Relax suggestion notification.

Before the suggestion selection were notified only when they were added by
an IME. This CL relaxes this constrain, and the suggestion are notified
even if they are added by an application.

If the context is null and the package name of the apk cannot be determined,
the suggestion are notified using the old method via the Input Method Manager.
This is required to keep the backward compatibility.

Bug: 6905960
Change-Id: If225ef27cded386809fbd899e34e32aced4e0473
/frameworks/base/core/java/android/widget/Editor.java
58cf576243d17b34c0bd3e0aead48cae00c089c0 02-Jul-2012 Gilles Debunne <debunne@google.com> Merge "UI changes in suggestion menu"
1daba18747782588ee7f486d0ba4033438429302 26-Jun-2012 Gilles Debunne <debunne@google.com> UI changes in suggestion menu

Icons removed for delete and add to dictionary.
Words capitalized (in English only)
Changed background color to white for words.

Note that due to a bug in the interaction between listView and
popup window, setting a background to the TextViews paints a
solid rectangle, which hides the rounded corners defined in
the popup window background.

Bug 6712892

Change-Id: Id5bb429463e2debc5e30d571c34426dfa82119d4
/frameworks/base/core/java/android/widget/Editor.java
c72fba82a68992fe5bec05e4415ae98deaa66ea3 26-Jun-2012 Gilles Debunne <debunne@google.com> Ensure batch edit mode is ended on window focus loss

This is a translation of this open source contribution:
https://android-review.googlesource.com/38503

Change-Id: I4d3adf89d0752e6fd5ec2cdad3a54d4e764a1fe7
/frameworks/base/core/java/android/widget/Editor.java
0ed59fae6fc85c2c4a223d3be88b79cf797908ab 30-May-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6567507 [Bidi] - Cursor is sometimes not visible on EditText

- take the hint layout primary horizontal offset if needed

Change-Id: Ib5c4dd990278e1fd8bb9ba4f4b6940a62dba91e3
/frameworks/base/core/java/android/widget/Editor.java
057a585fba01d92c38f27a8c080622dfd0c6f556 11-May-2012 Adam Powell <adamp@google.com> Automatic persistent text selection for ListViews

Use View transient state tracking to allow selection to persist across
ListView-style item view recycling.

Fix some bugs with transient state tracking.

Bug 6110122

Change-Id: Ic084b8fc2289bff718b19478a37ce64459b3ed4c
/frameworks/base/core/java/android/widget/Editor.java
fd5bc01f70c8d9270162d38bb9f675308b5a19b0 24-Apr-2012 Gilles Debunne <debunne@google.com> Better horizontal internal scroll handling in Text.

Bug 6378843

Corrects CL 183460, which would clip text with a width greater than
twice the TextView's width.

Internal horizontal translation is now handled in a similar way to
vertical scrolling.

Internal scrolling is indeed handled by the TextView, which translates
the canvas and sets the clipping bounds accordingly.

When drawing the internal DL, we tighten the horizontal bounds like we
did for the vertical bounds using top and bottom. As in Touch.java, we
use the getHorizontallyScrolling() method to know if we indeed have to
measure the actual text width. If there is no horizontal scrolling we
use the TextView's width as a safe upper estimate in order to avoid an
actual computation. Note that horizontal scrolling is typically only
used for long single-lined text, so that the measurement loop is quick.

As a result, the internal DLs represent the entire text, and there is no
need to invalidate them when an internal scrolling takes place. This
behavior replaces the draw-only-what-is-needed we had before, but is
more consistent with what we do for long texts inside of a ScrollView
with no noticeable performance change, even on very long text.

Change-Id: I47c24c0ae988547d4f1e9f87d136225c93a3056d
/frameworks/base/core/java/android/widget/Editor.java
0b7d747e900dd9e6e6f62f10772c2dded9b9d0c6 24-Apr-2012 Gilles Debunne <debunne@google.com> Merge "Editor uses a SpanWatcher to track EasyEditSpans"
8b482446683e4908e6a71da42301291a0a399932 24-Apr-2012 Gilles Debunne <debunne@google.com> Merge "Centered text is not updated"
c62589cbecef6e748bcc6c6f4ea6a8ff7656923f 12-Apr-2012 Gilles Debunne <debunne@google.com> Editor uses a SpanWatcher to track EasyEditSpans

Will also fix Bug 6344997

The previous TextWatcher mechanism was inneficient. It require an
expensive getSpans() call to retrieve all the spans and then search
for the one we're interested in in case it has been changed.

The SpanWatcher is faster, it will broadcast the add/changed/removed
events we're interested in.

Now that we can rely on SpanWatcher, use it to directly track
addition and removals of EasyEditSpans.

No unit test for this feature which require an integration with
the voice IME. Easy to test manually though.

Change-Id: Idabcacc48c479bf9868d5204c0b0ca709207ede2
/frameworks/base/core/java/android/widget/Editor.java
fb9f5be318e4f530eff9964702cfb655a6433f00 24-Apr-2012 Gilles Debunne <debunne@google.com> Centered text is not updated

Bug 6378843

Emergency fix. May submit a proper fix with less translations later.

Change-Id: I9d8348e29d5436580202d3ee0456d341bf81dab8
/frameworks/base/core/java/android/widget/Editor.java
b983e27af47b6a3a6b13af0d3dd64b163f540efd 24-Apr-2012 Gilles Debunne <debunne@google.com> Merge "Re-added a flag to prevent the IME from showing"
1271e2cc80b01d577e9db339459ef0222bb9320d 20-Apr-2012 Chet Haase <chet@google.com> Remove USE_DISPLAY_LIST_PROPERTIES flag

This flag was still hanging around pending any need to disable
DisplayList properties. But things seem stable, so it's time to clean up
and simplify the code.

At the same time, I reduced redundance in DisplayList dimensions. We
used to call drawDisplayList() with width/height parameters that were
used to do a clip reject. This is redundant with the DisplayList properties
that set the bounds of the DisplayList; the left/right and top/bottom properties
represent the same width/height properties formerly used in drawDisplayList().
The new approach is to not pass dimensions to drawDisplayList(), but to
instead pull those dimensions directly from the DisplayList when needed.

Change-Id: I8871beff03b1d4be95f7c6e079c31a71d31e0c56
/frameworks/base/core/java/android/widget/Editor.java
de09576f4910f36f63275683870a067054d51428 23-Apr-2012 Gilles Debunne <debunne@google.com> Merge "Cursor is moved at end of word when it is added to dictionary"
3473b2b1f495f0f5a31e7ed687557c423c63abff 21-Apr-2012 Gilles Debunne <debunne@google.com> Re-added a flag to prevent the IME from showing

Revert of CL 161404

This flag will be used by the dialer. It prevents any IME from
showing as a result of a focus given to a TextView through a tap
or a D-Pad click.

Change-Id: Ifa5bfcbff124b300780f76dea443d26cf172f5e3
/frameworks/base/core/java/android/widget/Editor.java
ebc86af1dc186c77f723c8970951e8ff00b4866b 21-Apr-2012 Gilles Debunne <debunne@google.com> Visible spans changes only invalidate the affected text sub display lists

When a span with a visible influence on the text is modified, we only
need to invalidate the text sub display lists that overlap this span.

This is especially useful when typing and the composing span (an underline
span) gets updated after each key stroke.

Change-Id: Ib2af3219c41eb79ec5d0a2eee317aca8c4efdef9
/frameworks/base/core/java/android/widget/Editor.java
2eb70fb257623de7d32e8c1a878f4c03b71846d1 19-Apr-2012 Gilles Debunne <debunne@google.com> Cursor is moved at end of word when it is added to dictionary

Bug 6355904

Change-Id: Ib56b719d0c3001ce975bccf8dd80c138bffc24cc
/frameworks/base/core/java/android/widget/Editor.java
157aafcbee0eabda798a3be406ccc4200ee86756 20-Apr-2012 Gilles Debunne <debunne@google.com> TextView's sub display lists have tighten bounds

An editable TextView caches text rendering inside an adaptive
number of sub display lists. The bounds of these use to be those
of the entire View.

This CL creates block display lists with tighten bounds, so that
(a still-to-be-implemented) quick rejection can occur.

Also cleaned-up the contradictory translations that were used to
handle the TextView's internal scroll and removed the invalidation
of display lists in that case.

TODO: When internal scroll sets a tighter clipping rect, quick
reject the creation and display of the clipped display lists.

Also renamed blockEnds to a more explicit blockEndLines.

Change-Id: I7d79bea78d06d19b6935aef75ff7aa7df2594050
/frameworks/base/core/java/android/widget/Editor.java
acb69bb909d098cea284df47d794c17171d84c91 14-Apr-2012 Dianne Hackborn <hackbod@google.com> Add direct support for HTML formatted text in ClipData etc.

When using the clipboard, ACTION_SEND, etc., you can now supply
HTML formatted text as one of the representations. This is exposed
as a set of methods on ClipData for building items with HTML
formatted text, and retrieving and coercing to HTML (and styled)
text. In addtion, there is a new EXTRA_HTML_TEXT for interoperating
with the old ACTION_SEND protocol.

Change-Id: I8846520a480c8a5f829ec1e693aeebd425ac170d
/frameworks/base/core/java/android/widget/Editor.java
cfbf0e0296acd4c3451591ec4b241e393fb9bd8a 04-Apr-2012 Gilles Debunne <debunne@google.com> Removed spurious log about blinking cursor

Change-Id: I940c3847bb6e461178575480c82e7dd6739277cf
/frameworks/base/core/java/android/widget/Editor.java
d88876a72f9ceebd2c93eb9ba1be4bcff971e754 17-Mar-2012 Gilles Debunne <debunne@google.com> Extracted text editing logic in a separate class

Editor specific method and fields are extracted to a dedicated Editor class.

Some private fields and methods had to be made package private so that the
Editor can see them. No change in the public API.

Other changes in this CL:
- The Blink class no longer has a WeakReference to the TextView
- EasyEditSpanController is no longer a field of ChangeWatcher.

Future work:
remove the getEditor() method in TextView and
clean whitespaces and indentation.
remove the EasyEditSpanController as a change watcher, fix spanWatcher

Change-Id: I1fbe0176b6bd27d90f556dc3a90469367f77437c
/frameworks/base/core/java/android/widget/Editor.java