955d8d69ea6caabce1461dc25b339b9bf9dc61a6 |
|
08-Oct-2014 |
Dianne Hackborn <hackbod@google.com> |
Put in real "code" (aka marketing) name. Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
/frameworks/base/core/java/android/widget/Editor.java
|
5a689ce78ed85cb5df1f2c7c680dcc6525dfe9eb |
|
10-Sep-2014 |
Raph Levien <raph@google.com> |
Remove auto spaceifying behavior on paste The paste action contained some logic to automatically insert or remove spaces, basically to emulate the semantics of the text being a sequence of space-separated words. This was never universally loved, and gives particularly unexpected behavior with a hardware keyboard. This patch simply removes the logic to automatically adjust spaces on paste, so what gets pasted is simply the literal buffer contents. Bug: 16900326 Bug: 3304489 Change-Id: I5cdf9c43d98a17aa708883b47245aa7929a124d2
/frameworks/base/core/java/android/widget/Editor.java
|
5f183f0671dfa1d87ca6d741deb457170c432493 |
|
02-Sep-2014 |
Yohei Yukawa <yukawa@google.com> |
L API proposal: Introduce IS_RTL flag This CL introduces CursorAnchorInfo.FLAG_IS_RTL for better RTL support. This CL also renames *CharacterRect() with *CharacterBounds() so that they can look more consistent with other existing APIs. Rationale: CursorAnchorInfo.FLAG_IS_RTL addresses following issues. 1. There is no way to associate the RTL information with the insertion marker. 2. Returning mirrored (right < left) RectF for RTL in CursorAnchorInfo#getCharacterRect() is turned out to be bug-prone. Such usage of RectF is not fully supported. For example, RectF#isEmpty() always returns false when right < left. 3. There is no reliable to provide the RTL information when CursorAnchorInfo#getCharacterRect() returns an empty (right == left) RectF. Perhaps we could use +0.0 and -0.0, but I'm afraid that it is also bug-prone. BUG: 17365414 BUG: 17335734 Change-Id: Ic8c6fab58c01206872a34e7ee604cdda1581364d
/frameworks/base/core/java/android/widget/Editor.java
|
cc24e2b6a2a429d70b75c6810a5cfd8816ce03ad |
|
30-Aug-2014 |
Yohei Yukawa <yukawa@google.com> |
API Review: CursorAnchorInfo This CL introduces following combinable flags as a replacement of CHARACTER_RECT_TYPE_* constants. - CursorAnchorInfo.FLAG_HAS_VISIBLE_REGION - CursorAnchorInfo.FLAG_HAS_INVISIBLE_REGION This CL also replaces #isInsertionMarkerClipped() with flags. Rationale: getCharacterRectFlags() should return a set of flags, rather than enum-like types. getInsertionMarkerFlags() is more consistent with getCharacterRectFlags() than isInsertionMarkerClipped(). It is also open for future extension. BUG: 17200900 Change-Id: Ia8cbb9f6b41cd9509fc0147fd68763dfde593ffc
/frameworks/base/core/java/android/widget/Editor.java
|
119907cd2575c56b1ebf66348b52e67aaf6a88d8 |
|
14-Aug-2014 |
John Reck <jreck@google.com> |
Animator stuff Bug: 17228458 Change-Id: Id884a429a512f9cd2be0ed16dbd0f10e92b4440d
/frameworks/base/core/java/android/widget/Editor.java
|
a277db28e990d1f6f74ace0c32fe92401660a840 |
|
22-Aug-2014 |
Yohei Yukawa <yukawa@google.com> |
Remove CursorAnchorInfoRequest and related stuff This CL removes CursorAnchorInfoRequest and related stuff in favor of InputConnection.requestUpdateCursorAnchorInfo, which is more easy to understand. This CL also deprecates InputMethodManager#updateCursor and related stuff. Rationale: 1. The spec of #updateCursor says that it provides the cursor position in local coordinates, while the input method requires it in the screen coordinates. 2. #updateCursor has never been enabled in AOSP, because InputMethodManager#isWatchingCursor always returned false. 3. There has been no way to let InputMethodManager#isWatchingCursor return true. 4. In L, InputMethodManager#updateCursorAnchorInfo is introduced to address all the issues above. Given that we no longer need to support #updateCursor, CursorAnchorInfoRequest is overkill when we need to convey just a couple of parameters. BUG: 17185263 BUG: 17182367 Change-Id: I4a577bfd02b37b9e56c80b8b41bb25afa95dd8ef
/frameworks/base/core/java/android/widget/Editor.java
|
3fceabd64c95bfd2c563972e243117af308438d3 |
|
20-Aug-2014 |
Adam Powell <adamp@google.com> |
Update text selection handles to have a minimum touch target size. The text selection handles were traditionally sized based on the size of the provided drawables. When these drawables are visually small, do not restrict the size of the touch target beyond a certain minimum. Bug 16851360 Change-Id: If6a468c7b3a9a1a21913006633f00699637751c0
/frameworks/base/core/java/android/widget/Editor.java
|
987eb3f109c646476d1310a54f7037a558ccfef3 |
|
08-Aug-2014 |
Yohei Yukawa <yukawa@google.com> |
Fix handling of line-end and RTL characters in CursorAnchorInfo This CL addresses line-end handling and RTL characters handling in CursorAnchorInfo. BUG: 16499624 Change-Id: Ie23569fb136751c40f79dd9886e279dc01cefae9
/frameworks/base/core/java/android/widget/Editor.java
|
098e7fb5875c31aede4e6d40a3acec876d948527 |
|
06-Aug-2014 |
Adam Powell <adamp@google.com> |
Have TextView editors use the Menu context for action mode icons Using the TextView's context instead when resolving these icons from the theme causes issues if a dark action bar theme is in use. Bug 16686041 Change-Id: I44cb4a83516d8610103b6ebaf604860b67ac84dd
/frameworks/base/core/java/android/widget/Editor.java
|
0023d0e0c4f5339b299d1eacbd4e7181c2fd271f |
|
10-Jul-2014 |
Yohei Yukawa <yukawa@google.com> |
Polish new IME API for L part 2: CursorAnchorInfo This CL addresses feedbacks from internal customers for new input method APIs that are mainly used for physical keyboard support in L. For performance reasons, #onUpdateCursorAnchorInfo is not called back by default and each input method has to enable this event notification explicitly whenever fine-grained character locations are needed. In L-preview, InputMethodSession#setCursorAnchorMonitorMode was introduced for this purpose. However, we got several feedbacks to be addressed. - The effect of #setCursorAnchorMonitorMode is not preserved during focus change. IMEs need to call #setCursorAnchorMonitorMode every time when #onStartInput is called. This is tricky and hard to understand. - As #onUpdateCursorAnchorInfo is a new API, not all applications/text editors have supported it. Therefore IMEs can't always rely on it. However, there is no way to query if the attached target is supporting this new API or not. It would helpful for IME authors if we can provide a reliable way to query if the attached input target is supporting the new API or not. In order to address these issues, the triggering method has moved from InputMethodSession to InputConnection in this CL, as an analogy of existing InputConnection#getExtractedText API, which has provided similar functionality including optional reactive event callbacks from the application to the IME. BUG: 15812658 BUG: 16118603 Change-Id: I3c6b69bd9d79b199afe68d838f25effa6048e5cc
/frameworks/base/core/java/android/widget/Editor.java
|
0b01e7fc58cdde00d8350285a3386c4209b72d78 |
|
08-Jul-2014 |
Yohei Yukawa <yukawa@google.com> |
Polish new IME API for L: CursorAnchorInfo This CL allows application authors and input method authors to communicate with each other more precisely on the visibility of insertion marker and composing characters. Now we can describe the situation where the coordinates of them are available but they are overlapped by other UI elements. This change is based on feedbacks from internal customers of this preview API. Change-Id: I82eba0e844a6f8b99ba11a68fad272399034cc24 BUG: 16118303
/frameworks/base/core/java/android/widget/Editor.java
|
a7090e0cfd7c719a6d4c03aae34f5db98754cbdd |
|
21-Jun-2014 |
Chris Craik <ccraik@google.com> |
Update 'DisplayList' vs 'RenderNode' naming in several places Change-Id: I635c6627d098b661fb9b0ba1bd42fa6d7277d287
/frameworks/base/core/java/android/widget/Editor.java
|
c46b5f04aa2a9fd292c117d2824f70fcf06e86ba |
|
09-Jun-2014 |
Yohei Yukawa <yukawa@google.com> |
Rename CursorAnchorInfoBuilder with Builder Inner Builder class should not inherit full class name of outer class. BUG: 15516230 Change-Id: I2d56edebb0c85639db57ca5b2aadb22c67fc5926
/frameworks/base/core/java/android/widget/Editor.java
|
81f4cb3f858f46a4d9b793c4d326b9bf6aca868d |
|
13-May-2014 |
Yohei Yukawa <yukawa@google.com> |
Enable CursorAnchorInfo to contain composing string This CL adds one more functionality to CursorAnchorInfo that enables applications to associate the composition string with its positional information. This is useful for an IME to handle CursorAnchorInfo asynchronously. This is also useful for the framework to detect if the application is unnecessarily calling IMM#updateCursorAnchroInfo with duplicate event. BUG: 14579622 Change-Id: Ie75c17b523dad33e97b08c15f5f5267573ce2063
/frameworks/base/core/java/android/widget/Editor.java
|
83b68ba4ad7e80dd0afe34f9f53dde5884325f58 |
|
12-May-2014 |
Yohei Yukawa <yukawa@google.com> |
Support IMM#updateCursorAnchorInfo in Editor With this CL, Editor starts calling IMM#updateCursorAnchorInfo iff IMM#isWatchingCursor(View) returns true. The performance regression should be negligible when IMM#isWatchingCursor(View) returns false. BUG: 14579622 Change-Id: Ib35a6f4201b26d837a6aa07d1204c9eb75404da1
/frameworks/base/core/java/android/widget/Editor.java
|
8de65a8e05285df52a1e6f0c1d5616dd233298a7 |
|
10-Apr-2014 |
John Reck <jreck@google.com> |
Switch DisplayListData to a staging model Bug: 13912977 Change-Id: I5b2f664e797be22a58300964f57ceb4fab60528c
/frameworks/base/core/java/android/widget/Editor.java
|
776abc24cdd18610232a50b997cce3cffa74609b |
|
07-Mar-2014 |
Adam Lesinski <adamlesinski@google.com> |
Uses VMRuntime.newUnpaddedArray for ideal array sizes Bug:13028925 Change-Id: I0a9301248b10a339afbdc5e4ffe3310ac4fa1fb7
/frameworks/base/core/java/android/widget/Editor.java
|
f666ad7046c0b1b255835f75aeb7d1391067df93 |
|
15-Mar-2014 |
John Reck <jreck@google.com> |
Rename DisplayList->RenderNode Change-Id: Idcca6f26ba6282594789962f5edb3ed53a290fef
/frameworks/base/core/java/android/widget/Editor.java
|
be34f2f3b340196426bdf558b28951359a4d84fa |
|
10-Mar-2014 |
John Reck <jreck@google.com> |
DisplayList lifecycle changes Bug: 13360343 Change DisplayList to be more forgiving with weaker lifecycle requirements. Is more self-managed with a strong reference to the renderer it needs Also fix naming mismatch Change-Id: I5c89453a72a52954f6f959f0846199705dbb6476
/frameworks/base/core/java/android/widget/Editor.java
|
7558aa708160c287552f4e1e33c33d8b191e9f0e |
|
05-Mar-2014 |
John Reck <jreck@google.com> |
Remove invalid usage of DisplayList.isValid() Bug: 13324734 Editor was using isValid as a mechanism to track whether or not it needed to re-record the DisplayList. This is not correct as isValid() is not a general-purpose dirty bit. Add an explicit dirty bit for Editor to use instead Change-Id: I5608b151791870fca3681056b5507bd39ee48f52
/frameworks/base/core/java/android/widget/Editor.java
|
44fd8d24f761f82d21e9b00932648a1b6bf91449 |
|
26-Feb-2014 |
John Reck <jreck@google.com> |
DisplayList overhaul Change-Id: I53418d580c98f706e971545cff81b9921c12cc5f
/frameworks/base/core/java/android/widget/Editor.java
|
8eea3ea5591e59f55cbb4f6b2b7e9363a285ced3 |
|
04-Feb-2014 |
Alan Viverette <alanv@google.com> |
Add APIs for obtaining themed Drawable from Theme, Context BUG: 12611005 Change-Id: Ic0057be4e4c2d0c61ce02a019b3f7d0625e3a016
/frameworks/base/core/java/android/widget/Editor.java
|
dcd8258e2447afacb6d6f793c2cfb7ad94d2acec |
|
06-Jan-2014 |
Raph Levien <raph@google.com> |
am 971003c9: am ece5bc9d: am 7b6b85d2: am d7d07498: am a980c7aa: Merge "Re-initialize error after attach" * commit '971003c9ffc854f4b080af902457e7a6447f692a': Re-initialize error after attach
|
f4ecc55657c535b8b2d7113095903b3808e903e9 |
|
13-Aug-2013 |
Daniel 2 Olofsson <daniel2.olofsson@sonymobile.com> |
Re-initialize error after attach If flag for error after attach is not reinitialized, it may cause NullPointerException on subsequent onAttachedWindow if error text was reset to null. Change-Id: I8976c28a6ca71017e5c4b3f29d4eeeb2eda48c38
/frameworks/base/core/java/android/widget/Editor.java
|
6090995951c6e2e4dcf38102f01793f8a94166e1 |
|
19-Nov-2013 |
John Spurlock <jspurlock@google.com> |
Remove unused imports from frameworks/base. Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
/frameworks/base/core/java/android/widget/Editor.java
|
339f901ba65d6b8478b6d7680cfb2f5421e42d9b |
|
06-Nov-2013 |
John Reck <jreck@google.com> |
Cleanups Simplify DisplayList creation Remove unnecessary debug code Change-Id: I310c9196485c6bf65a6793669bd2dc2b9a8a0a15
/frameworks/base/core/java/android/widget/Editor.java
|
f3bd8d4843dc811a29854bdb11ce6ea2b2834e9c |
|
14-Oct-2013 |
Victoria Lease <violets@google.com> |
am 4c4a469c: am 677687c2: am edbab7b5: Merge "no layout = no visibility" into klp-dev * commit '4c4a469cbfe61f50c23b70d8b2e63f7b661745c7': no layout = no visibility
|
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
|
65e1772d6b815b5f610a5faa641efd3358c20d8f |
|
25-Sep-2013 |
Jean Chalard <jchalard@google.com> |
am 424054ba: am 6a1e32ef: Merge "Don\'t change the text in reaction to a user dict add" into klp-dev * commit '424054ba621738452b0bae69dcd6a8372ca5c273': Don't change the text in reaction to a user dict add
|
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
|
617feb99a06e7ffb3894e86a286bf30e085f321a |
|
10-Sep-2013 |
Alan Viverette <alanv@google.com> |
Add View constructor that supplies a default style resource Also updates the constructor of every class that extends View. BUG: 10676369 Change-Id: Ifaf27bf82028d180afa4931c0e906df88d858ac3
/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
|