History log of /frameworks/base/core/java/android/text/TextUtils.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d29bdb266d54b4551f42776bb790e80147a279d0 06-Feb-2015 Neil Fuller <nfuller@google.com> Avoid static initialization of Layout from TextUtils

This works around a bug in standalone (e.g. non-Zygote)
runtimes when a device is attached to a host that is running
DDM.

There is a race condition:

When the runtime receives a HELLO from DDM it calls
TextUtils.isEmpty().

Calling any TextUtils methods statically initializes
Layout. Layout has dependencies on other classes, which in
turn have dependencies on native methods that are not always
registered when the call takes place. Registration and DDM
handling are done in separate threads.

This is not a fix, merely a workaround until the race can
be resolved.

Bug: 18081539
Change-Id: If1bd3de6597bc93da381c8f86dacf40156449561
/frameworks/base/core/java/android/text/TextUtils.java
6f9f1d4b3b9f9844dc294758398f87cc7aa934b0 12-Sep-2014 Igor Viarheichyk <viarheichyk@google.com> Use constants instead of resources for ellipsis.

All supported locales use only U+2025 and U+2026 to represent
ellipses, and it will unlikely change in future. Given translated
resources are inconsistent and often use three dots it is safer
to use constants instead of resources.

(cherry-pick of ed0daa93e48d38e54a7ad1c99c461510a4c07599.)

Bug: 18542179
Change-Id: I51a6cb903f62f739fbadd6b78e5765c0028d641a
/frameworks/base/core/java/android/text/TextUtils.java
31e6b1445fc680f0ae79d1a71cf05d1cbaa0c0ec 30-Jul-2014 Narayan Kamath <narayan@google.com> Switch TextUtils over to new ICU API.

.. and use Locale.getScript() instead of ICU.getScript.

bug: 15876704

(cherry picked from commit 08b3516984850e04e9bb6feae29d691a7557191c)

Change-Id: Ifac179e0577d66062f32c95372b631bf574dfdf9
/frameworks/base/core/java/android/text/TextUtils.java
4f4ead481270d48f0374c40e72a77619a4ac2873 23-Jun-2014 Niels Egberts <nielse@google.com> Add TtsSpan class.

The TtsSpan can be used to provide addtional data for TTS engines.

For now it only includes the types text and cardinals, but more will follow.

Change-Id: I31392dd413c0902ba4ce702fa3307253c90c618f
/frameworks/base/core/java/android/text/TextUtils.java
8d2aa199774f50256617351bf9caaaef59d47c59 15-May-2014 Raph Levien <raph@google.com> Fix android.text.cts.TextUtilsTest#testRegionMatches

The CTS test expects an ArrayIndexOutOfBounds exception when passing in
an unreasonably large value for len. Since the actual implementation was
causing an integer overflow, we were getting a different exception.
Since integer overflow is potentially dangerous, this patch tests for it
and throws an exception explicitly.

Change-Id: I0420c06185d33d130853861d25d4f65b06fe0dfa
/frameworks/base/core/java/android/text/TextUtils.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/TextUtils.java
d8415f4bf061000b049143b4f48b96b2005450bb 08-Aug-2013 Amith Yamasani <yamasani@google.com> Developer option to force RTL layout

Make sure screen layout changes are taken into account in Configuration diffs.
Initialize the SystemProperty from Global settings on startup of
ActivityManagerService.

TextUtils checks the override flag to decide if the default layout direction
should be forced to RTL.

Bug: 10244047
Change-Id: I23a2583d790a355060d0d898ba44e5f7dc896b46
/frameworks/base/core/java/android/text/TextUtils.java
577ba5354bf5a2899021e385ac9ca3cc07d35a60 19-Apr-2013 Victoria Lease <violets@google.com> do not attempt to parcel unknown ParcelableSpans

Bug: 8639983
Change-Id: I27335f6e9d3a0671ecdd161fdbf765785ef8065d
/frameworks/base/core/java/android/text/TextUtils.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/text/TextUtils.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/text/TextUtils.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/text/TextUtils.java
d3d9f3f1004dfee2649a26cfe8dba948cd364904 18-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7173351 API REVIEW: android.util.LocaleUtil

Change-Id: I08fd491eff714059e9ec874fadebe7eb556c34d5
/frameworks/base/core/java/android/text/TextUtils.java
df8ef4b139a8918895f8a5c62536123da06e81fe 18-Aug-2012 Victoria Lease <violets@google.com> DO NOT MERGE LocaleSpan makes Han disambiguation easy!

