| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
core/tests/coretests/src/android/text/TextUtilsTest.java
Change-Id: I7439f7f80cf91ff654c0ddd79c3e6b3808ba4784
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
string"
* commit '19653c6440eaf7328ecbc01c3ca6d7a910906484':
CHAR_SEQUENCE_CREATOR cannot handle null string
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
TextUtils.writeToParcel can handle null as input CharSequence
but createFromParcel will throw NullPointerException. Transforming
to and from parcel should handle null in the same way.
Change-Id: I707ea9be2091d2655c5f63eaa57c5674befa5ad3
|
| | |
| | |
| | |
| | |
| | |
| | | |
Since the kind was unknown, doing a copy/cut on text with a SuggestionSpan crashed.
Change-Id: I10c0677b3587897b82c794db57d7b07149f12e09
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- CorrectionSpan is a span which has suggestions made by IME.
This has a function to change the current IME to other IME specified
in this span. For security reasons, only the current IME
is allowed to use this function through InputConnection.
(IME token is used for checking the validity of it.).
- CorrectionSpan stores following information:
flags, subtype Id, InputMethodInfo Id, suggests, locale, original string
Change-Id: Id3abc9ea4d11753cdc4f483a2bb3128f49ba198a
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Bug http://code.google.com/p/android/issues/detail?id=14786
Empty spans are affecting the text before and after them. See the
comment in TextUtils.removeEmptySpans for details.
Change-Id: I40376c32fd56a17efde6219f9b2593e4b4ab1ba1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug 3400770
TextUtils#commaEllipsize creates a MeasuredText "mt" object with the
text to be ellipsized. It calls setPara which initializes mt's mPos
member to be 0. It then calls addStyleRun which moves mPos to the end
of the string. The loop back in commaEllipsize then calls mt addStyleRun
again and this causes IndexOutOfBoundsException, because the paint
object is trying to measure text past the text's length.
It seems this was a typo and that the tempMt variable should be used,
because the code is trying to measure the format string...not the
the string to be ellipsized. This makes the saner parts of CTS test
for this method pass now.
Change-Id: Ib6aa6e4bbd6afff4c95ad4c4d51a384cc1389875
|
|\ \
| |/
| |
| | |
Change-Id: I56a4c1838b17cf40d96763f95df3c84fc86359eb
|
| |
| |
| |
| |
| |
| | |
The previous version in Settings allocated memory.
Change-Id: I0f821112dc8f830689489f201ce268195f9e6cbd
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
hidden methods, and make vCard code use them.
In the future, ContactsProvider will use those methods.
See also the change 34604
Internal issue number: 2275764, 2195990
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|