fc77869ee06c05eb5b7deea74e5ad31bd89a85bd |
|
17-May-2017 |
Roozbeh Pournader <roozbeh@google.com> |
Set up empty lines for DynamicLayout#updateBlocks() tests The changes in I666da5eeb39f780c341597f347bfcba21eb34295 introduced the concept of lines that need to be always redrawn, but it broke tests for DynamicLayout#updateBlocks() that didn't need to set up the actual lines. Now, during the test setup, we insert empty lines to match the number of lines needed. Test: adb shell am instrument -w -e class android.text.DynamicLayoutBlocksTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner Test: adb shell am instrument -w -e class android.text.DynamicLayoutTest#testGetBlocksAlwaysNeedToBeRedrawn_thai com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner Test: adb shell am instrument -w -e class android.text.DynamicLayoutTest#testGetBlocksAlwaysNeedToBeRedrawn_en com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner Test: cts-tradefed run cts-dev --module CtsTextTestCases Change-Id: I4bfc82db4beef1b740433a25a3ae29201f54d9d3 Fixes: 38029583
/frameworks/base/core/java/android/text/DynamicLayout.java
|
4b4730d90eef9dd4140cf750e2feba61acae9044 |
|
31-Mar-2017 |
Seigo Nonaka <nona@google.com> |
Change justification parameter from boolean to int. Bug: 35766005 Bug: 35764323 Test: Manually done Change-Id: Ic6d78bb9a3213160cd013f1ca8294307872bf0d0
/frameworks/base/core/java/android/text/DynamicLayout.java
|
09da71a6dcfe07e0efdc35933322fba16091f555 |
|
28-Nov-2016 |
Seigo Nonaka <nona@google.com> |
Introduce full justification. Adds a new get/setJustify API to TextView and StaticLayout.Builder for justification, and fully justifies text when it's enabled. This is based on a patch by Raph Levien (raph@google.com). Bug: 31707212 Test: Manually done and CTS will introduced with I0f3bbf39d60a66b71b30e1351f7c741208f05dce passes. Change-Id: Icbfab2faa11a6a0b52e6f0a77a9c9b5ef6e191da
/frameworks/base/core/java/android/text/DynamicLayout.java
|
f5af4a344e086efa87740a0154cace064465fe54 |
|
31-Aug-2016 |
Keisuke Kuroyanagi <ksk@google.com> |
Always redraw text that protrude from line bounds. With I63af3a6ecbf92, we create RenderNode lazily, but blocks containing contents that protrude from line top or bottom cannot be simply lazily redrawn after edit or scroll. With this CL, we check if the contents protrude from line top or bottom by comparing the text bounds with relevant font metrics values and we always redrawn such blocks after edit or scroll. Bug: 27889485 Change-Id: I666da5eeb39f780c341597f347bfcba21eb34295
/frameworks/base/core/java/android/text/DynamicLayout.java
|
ed09ae1fccfb1c02109a0c1428ddff52daa939d5 |
|
16-Feb-2016 |
Siyamed Sinir <siyamed@google.com> |
Visibility fixes for text related tests. Some of the text and text layout related tests fail because of the visibility of parameters/functions they use. This CL updates annotations and visibility of related classes. Bug: 29871441 Change-Id: Ia06072815261379ff839c440482d94570ec05a80
/frameworks/base/core/java/android/text/DynamicLayout.java
|
a6a082862b9e2ea4c9e9a1a945927c4040993f6e |
|
03-Jun-2015 |
Raph Levien <raph@google.com> |
Rename setTextDir to setTextDirection StaticLayout.Builder used "setTextDir" as a shorthand, but it's not as clear as spelling it out. So, setTextDirection. Bug: 21572282 Change-Id: Ia94476562d70678f963196b87bb63511d30836b6
/frameworks/base/core/java/android/text/DynamicLayout.java
|
95c7a13f2ac4f31ed3aaec9b47b9a29a3dbca978 |
|
12-May-2015 |
Roozbeh Pournader <roozbeh@google.com> |
Add hyphenationFrequency attribute to TextView and StaticLayout. This patch adds plumbing to TextView and StaticLayout to control the frequency of automatic hyphenation used in laying out paragraphs. Bug: 21038249 Change-Id: Ib45de190eb0a1ed738e69fd61f2b39561b11aec7
/frameworks/base/core/java/android/text/DynamicLayout.java
|
531c30c62b14881aab31a5133920a971b1fbb50e |
|
01-May-2015 |
Raph Levien <raph@google.com> |
Expose StaticLayout.Builder publicly Expose the new Builder pattern for creating StaticLayout. This allows access to a number of features that have been available to TextView through a hidden constructor. Some of these features have existed for a while (mostly maxLines), while others are new (breakStrategy, indents). The builder is cleaner and has a better upgrade path than the old pattern of lots of constructors with varying numbers of arguments. Bug: 20190561 Change-Id: Ia3cd124825ab0cb469d22d1fc576ad26454545b8
/frameworks/base/core/java/android/text/DynamicLayout.java
|
ebd66ca600dc2c43edb0830bcf1a92fafec30a5a |
|
01-May-2015 |
Raph Levien <raph@google.com> |
Make Paint a required field of StaticLayout Builder This patch moves the Paint parameter from being an option set from setPaint to being a required field passed into the obtain() method of StaticLayout.Builder. Thus, it is now possible to get a valid StaticLayout object just doing .build() on the Builder; all other fields are optional. This is in preparation for exposing the builder publicly, but that is to be a separate CL. Bug: 20190561 Change-Id: Iefd7800203004e565d068b0c76502cf7cf52d91f
/frameworks/base/core/java/android/text/DynamicLayout.java
|
39b4db73c3340ff955f67e4e5318159d19d1ab3a |
|
25-Mar-2015 |
Raph Levien <raph@google.com> |
Add breakStrategy attribute to TextView This patch adds plumbing to TextView to control the strategy used for breaking paragraphs into lines. The default for TextView is "quality", while the default for EditText is "simple", largely to avoid too much re-layout when editing. StaticLayout now has a builder which provides access to more functionality and is also cleaner than the old mechanism of having lots of constructors with varying numbers of arguments. This patch changes TextView to use that builder, and also contains cleanups of the Builder within StaticLayout. Change-Id: Iee3cf3a05a3e51ba0834554e4a3ec606e9cabca5
/frameworks/base/core/java/android/text/DynamicLayout.java
|
26d443aee4ee5a8791417b4ca09e8c78ba8dc78b |
|
30-Mar-2015 |
Raph Levien <raph@google.com> |
Revert "Fix build: Revert "Record hyphens from Minikin and draw them"" This reverts commit 5a6eeb3cbe0896ddf4bdccc0b1a81d7aac49821e and fixes the underlying issue (needed to @hide getHyphen() for subclasses of Layout, not just the base class), and layoutlib changes for checkbuild. Change-Id: I7a2b5f20ae014ea8e224d8c4079cf9131e17e1c1
/frameworks/base/core/java/android/text/DynamicLayout.java
|
5a6eeb3cbe0896ddf4bdccc0b1a81d7aac49821e |
|
30-Mar-2015 |
Ed Heyl <edheyl@google.com> |
Fix build: Revert "Record hyphens from Minikin and draw them" This reverts commit 27fb878c04e18d3bdd6c42ed347194a7c816ed97. Change-Id: I2b3390cb0b258a2e1a38ad72ae9686177d6ffdb8
/frameworks/base/core/java/android/text/DynamicLayout.java
|
71cbc72e70a6f0e086535c51e35262eb3a4d4bd9 |
|
20-Mar-2015 |
Raph Levien <raph@google.com> |
Record hyphens from Minikin and draw them This patch plumbs up hyphens computed in Minikin's LineBreaker, records them in a new column in StaticLayout, and draws them. DynamicLayout mirrors the new column, and TextLine is also changed to make sure the hyphen is only drawn for the last run in a line. There is a rather primitive mechanism for loading hyphenation patterns, for testing only at this point. Change-Id: Ib208568c0f6cff12cf834047500ec1da9ea9f430
/frameworks/base/core/java/android/text/DynamicLayout.java
|
d3ab692d28018825578ff05832644cfad60233fb |
|
02-Mar-2015 |
Raph Levien <raph@google.com> |
Some refactoring of StaticLayout This patch refactors construction of StaticLayout to use an explicit Builder object, which is intended to hold state used for constructing the layout but not needed for merely reading out the results. Builder objects are allocated from a pool and explicitly recycled, so there is insignificant additional allocation cost. This patch has very little impact on performance (it does avoid allocating a FontMetricsInt object) but opens the way for significant performance and functionality improvements as more of the Builder functionality migrates to native code. Change-Id: I2a576643e573a38b61f895a80d5d92a85c94b6b4
/frameworks/base/core/java/android/text/DynamicLayout.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/text/DynamicLayout.java
|
63b3eb65234c8a8b9224c262442816cc429560ef |
|
03-Oct-2013 |
Raph Levien <raph@google.com> |
Fix Text appears on top of existing text when composing in gmail. Fix for bug 6473708. This patch changes from "last update wins" to merging together the change regions, in the logic of deciding which blocks need to be updated for painting, so that when there are multiple changes batched for a draw, they're all taken into account. Change-Id: I183d453c436125e5efec7031b4d61b43989653f9
/frameworks/base/core/java/android/text/DynamicLayout.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/text/DynamicLayout.java
|
71afc39d68413d125d46ea69e6c9fb077016bb9b |
|
10-May-2012 |
Gilles Debunne <debunne@google.com> |
Cut long text into multiple DL at start Bug 5763685 To improve performance, preventively cut the the into display list of 3-10 lines of text. Further updates to small parts of the text (such as adding an underline on a word) will only invalidate and redraw the affected sub display list. DLs are aligned with paragraphs, just like they will be during text edition. Change-Id: I0d60debc7fdaea8b29080a6eacb2d60205e7d547
/frameworks/base/core/java/android/text/DynamicLayout.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/text/DynamicLayout.java
|
1e130b2abc051081982b5a793a18a28376c945e4 |
|
15-Mar-2012 |
Gilles Debunne <debunne@google.com> |
Added a unit test for DynamicLayout#updateBlocks Change-Id: I1824ebeae2bbb5c60a65de36fe1696bf003347c9
/frameworks/base/core/java/android/text/DynamicLayout.java
|
cde6adf45c90ad3fdc94446ede6a228ce264c886 |
|
16-Mar-2012 |
Romain Guy <romainguy@google.com> |
Fix the build Change-Id: I6de62c7bfaecd85810178f58707157466291eca3
/frameworks/base/core/java/android/text/DynamicLayout.java
|
33b7de85b6918b7714641f12f1ba2ff03a344740 |
|
12-Mar-2012 |
Gilles Debunne <debunne@google.com> |
Multiple display lists for editable text Bug 5763685 Long text in a ScrollView (not when the View's internal scroll is used) is cached as a unique display list when hardware rendering is on. As a result, each time the text is edited, the entire display list has to be updated, which takes a significant amount of time (up to 500ms for a few thousand lines), proportional to the size of the text. This CL splits the text into multiple display lists as the text is edited. The boundaries of the display list are aligned with paragraphs. There is still an issue when the number of lines changes: onLayout() is called which invalidates all the display list. When the source of that change is line wrapping and not a change in the view's dimensions, we should be able to simply shift down the previous DL instead of re-creating everything. Change-Id: I7de49a1e5637cdfc9ef06b64b1ec4b61d9ea2415
/frameworks/base/core/java/android/text/DynamicLayout.java
|
d300e75eff0d5e54390400cbd3f80dc4cea8b617 |
|
17-Oct-2011 |
Gilles Debunne <debunne@google.com> |
Wrong word cut at end of lines with spaces Bug 5185017: when the line length is exceeded at a space character, we use the previous ok width, and the last word is wrapped to next line although it fits. This back-track also generates problem with the span parsing, where the spanStart indexes are no longer monotonuously increasing. Plus some refactoring in this code (unused parameters, calls to out()) Change-Id: Ia8cd310a732752af3bd370bf0a16db23d40e83f2
/frameworks/base/core/java/android/text/DynamicLayout.java
|
ad0b051b133baf92f199c96a8ac1e81b3393190c |
|
05-Oct-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Revert "Fix bug #5387832 [UI/Visual] Address of the website is not displayed properly(second line of the address is partly shown)" This reverts commit a130e5f59dc6b2117e4c1a8ffef54828e9ea44c7
/frameworks/base/core/java/android/text/DynamicLayout.java
|
a130e5f59dc6b2117e4c1a8ffef54828e9ea44c7 |
|
29-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5387832 [UI/Visual] Address of the website is not displayed properly(second line of the address is partly shown) - make DynamicLayout honor max lines - make StaticLayout.generate() take maxLines as a parameter instead of using the field mMaximumVisibleLineCount Change-Id: I9eafb1be4b8bb2aa881514955a6903f559cb6a1e
/frameworks/base/core/java/android/text/DynamicLayout.java
|
09175735c562652be1a1b0dc0f941d36ac4f076a |
|
26-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5344067 android.text.DynamicLayout.sStaticLayout can hold onto an Activity, potential memory leak - make the StaticLayout constructor not depending on the text as we just need the "generate()" call to be done Change-Id: I65249e65ed6446b6ac13dbf8c8f58fcdf54046cb
/frameworks/base/core/java/android/text/DynamicLayout.java
|
8059e0903e36cbb5cf8b5c5d5d653acc9bbc8402 |
|
11-Aug-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #3388534 Long file names are improperly displayed when played - force ellipsising when there are more lines found than maxLines - do not care about lines when we have reached maxLines - also fix relayouting when changing maxLines thru setMaxLines() - do not allow START / MIDDLE ellipsis when there are multiple lines (and print a log accordingly) Change-Id: I90f5a7f5200a220aceee01fb7300bec2c4c3a075
/frameworks/base/core/java/android/text/DynamicLayout.java
|
b724c346e19d63d7ff194b2b06c4a1e0f7bc07b7 |
|
13-Aug-2011 |
Amith Yamasani <yamasani@google.com> |
Revert "Use a weakreference to prevent the static variable from holding an Activity." Bug was fixed in a different way. This reverts commit 352c01e2133b71918fa1cb2783a0a10e56117775.
/frameworks/base/core/java/android/text/DynamicLayout.java
|
352c01e2133b71918fa1cb2783a0a10e56117775 |
|
26-Jul-2011 |
Amith Yamasani <yamasani@google.com> |
Use a weakreference to prevent the static variable from holding an Activity. Bug: 5057764 Change-Id: If734e3ef4928b21a5e31e0ad50c97da287c3c116
/frameworks/base/core/java/android/text/DynamicLayout.java
|
e5ea4403ce58982522554b7ff23f41e6551923c1 |
|
01-Aug-2011 |
Romain Guy <romainguy@google.com> |
Plug memory leak in EditText. Change-Id: I0b42c23ceeaa958d02255945c35ff6807c177114
/frameworks/base/core/java/android/text/DynamicLayout.java
|
cb379120456d8065d742021fc5c66748fc8a11a8 |
|
07-Jul-2011 |
Doug Felt <dougfelt@google.com> |
Implement textDirection heuristic selection. Change-Id: I2fcf18de573f2d66494fa5ed61e4273c3c6078c7
/frameworks/base/core/java/android/text/DynamicLayout.java
|
0a4db3c5270440eeb7e4e44a7029926e239ec3bd |
|
14-Jan-2011 |
Gilles Debunne <debunne@google.com> |
Pixel were missing on the last line of text when using MaxLines. Bug 3295544 Only the last line of text includes the bottomPadding (extra line spacing below the characters' descent. When The text is clipped using maxLines, the desired height correctly added this value, but getLineTop and getLineDescent are also used when the layout is drawn. The fix is to make the layout aware of its clipping so that these values are correctly updated. Change-Id: I703656cf45022d34a90f55f0ed8fc5e4b30f80b1
/frameworks/base/core/java/android/text/DynamicLayout.java
|
d6e568c4f3b30431a0086e647f38d24ffd81457a |
|
25-Jan-2011 |
Gilles Debunne <debunne@google.com> |
Removed warnings in DynamicLayout Change-Id: Ied1c330795412d0bdcac1236b466951112fabc7d
/frameworks/base/core/java/android/text/DynamicLayout.java
|
9f7a4442b89cc06cb8cae6992484e7ae795323ab |
|
01-Mar-2010 |
Doug Felt <dougfelt@google.com> |
Enable nested bidi levels in a paragraph. Changes the internal representation of direction information in the Directions object to be a visually-ordered list of start/length+direction pairs instead of a list of directionality inversion offsets. Rewrite Layout.getOffsetToLeft/RightOf to use run information instead of width metrics. Remove java Bidi, use native. Switch bidi tests to test native, expect levels instead of dirs. Add test of directionality. Leave in switch to turn new code off and restore previous behavior for now. Change-Id: Iea8bb46c678a18820e237c90f76007a084c83051
/frameworks/base/core/java/android/text/DynamicLayout.java
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/text/DynamicLayout.java
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/text/DynamicLayout.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/core/java/android/text/DynamicLayout.java
|