Cherry-pick of I7f1b0d49a2ece957a7b9b5d65d48385bf2c2a668 from master.

I've also provided TextView.setTextLocale() for use in single-language
TextViews.

Change-Id: I5692859bfd2aafc284172454d943afc250b22535
/frameworks/base/core/java/android/text/TextUtils.java
f3e64101bb2af1159518259229d5d429f8915787 31-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #6908329 TextUtils.ellipsize does not work properly when Locale is changed

- load the ellipis resources on the fly to get the correct ones depending on the Locale

Change-Id: I42d591e3f5ed715c983f736f94a80143a3897f47
/frameworks/base/core/java/android/text/TextUtils.java
957c800ac0cb8e375dc3d4c38011456d5c429f95 06-Mar-2012 Gilles Debunne <debunne@google.com> Merge "Ellipsize avoids spaces and starts right after text"
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/TextUtils.java
c70e7a0b8add16d2e6cec4d58c3cc74d08cc20b4 24-Feb-2012 Gilles Debunne <debunne@google.com> Ellipsize avoids spaces and starts right after text

Bug 5509226

Change ellipsize bounds to take spaces into account

The hardcoded ' ' character may be problematic with other langages.

Note that a different ellipsize logic also exists in StaticLayout.
Created 6062415 to track this.

Change-Id: I3406ec23a592f952bf3e0ca68f0838ee807baba0
/frameworks/base/core/java/android/text/TextUtils.java
f4832da16a9513e19881397abdbbf62285f8b852 13-Feb-2012 Marc Blank <mblank@google.com> Use &#39; for apostrophe in HTML encoding

* We were using &apos; which is not correct

Change-Id: I4872da7d5e19f18ecd570dbcaac295020d66681c
/frameworks/base/core/java/android/text/TextUtils.java
cb332649e44db86ff8b4e7f006db4bbfd82fed55 24-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5366547 TruncateAt.MARQUEE should be replaces with "two dot" ellipsis on hardware that dont support MARQUEE

- introduce TruncateAt.END_SMALL
- code refactoring for suppressing use of hardcoded constants

Change-Id: I70e24857cd5d6bd012a743cbc0ba46fbd06d5457
/frameworks/base/core/java/android/text/TextUtils.java
e90bed18cc123c0963bbcc023976fa355c16a352 30-Aug-2011 Gilles Debunne <debunne@google.com> Added an add to dictionary option in suggestions for misspelled words

Change-Id: I031f17a76b4a81ae375b778046b8c391f9b8b2b2
/frameworks/base/core/java/android/text/TextUtils.java
0eea6681519277310e1733d791bfc0342b8e5cea 29-Aug-2011 Gilles Debunne <debunne@google.com> Using ListView for Suggestion popup window

New background assets from Bug 5204807.
New text selection color and associated handles, bug 5217848.

Change-Id: I4eaea6be732843d8ff344400d029b4a1b80b084f
/frameworks/base/core/java/android/text/TextUtils.java
e6d368218918f911b1954296dab25bf84147b4c6 30-Aug-2011 Luca Zanolin <zano@google.com> Add EditTextShortcutSpan to provide edit short cut in the text view.

At the moment, EditTextShortcutSpan allows only the deletion of the text. In the future, we may decide to add extra functionality,
like "retry" where all the text is removed and a specific IME is triggered.

Fix the underline. The underline is not defined in thickness, and not as a multiplier of the default underline thickness.

Change the behaviour of SuggestionRangeSpan to match the specification.

Change-Id: I80437d9887c7a2ff8f62c38afbb0cb7add7ee9c8
/frameworks/base/core/java/android/text/TextUtils.java
28294cc74491885c7fe4442353026f01f5b773e8 24-Aug-2011 Gilles Debunne <debunne@google.com> Suggestions popup window is dismissed on tap outside.

But now the tap is not handled at all, as it was before. To do this, the popup window
is now focusable. As a result, the TextView's window loses focus. We hide the
cursor to prevent a non-blinking visible cursor. We should also fake the
state of the parent TextView to keep it visually focussed.

SuggestionRangeSpan and SpellCheckSpan had to made Parcelable since they are recreatedi
when the TextView is re-created when the popup is dismissed.

