History log of /frameworks/base/core/java/android/text/SpannableStringBuilder.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
653d3a27878d5358b4a91518a756f6b9b3407b07 07-Dec-2011 Gilles Debunne <debunne@google.com> Limit created string size in Spell Checker

Change-Id: I2f4e7a8b0022d76bc30199ff80c2fe637dbe03ef
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
b062e81e3a16af43db3619d721aa522c137d1aa9 27-Sep-2011 Gilles Debunne <debunne@google.com> Too many SpellCheckSpans are created.

Removed the Runnable in SpellChecker, spell check is triggered at the end
of updateSpellCheckSpans instead of when a new SpellCheckSpan is created.

Cache the spans in updateSpellCheckSpans to limit the calls to getSpans.

When typing, every new letter in a word will create a SpellCheckSpan
(this is needed in case the user taps somewhere else on the screen)
The SpellCheckSpans are pooled in SpellChecker to limit unnecessary new
SpellCheckSpan creation.

Minor optimization on test order in getSpans to avoid some calculation.

Spell check is not started everytime the selection is changed (would be
triggered when the insertion handle is moved). Explicitely do that only
on tap.

Change-Id: Ibacf80dd4ba098494e0b5ba0e58a362782fc8f71
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
945ee9b1661e60e0074d4f16f61fc147c728c6bf 20-Sep-2011 Gilles Debunne <debunne@google.com> Bug 5250788: TextView gets slower as the text length grows

getSpans was called too many times in handleRun. Pre-compute the
subset of intersected spans and iterate over a subset of it instead.

Moving the instanceof test in getSpans after the other tests also
speeds things up a lot.

On a text with ~300 words, all with a span attached, getSpans went down
from 78% to 14% of the CPU usage.

Change-Id: I59bc44f610e9a548e0dcec68b180934da9e5c559
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
6435a56a8c02de98befcc8cd743b2b638cffb327 05-Aug-2011 Gilles Debunne <debunne@google.com> Spell checking in TextViews

New UX interactions (the Paste action is no longer displayed after a delay)
suggestionEnabled flag replaced by existing input type flag.
removeSpans fixed in SpannableStringBuilder to always send notifications
SuggestionSpan handled by TextView instead of SpannableStringBuilder

New span update algorithm to correctly handle edition around word boundaries.

Change-Id: I52c01172f19e595fa512e285a565a3fd97c3c50e
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
75beb336f4b164c3bed5d4b91f0b9c6ea49a3437 29-Apr-2011 Gilles Debunne <debunne@google.com> SuggestionSpans are removed around edited text.

SuggestionSpans do not make sense anymore when the text they
refer to is modified. Removed these at the lowest possible common
level: In the SpannableStringBuilder that is used to back the Editable.

This way, IME do not have to care about removing these when they change
text. And they cannot forget to so either.

Also fixed a bug in TextView's paste with multi-item paste text (never
exercised, since we have no source for such a thing).

Change-Id: I08ed921f8c04ffb1a00936a3e554a85ee82f103c
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
0a1413e4bf9dcda2a8abb2287e43f612a7fb2453 22-Apr-2011 Fabrice Di Meglio <fdimeglio@google.com> Clean getTextRunAdvances() APIs

- remove ICU reference in API names
- use a "reserved" int parameter to pass either "0" for Harfbuzz or "1" for "ICU"

Change-Id: I88b4f76feafd203a6999cd7349402fa36a9a4b2a
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
eee49c699c035ffba188417489f40d34f587d65c 25-Mar-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix text redering issue where the text was sometimes truncated

- mostly was visible in Settings apps / Wi-Fi networks summary info for each network
- correctly setup the local SkPaint for advances computation
- improve test app for adding live resizing

Change-Id: Ia031fe1b115b521ba55c7e68f2a26300f02e48ca
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
b0b225602cc84e0602450a417a562e8f53f29c6b 03-Mar-2011 Gilles Debunne <debunne@google.com> getTextRunCursor gets deprecated in SpannableStringBuilder

Change-Id: I2d408ebff90add7afc242bb01df9ab96c6fc7fa7
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
616f3835a0a67328b378cb1cbc126f17478ab4a0 03-Mar-2011 Gilles Debunne <debunne@google.com> Removed documentation links

Broken build.

Should the Paint fields be made public or should the SpanStringBuilder
method be hidden ???

Change-Id: I8ecea19104357ea53ad53b23d02a707ec422161d
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
5a39c95c004d856b47a844c962b1c2b18f4e96aa 03-Mar-2011 Gilles Debunne <debunne@google.com> Extra @Override removed in SpanStringBuilder

These were added in 99657 by using a misconfigured eclipse
save action that adds @Overirde to interfaces (Java 1.6 only).

Change-Id: I766bbde917b0bb063cb6d588ee276787e2f7db66
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
f09d510cd18854f41632433503ca46cc41362feb 03-Mar-2011 Gilles Debunne <debunne@google.com> Added documentation for SpannableStringBuilder.getTextRunCursor

Bug 3370244

Change-Id: I621a1599ff18da928044dd37a0d7cc861cc6f48f
/frameworks/base/core/java/android/text/SpannableStringBuilder.java
312cd580391d70140eeb4080a4e195039172a6a6 03-Jul-2010 Gilles Debunne <debunne@google.com> Fixed bug in getTextRunCursor.

When auto-correction is used, the text is modified to underline the corrected word, which
modifies mGapLength and mGapStart. The mGapLength shift was not properly handled in getTextRunCursor.

Bug 2807595

Change-Id: I43ee216f6780270e452aa9199ffd892fe7ab6c3f
/frameworks/base/core/java/android/text/SpannableStringBuilder.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/SpannableStringBuilder.java
f47d7405bbcb25d7cdf89ebb059f41520fe9ab87 22-Apr-2010 Doug Felt <dougfelt@google.com> Modify Canvas drawText to run bidi and shape.

Adds drawTextRun as internal API on Canvas and GraphicsOperations.
Adds implementation to implementors of GraphicsOperations.

Adds state and API on Paint to control the bidi algorithm when used
by Canvas. This API is currently hidden.

The drawText changes are incomplete since shaping is not yet available
in the native code.

Change-Id: I4368048aef9545df0953a349381771603e04b619
/frameworks/base/core/java/android/text/SpannableStringBuilder.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/SpannableStringBuilder.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/SpannableStringBuilder.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/SpannableStringBuilder.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/text/SpannableStringBuilder.java