db24f0a73f4385aea104367a4bc71b78f25dbc3f |
|
04-Oct-2012 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #7282594 EditText does not allow to move the cursor when typing RTL text and if gravity is set to LEFT - fold LEFT/RIGHT into NORMAL/OPPOSITE cases Change-Id: Idf14342ffed4840e7b4ea53cc42f1cde8f196a4c
/frameworks/base/core/java/android/text/Layout.java
|
15c9c6141a00cd91290928bce742a2ae6761aca2 |
|
14-Jun-2012 |
Fabrice Di Meglio <fdimeglio@google.com> |
Merge "Fix bug #6661824 Hebrew Text can be clipped" into jb-dev
|
8d44fff7e62f77c3b3072a96712cc1389e63ca64 |
|
14-Jun-2012 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #6661824 Hebrew Text can be clipped - use the correct ellipsis char in both measurement and rendered string Change-Id: Ia00285fc16da528f18702719026503b5d0610642
/frameworks/base/core/java/android/text/Layout.java
|
2fba3387c31b675c419030145250e5be246c50b0 |
|
12-Jun-2012 |
Gilles Debunne <debunne@google.com> |
Prevent a crash when maxLines is set to 0 Bug 6642222 Using setMaxLines(0) and setMinHeight(30) causes a crash because Layout#getLineRangeForDraw() returns a [0,0] interval in that case. Accessing the Direction in draw causes a NPE. Change-Id: If50f9b554e3cdc598a721b623992e9196982838c
/frameworks/base/core/java/android/text/Layout.java
|
eca5b7385a641ae5d8c4aa2b7823a4e573737376 |
|
26-Apr-2012 |
Gilles Debunne <debunne@google.com> |
Basic renaming refactoring in Layout Change-Id: I79f5444a097f1e2b2a81ececf1f0a14b6d7d5179
/frameworks/base/core/java/android/text/Layout.java
|
60e3b3fa60a672583fe6294139feb940845efc9b |
|
13-Mar-2012 |
Gilles Debunne <debunne@google.com> |
Use SpanSet to accelerate Layout.drawBackground The main performance improvement should come from the fact that we entirely skip the loop (which calls getLineStart, getLineTop and getLineDescent on each line) in the frequent case where there are no LineBackgroundSpans. Change-Id: Ie2d3168521e88d43f1a4236da2b3e8447606df1e
/frameworks/base/core/java/android/text/Layout.java
|
6c488de023a4797069673dc619c1a4096079ea9e |
|
02-Mar-2012 |
Gilles Debunne <debunne@google.com> |
EditText caches only text in its internal display list. Decorelate background and text in layout display. This allows to only store the text in the editable TextView's display list. Selection and cursor changes no longer need to invalidate the display list, leading to faster rendering. Change-Id: I3af3a98846e1bfe2d9ec6c42590e71bf3704595e
/frameworks/base/core/java/android/text/Layout.java
|
34d2eba560f83f4eb665cdc039cf02bf96c201da |
|
01-Sep-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5243493 TextView selection is not working correctly when there is some RTL run into it Part 2 - make selection handles aware of the run direction Change-Id: Idf41036de53d8968e7ae27eb87aea09e86bcd652
/frameworks/base/core/java/android/text/Layout.java
|
3716601573f5a562f98721130e25002ad88eb164 |
|
31-Aug-2011 |
Fabrice Di Meglio <fdimeglio@google.com> |
Fix bug #5243493 TextView selection is not working correctly when there is some RTL run into it - make the selection green highlight work Change-Id: I4e3b88e3720288f973b1b9e68afa8f800ad13779
/frameworks/base/core/java/android/text/Layout.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/Layout.java
|
cb379120456d8065d742021fc5c66748fc8a11a8 |
|
07-Jul-2011 |
Doug Felt <dougfelt@google.com> |
Implement textDirection heuristic selection. Change-Id: I2fcf18de573f2d66494fa5ed61e4273c3c6078c7
/frameworks/base/core/java/android/text/Layout.java
|
c0ccf0c47c00942a9d0f2670600a8f2d4d7adb5b |
|
24-Jun-2011 |
Doug Felt <dougfelt@google.com> |
Support control of text alignment. Change-Id: Id6f3682f67ba2e6811e3014cd34a281e6dd0a469
/frameworks/base/core/java/android/text/Layout.java
|
27e8f1a3a6b43592e3d419d7a3cfc6192a86bf5c |
|
29-Apr-2011 |
Conley Owens <cco3@android.com> |
am 8b22ef66: am e41d2aed: Merge "Using robust equality check." * commit '8b22ef66ef1a67333e2f1d4250d2c134b50ef91a': Using robust equality check.
|
2fb503f5102dd32a8ec391b26911528852703b90 |
|
17-Mar-2011 |
Jozef BABJAK <jozef.babjak@gmail.com> |
Using robust equality check. Change-Id: Ie30684c472bfa38d0432f855f7075c34709958d5
/frameworks/base/core/java/android/text/Layout.java
|
f3fa0cdbaea109b114f7facbb5d42de3fc12bbc8 |
|
03-Feb-2011 |
Gilles Debunne <debunne@google.com> |
Bugfixes in StaticLayout. Bug 3422121 With ellipsize, lines starting with a very long word that does not fit inside the width were simply ignored. Cut the long word instead. start - widthStart index offset shift in BiDi. The original ellipsize-end patch that added '...' after the last word on end-ellipsized lines has been punted in favor of a true ellipsize support in I. I believe the StaticLayout calculateEllipsise is a no-op since textwidth <= avail by construction: fitWidth and okwidth are < outerWidth. The only exception is the paraEnd != here case in generate (when not a single character fits in width). This case is exercised by StaticLayoutTest in cts (width of 8 pixels) and revealed an offset error in widstart. All in all, it looks like this code was probably never really tested. I tried some typical text configuration to make sure these changes improved the situation. Change-Id: Ibee410bd7db453abf93e10e8beb844eae998922c
/frameworks/base/core/java/android/text/Layout.java
|
f75c97e023af7d4ad9a8c129d4ea282b1c3b8f94 |
|
11-Feb-2011 |
Gilles Debunne <debunne@google.com> |
Text insertion cursor is now defined by a Drawable. Bug 3261766 If defined, the drawable is used instead of directly drawing a 1 pixel line. This makes the cursor more fancy and more visible. The drawable is currently clipped by the TextView's limits, which is currently visible on the left when the cursor is at the first position. To solve this issue properly, we would need to propagate a do-not-clip up in the hierarchy. Change-Id: I99f6001048eed14104994acf6bab942dda8eb38e
/frameworks/base/core/java/android/text/Layout.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/Layout.java
|
162bf0f1b9fd5d78ffa801917994f6222c6efd85 |
|
17-Nov-2010 |
Gilles Debunne <debunne@google.com> |
Fix for IOOBoundsExc in SpannableStringBuilder Bug 3182953 Change-Id: Idc7faa86b8250bf325e2547d7d4c094300a06686
/frameworks/base/core/java/android/text/Layout.java
|
497a92cc5ba2176b8a8484b0a7da040eac0e887b |
|
13-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Add keycodes and meta-key modifiers to support external keyboards. Added new key maps for external keyboards. These maps are intended to be shared across devices by inheriting the "keyboards.mk" product makefile as part of the device's product definition. One of the trickier changes here was to unwind some code in MetaKeyKeyListener that assumed that only the low 8 bits of the meta key state were actually used. The new code abandons bitshifts in favor of simple conditionals that are probably easier to read anyways. The special meta key state constants used by MetaKeyKeyListener are now (@hide) defined in KeyEvent now so as to make it clearer that they share the same code space even if those codes are not valid for KeyEvents. The EventHub now takes care of detecting the appropriate key layout map and key character map when the device is added and sets system properties accordingly. This avoids having duplicate code in KeyCharacterMap to probe for the appropriate key character map although the current probing mechanism has been preserved for legacy reasons just in case. Added support for tracking caps lock, num lock and scroll lock and turning their corresponding LEDs on and off as needed. The key character map format will need to be updated to correctly support PC style external keyboard semantics related to modifier keys. That will come in a later change so caps lock doesn't actually do anything right now except turn the shiny LEDs on and off... Added a list of symbolic key names to KeyEvent and improved the toString() output for debug diagnosis. Having this list in a central place in the framework also allows us to remove it from Monkey so there is one less thing to maintain when we add new keycodes. Bug: 2912307 Change-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4
/frameworks/base/core/java/android/text/Layout.java
|
12122bf7929aab7417cda5642632b81e4e15eb4e |
|
25-Aug-2010 |
Takako Ishibashi <takako.x.ishibashi@sonyericsson.com> |
Support surrogate pairs when layouting text The current framework does not consider surrogate pairs when getting the index of the character. This bug becomes visible when creating the text including Emojis. For example cursor breaks up when it moves around the Emojis. Our proposed solution will consider the surrogate pairs when calculating the index. It will fix not only the Emoji case, but also the letters that use surrogate pairs. Change-Id: I4983f2e4df933c8af9d5f0cc27df871e8e10fed4
/frameworks/base/core/java/android/text/Layout.java
|
c4d8eb6fb7c88c5c4da38b0b113c24cc4b78c0b7 |
|
19-Aug-2010 |
Romain Guy <romainguy@google.com> |
Speedup TextView fades (no more layers required.) Also fixes a crash in the drop shadows cache and improves drop shadows caching. Change-Id: I9c0208a49467f9201d786ae0c129194b8d423923
/frameworks/base/core/java/android/text/Layout.java
|
74d31ef2b2c42b54fa1f7cf94ea955ea67ab69a0 |
|
06-Aug-2010 |
Eric Fischer <enf@google.com> |
Fix a bug where paragraph styles could leak onto an adjacent empty line. When the text ends with an empty line, the getSpans() call to retrieve styles for it would also retrieve the styles of the preceding line. Add a special case to detect and prevent this. Change-Id: I888131cacce6bf45e68c53c931ebe8d58db0b7a9
/frameworks/base/core/java/android/text/Layout.java
|
0c702b88c5d0d4380930b920f5be6e66dd95a0d8 |
|
14-May-2010 |
Doug Felt <dougfelt@google.com> |
Move shaping to native. Add internal API (getTextRunAdvances) to Paint, use when measuring. Add internal API (getTextRunCursor) to Paint, use when determining valid cursor positions. Remove java-level shaping code. Remove 'prep' code in TextLine (except for replacement text) since shaping now is done on the fly as needed in native. Provide explicit shaping context bounds to internal text measuring, cursor movement, and rendering APIs. Update for to changes in external API in ushape.h. Change-Id: I146958b624802ce8553125e5c3c6c03031bc9608
/frameworks/base/core/java/android/text/Layout.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
/frameworks/base/core/java/android/text/Layout.java
|
e8e45f2c05cb3b6d23f30c8f96d8e0b3699cea7a |
|
29-Mar-2010 |
Doug Felt <dougfelt@google.com> |
Refactor Styled utility functions into reusable objects. This takes utility functions from Styled and a few other classes and incorporates them into two new utility classes, TextLine and MeasuredText. The main point of this is to support shaping by skia, to experiment with how this will look, this also introduces character-based Arabic shaping. MeasuredText is used by code that determines line breaks by generating and examining character widths in logical order. Factoring the code in this way makes it usable by the ellipsize functions in TextUtils as well as by StaticLayout. This class takes over the caching of widths and chars arrays that was previously performed by StyledText. A small number of MeasuredText objects are themselves cached by the class and accesed using static obtain and recycle methods. Generally only these few cached instances are ever created. TextLine is used by code that draws or measures text on a line. This unifies the line measuring and rendering code, and pushes assumptions about how rtl text is treated closer to the points where skia code is invoked. TextLine implements the functions that were previously provided by Styled, working on member arrays rather than explicitly-passed arguments. It implements the same kind of static cache as MeasuredText. TextLine and MeasureText simulate arabic glyph generation and shaping by using ArabicShaping, ported with very minor changes from ICU4J's ArabicShaping. This class generates shaped Arabic glyphs and Lam-Alef ligatures using Unicode presentation forms. ArabicShaping is not intended to be permanent, but to be replaced by real shaping from the skia layer. It is introduced in order to emulate the behavior of real shaping so that higher level code dealing with rendering shaped text and cursor movement over ligatures can be developed and tested; it also provides basic-level support for Arabic. Since cursor movement depends on conjuncts whose formation is font-dependent, cursor movement code that was formerly in Layout and StaticLayout was moved into TextLine so that it can work on the shaped text. Other than these changes, the other major change is a rework of the ellipsize utility functions to combine multiple branches into fewer branches with additional state. Updated copyright notices on new files. Change-Id: I492cb58b51f5aaf6f14cb1419bdbed49eac5ba29
/frameworks/base/core/java/android/text/Layout.java
|
4e0c5e55e171532760d5f51e0165563827129d4e |
|
16-Mar-2010 |
Doug Felt <dougfelt@google.com> |
Don't measure for a secondary caret unless we have one. Also, clean up imports and trailing whitespace. Change-Id: I5ebaaceb756600a1ca7370ab3ef078ce200545ef
/frameworks/base/core/java/android/text/Layout.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/Layout.java
|
20178d62cf669af18467a16d3c4c4237ed42151c |
|
22-Feb-2010 |
Doug Felt <dougfelt@google.com> |
Factor bidi algorithm into separate method. Add rudimentary support for overriding default base line direction heuristic. Add some simple tests of the bidi implementation.
/frameworks/base/core/java/android/text/Layout.java
|
71b8dd71e49016e057c46a257f79162d186a3c3a |
|
17-Feb-2010 |
Doug Felt <dougfelt@google.com> |
Enhance text docs, rename some variables for clarity, comment places in the code for further investigation.
/frameworks/base/core/java/android/text/Layout.java
|
7b5676e4d40a09ccdbc8b6f691a3d8be23e480d3 |
|
16-Oct-2009 |
Mark Wagner <mxw@google.com> |
support for multiline paragraph style indentation This change is likely incomplete and perhaps not right in other ways. The gist of the change is that the span can return the number of lines to which to apply the "leading margin". Some specific things that should be looked at: 1) if the user has nested multiple LeadingMarginSpans then they will inherit the "line count" feature. This is wrong but I didn't want to spend time fixing it until it was clear that this overall approach was acceptible. 2) The units for how many lines should indented is "lines" rather than something like dips. 3) I wasn't sure what our strategy was for binary compatibility so I didn't want to modify the methods in LeadingMarginSpan. Instead I made another interface with extends LeadingMarginSpan that has the extra method to return the line count.
/frameworks/base/core/java/android/text/Layout.java
|
a82e99a89b7a12bd86d99d60d23a7a37624499b6 |
|
01-Sep-2009 |
Eric Fischer <enf@google.com> |
Fix an emoji-measuring bug that caused an exception when editing a contact. It was measuring the text to try to determine the size that it needed to scale the emoji character to. Unfortunately it was accidentally trying to measure the character under the cursor instead of the emoji character itself, which is wrong, but more seriously doesn't work at all when the cursor is at the end of the line. This was already fixed before in change 144474, but that change never got merged over to donut. So this merges it now. Bug 2087915 Change-Id: Ib4804d330a029a966207b3b07271f84e6b2652c0
/frameworks/base/core/java/android/text/Layout.java
|
76c0226008ee16633dc94ed4dbeadef2174f6bd9 |
|
14-Apr-2009 |
Dave Bort <dbort@android.com> |
text: Remove references to android.util.Config The semantics of Config.DEBUG will be changing soon, and all other Config.* fields will become deprecated/hidden. BUG=1780938
/frameworks/base/core/java/android/text/Layout.java
|
c2d54f46ac13e029e6d53f7471cd9c90fe6bbfe9 |
|
27-Mar-2009 |
Eric Fischer <> |
AI 143165: am: CL 142861 Make TextView Emoji scale to match the size of the text. Original author: enf Merged from: //branches/cupcake/... Automated import of CL 143165
/frameworks/base/core/java/android/text/Layout.java
|
105925376f8d0f6b318c9938c7b83ef7fef094da |
|
19-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake_rel/...@140373
/frameworks/base/core/java/android/text/Layout.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/Layout.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/Layout.java
|
b798689749c64baba81f02e10cf2157c747d6b46 |
|
10-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@125939
/frameworks/base/core/java/android/text/Layout.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/core/java/android/text/Layout.java
|