Change-Id: Ic99b2c4f02c282394f214938dd19168547af4886
/frameworks/base/core/java/android/text/TextUtils.java
fa4d7754edcbca7a3f651fe319e42d7624518452 18-Aug-2011 Jeff Sharkey <jsharkey@android.com> Combine list of CharSequence with delimeter.

Change-Id: I7d86b89a84f6d91e5441c8af63310b37f16974fc
/frameworks/base/core/java/android/text/TextUtils.java
cb379120456d8065d742021fc5c66748fc8a11a8 07-Jul-2011 Doug Felt <dougfelt@google.com> Implement textDirection heuristic selection.

Change-Id: I2fcf18de573f2d66494fa5ed61e4273c3c6078c7
/frameworks/base/core/java/android/text/TextUtils.java
f4c4a276e2a78528d2387319313e99c559142cf9 02-May-2011 Conley Owens <cco3@android.com> Merge commit 'f395e304' into m

Conflicts:
core/tests/coretests/src/android/text/TextUtilsTest.java

Change-Id: I7439f7f80cf91ff654c0ddd79c3e6b3808ba4784
f395e3042accd7f3f5df466dbb532befcd1db5d4 30-Apr-2011 Conley Owens <cco3@android.com> am 19653c64: am 425db473: Merge "CHAR_SEQUENCE_CREATOR cannot handle null string"

* commit '19653c6440eaf7328ecbc01c3ca6d7a910906484':
CHAR_SEQUENCE_CREATOR cannot handle null string
a00972ab9a95f945342fdbf58956992e01310398 14-Apr-2011 Gilles Debunne <debunne@google.com> Fix around suggestionSpan.

Since the kind was unknown, doing a copy/cut on text with a SuggestionSpan crashed.

Change-Id: I10c0677b3587897b82c794db57d7b07149f12e09
/frameworks/base/core/java/android/text/TextUtils.java
cee2051adac53a85653ba8ead3a671c0978af43b 07-Apr-2011 Martin Wallgren <martin.wallgren@sonyericsson.com> 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
/frameworks/base/core/java/android/text/TextUtils.java
adb435835fb9a5f2bb74d29930b239dde18504a7 09-Mar-2011 satok <satok@google.com> Add CorrectionSpan and APIs to pass a secure CorrectionSpan to TextView

- 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
/frameworks/base/core/java/android/text/TextUtils.java
1e3ac18e7ad03e02819f3e1a89d6a80a2bb7645f 08-Mar-2011 Gilles Debunne <debunne@google.com> Empty spans are not considered in text layout/rendering process.

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
/frameworks/base/core/java/android/text/TextUtils.java
4c8ad6eb6241a0f689e49237ecadb65e8ffa4b6c 28-Jan-2011 Brian Muramatsu <btmura@google.com> Fix TextUtils#commaEllipsize

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
/frameworks/base/core/java/android/text/TextUtils.java
42a5ed2015461126bd012d6f8f3e1311e5721807 12-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 171c83f4 to master

Change-Id: I56a4c1838b17cf40d96763f95df3c84fc86359eb
11fe181e16501103d7c0f70344661ea2ef5d3df9 11-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> Add faster TextUtil function for searching delimited lists.

The previous version in Settings allocated memory.

Change-Id: I0f821112dc8f830689489f201ce268195f9e6cbd
/frameworks/base/core/java/android/text/TextUtils.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/TextUtils.java
60919953ce80dbf75673837ea51497c84da7ac78 01-Mar-2010 Mark Wagner <mxw@google.com> check offset and don't crash
/frameworks/base/core/java/android/text/TextUtils.java
973afa96bf184be6b8b5a25963568650e70750f7 03-Dec-2009 Daisuke Miyakawa <dmiyakawa@google.com> Add isPrintableAscii() and isPrintableAsciiOnly() to TextUtils.java as 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
/frameworks/base/core/java/android/text/TextUtils.java
c1d2748d442f06a7266be04b9e9c7d20609ad5cc 25-May-2009 Daisuke Miyakawa <dmiyakawa@google.com> Manual merge from cupcake_dcm. Need to be reviewed by enf.
/frameworks/base/core/java/android/text/TextUtils.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/TextUtils.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/TextUtils.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/text/TextUtils.java
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
/frameworks/base/core/java/android/text/TextUtils.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/text/TextUtils.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/text/TextUtils.java