• Home
  • History
  • Annotate
  • only in /frameworks/base/core/java/android/text/
History log of /frameworks/base/core/java/android/text/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3d1728c03a0cd1aaed6bc81c97de27d62c771a6e 01-Nov-2012 Romain Guy <romainguy@google.com> A new clock widget to create lock screen appwidgets

This new widget replaces DigitalClock. It listens to all the correct
system events and offer the ability to customize the formatting
patterns in 12-hour and 24-hour modes. It also supports fixed
time zones to create world clocks.

One more step towards becoming ClockOS!

Change-Id: I677e5dfca8cd8c8d1f8c49e54d7507f4d1885bf4
ormat/DateFormat.java
42ef515d185d4fc038d602172789cc264f1d9960 23-Oct-2012 Raph Levien <raph@google.com> Fix for bug: Gmail (and other places): cursor placed on top of letter

This patch fixes bug 7346656. In this particular case, the text line in
the EditText was split into multiple spans, with the boundary between
the "r" and "," in "r,". These were being drawn as two separate runs,
but measured as a single run, leading to inconsistent measurements
because this is a kern pair in Roboto.

The fix is to eliminate the special-case code for measuring. This will
actually improve efficiency, as the value computed in one pass is now
more likely to be reused in another.

Change-Id: I04142a0ec98f280fc1027c7cbdbf903e3096f8e4
extLine.java
286da7b6f5389166afa2e71c11809a7db6acf3f8 08-Oct-2012 Raph Levien <raph@google.com> Fix for 7301594 Html.toHtml creating potentially invalid html

Generate <p dir="rtl"> instead of <p dir=rtl>. The form with the quotes
is cleaner and will reduce warnings in apps that consume the output.

Change-Id: Ic9879c8c882c42079598b741e897a24415d96374
tml.java
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
ayout.java
3d5be42eaa35914d9b37fe052fa7222dc1992dc0 20-Sep-2012 Elliott Hughes <enh@google.com> Merge changes I87c2ab9e,I2dafcc34,I731c96c2 into jb-mr1-dev

* changes:
Fix formatDateRange month names for Farsi.
Use localized digits for Time formatting.
Use proper digits in formatElapsedTime and format3339
9ccf13cd6b7c840105fbcd6b2a8bd61d4e634653 19-Sep-2012 Elliott Hughes <enh@google.com> Fix formatDateRange month names for Farsi.

This removes the LLLs seen in Calendar and Settings, for example.

Bug: 6811327
Change-Id: I87c2ab9ee8d897171ce7ca4fe06cfa8b11d36536
ormat/DateUtils.java
6323b6c61775992e400c2d38981332583107c32b 19-Sep-2012 Elliott Hughes <enh@google.com> Use localized digits for Time formatting.

This fixes the digits in places like Settings' data usage page
and Calendar's drop-down, for languages such as Arabic.

Bug: 6811327
Change-Id: I2dafcc342e3279937735697b3748b47fdfc8e691
ormat/Time.java
20586fa0353f63453766140b32a4778793ce2b43 18-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #7173351 API REVIEW: android.util.LocaleUtil" into jb-mr1-dev
315a7c0335fb54beced23b1703c10563ce02ee82 18-Sep-2012 Roozbeh Pournader <roozbeh@google.com> Use proper digits in formatElapsedTime and format3339

Use getZeroDigit() instead of a hard-coded '0' for formatting times using
formatElapsedTime, so locales with different digits like Arabic and Persian
could display the elapsed time properly. This is visible in Settings' list
of running apps.

Also changed android.text.format.Time's format3339 method to always use ASCII
digits, irrespective of the locale.

Change-Id: I731c96c21b3712ec347d9526e4ec3fe884dec276
ormat/DateUtils.java
ormat/Time.java
d3d9f3f1004dfee2649a26cfe8dba948cd364904 18-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7173351 API REVIEW: android.util.LocaleUtil

Change-Id: I08fd491eff714059e9ec874fadebe7eb556c34d5
extDirectionHeuristics.java
extUtils.java
34de3bc309fd9077cc1aa1e1af82652670fdb9df 15-Sep-2012 Elliott Hughes <enh@google.com> Fix date formatting for fa locales.

This adds support for standalone months (L versus M) and localized
digits.

Bug: 6811327
Change-Id: I4687a4c67605c31b155c0b8d44b3da6ed378fc82
ormat/DateFormat.java
c3ff72f5bd5896ad2584e0cc0582cbd2ad8191f2 15-Aug-2012 Elliott Hughes <enh@google.com> Use icu4c for CLDR "yesterday", "today", and "tomorrow" strings.

(cherry-pick of 47a0539ecaf7d7a15008704bd89f748aebf85d47.)

Conflicts:

core/res/res/values/public.xml

Bug: 6811501
Change-Id: Ifb2e030a9fda85a7f664feac812b63e67780e68f
ormat/DateUtils.java
08153ee01e6aa67061f628bc3fed66c6400dfd1c 07-Aug-2012 Elliott Hughes <enh@google.com> Switch DateUtils and Time over to using the CLDR for all week and month names.

(cherry-pick of 99c406e42ba154584070ca7ec100e8be7ff8a800.)

Conflicts:

core/res/res/values-fa/donottranslate-cldr.xml
core/res/res/values/public.xml

Bug: 6811501
Change-Id: I2ad9608ae34804e02c6b0271197e96611df12b0a
ormat/DateUtils.java
ormat/Time.java
4af85345e798c37ab026e93a1ae250d8bca4fc40 26-Jul-2012 Elliott Hughes <enh@google.com> Use ICU's CLDR data for "AM" and "PM" strings.

This brings DateUtils and Time in sync with bionic, icu, WebKit,
DateFormatSymbols, Formatter, and SimpleDateFormat. And specifically
means that DateUtils now knows how to say "AM" and "PM" in Japanese.

Bug: 6719054

(cherry-pick of b12b61a88a029730b1f2b006ff914c9c719f3942.)

Conflicts:

core/res/res/values/public.xml

Change-Id: Ic1a811621a0ec338abd77458ac2046577f87c1e4
ormat/DateUtils.java
ormat/Time.java
9ceede6d7e250922e63b0d2c90403089f8736e0c 15-Sep-2012 Elliott Hughes <enh@google.com> am 086676a4: am f5437ee8: am 297ad257: Merge "Deprecate those parts of DateUtils the documentation says not to use."

* commit '086676a4a669b5d3a90c01e4d88ab8d628ca65f0':
Deprecate those parts of DateUtils the documentation says not to use.
f5437ee86a34751fa6d441b95282feb315e19eb6 15-Sep-2012 Elliott Hughes <enh@google.com> am 297ad257: Merge "Deprecate those parts of DateUtils the documentation says not to use."

* commit '297ad257464d2ea65cabd45ddb19f6da34b39157':
Deprecate those parts of DateUtils the documentation says not to use.
d3c01012d8d329e541214e8207272ab5cc9ca004 29-Aug-2012 Elliott Hughes <enh@google.com> Deprecate those parts of DateUtils the documentation says not to use.

Applications using these fields and methods are just asking for i18n bugs.

Also @deprecate two int[]s that were never meant to be public.

Change-Id: I29b3a1c0c663fe344d2567df6ed3bb537270b3b7
ormat/DateUtils.java
5ef49427b6e735ba17d96184ac2bcbcafb434d82 26-Jul-2012 Elliott Hughes <enh@google.com> Fix Time.parse and Time.parse3339 crashing bugs. DO NOT MERGE

Two reported by users, the other spotted by inspection.

Bug: http://code.google.com/p/android/issues/detail?id=16002
Bug: http://code.google.com/p/android/issues/detail?id=22225
Change-Id: I86fe022fda4af68e5a6fb9dc5dd2abdb75e9d966

This was committed to master, cherry-picking to jb-mr1-dev
ormat/Time.java
e45ca31a613d8692a9db2117be96f442e57abfef 27-Aug-2012 Dianne Hackborn <hackbod@android.com> am aae49432: am 4763989d: am 32d1fec5: Merge "Fixes relative time formatting issue for dates in future"

* commit 'aae4943297a08a659add964a3fef96bdfa0b2c14':
Fixes relative time formatting issue for dates in future
aae4943297a08a659add964a3fef96bdfa0b2c14 27-Aug-2012 Dianne Hackborn <hackbod@android.com> am 4763989d: am 32d1fec5: Merge "Fixes relative time formatting issue for dates in future"

* commit '4763989d95342c25e9b857dc9ee21eb5ebac31d6':
Fixes relative time formatting issue for dates in future
ca3363775e03e0f90bdf111d3e5c54b3ab16df57 27-Aug-2012 Steve Pomeroy <steve@staticfree.info> Fixes relative time formatting issue for dates in future

All variations of getRelativeTimeSpanString() now properly handle dates
that are in the future. Prior, the version used by
getRelativeDateTimeString() would occasionally show the time instead of
a date when the future date was the same weekday as the current weekday.
This resulted in the time output being duplicated, eg.: "11:23, 11:23"

Change-Id: If20972a6942cce792fa233437f94dedfb71379f3
Signed-off-by: Steve Pomeroy <steve@staticfree.info>
ormat/DateUtils.java
7c3255f14f83afb00da32aede43664e16da51f53 24-Aug-2012 Raph Levien <raph@google.com> Fix bug 7054190 line breaks at inappropriate places

We were doing line breaks after punctuation as long as they weren't
surrounded by digits. This is a misinterpretation of the Unicode line
breaking algorithm. Punctuation (class IS) is not hugely different than
the default classes (NU and AL) - there are breaks after punctuation
that are allowed (for example, followed by an open parenthesis), but
we're not implementing the algorithm with anything near that level of
fidelity.

The long term fix is to really implement the algorithm. In the shorter
term, the easiest thing to do is to remove the special case altogether.

Change-Id: Ic4dc3216c2a4191fbb7cfa06e9dc038d1a56398c
taticLayout.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
extUtils.java
tyle/LocaleSpan.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
extUtils.java
8e136f85f761fe6a31f45a2594405a2d6143716f 10-Jul-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix for bug 6716343. Use correct offset for mPos reset. DO NOT MERGE

The mPos field in the MeasuredText object is relative to the start of
the text (mTextStart), but the pos passed in by the caller of the
setPos() method is relative to the character sequence. When spans
overlap break boundaries and the paragraph doesn't start at 0, the
result is an out of bounds error. This fix uses the correct offset.

Change-Id: I64ef06df0eb06f75aedd25de97e9f347eeb52979
easuredText.java
1341ab6f3808d8c11b147f82bc7735116c7d709f 10-Jul-2012 Raph Levien <raph@google.com> Fix for bug 6716343. Use correct offset for mPos reset.

The mPos field in the MeasuredText object is relative to the start of
the text (mTextStart), but the pos passed in by the caller of the
setPos() method is relative to the character sequence. When spans
overlap break boundaries and the paragraph doesn't start at 0, the
result is an out of bounds error. This fix uses the correct offset.

Change-Id: I12c7a2311a9bdbbea7ab21554a922b7f665a17bf
easuredText.java
884eb4b88459d65a7b3b0b140418ab07cbf1f526 02-Jul-2012 Gilles Debunne <debunne@google.com> Merge "Better handling of spaces at ends of lines in StaticLayout."
81541491946bfc4f2e26c171b4ebff4249dca51c 27-Jun-2012 Gilles Debunne <debunne@google.com> Better handling of spaces at ends of lines in StaticLayout.

Skipping spaces at ends of line used to be done only when ok != here
(a potential line break was found).

Moved this logic up one level to handle all cases.

Also moved maxLine test in the block that actually adds a new line.

Updated the unit tests accordingly.

Change-Id: Ib10bc838b1ffa5b8a60259ea4b622d9fecb2ec70
taticLayout.java
dd0c25c9219d707d3d88bd54b5a1268d9b4d0780 27-Jun-2012 Gilles Debunne <debunne@google.com> Added comments describing the span limit attributes

Patch: replaced left/right by before/after and added a comment on RTL.

Change-Id: Iccd70adfbba4cb5f76d2729eeb81fed9b50403ae
panned.java
099adfba812c00e81f26a3c7099ff4365f071847 19-Jun-2012 Gilles Debunne <debunne@google.com> am 4c268a32: am badf5a94: Merge "Fixed text rendering issue with spans." into jb-dev

* commit '4c268a32714fefe141d093abb59806a2d6f2991c':
Fixed text rendering issue with spans.
badf5a9442e639dc6ae2c4794c202143f6d2f16d 19-Jun-2012 Gilles Debunne <debunne@google.com> Merge "Fixed text rendering issue with spans." into jb-dev
cd943a7a013952af9b7286fd506fd63bf0993ac1 08-Jun-2012 Gilles Debunne <debunne@google.com> Fixed text rendering issue with spans.

Bug 6598784

The algorithm uses three imbricated loops:
- paragraphs
- span regions (called "blocks" in that description) in these
- characters in these

We can ignore the paragraphs and assume paraStart==0.

The span region loop cuts the text into blocks of text which share
the same set of MetricAffectingSpan spans applied to them. Note that
spanStart and spanEnd represent such a range, and not necessarily an
actual span range.

The third loop then iterates over the characters of these blocks, and creates
a new line (calling out() as soon as the width has been reached.

The core of the problem comes from the 'nextSpanStart' variable.
It is used to restart the block loop from a previous position in case
a line has been created that does not intersect with the current block.

However, in case the current block is larger than the width of the text,
the character loop is going to create other lines of text before we exit the
j-loop. Going back to the block loop, we reset spanStart to the nextSpanStart,
which may be too far back in the text. As a result, the same range of characters
is measured again.

The (spanStart == spanEnd) test was used to handle the case where
nextSpanStart was indeed assigned to a value different than spanEnd.

This fix simplifies this logic and removes the nextSpanStart variable:

When the created line ends before the current block (here < spanStart), we
immediately exit the character loop, re-starting the block loop from the
current position.

Patch 4: added a fix in measured to handle overlapping character ranges.

Change-Id: Ie71b3cf4018b332e335ea916fef08acb43a6679e
easuredText.java
taticLayout.java
7fbede44edb6cebaf42ec75a3812ebd15b82925a 14-Jun-2012 Fabrice Di Meglio <fdimeglio@google.com> am 99745c01: am 15c9c614: Merge "Fix bug #6661824 Hebrew Text can be clipped" into jb-dev

* commit '99745c01797c34ce7ca76640deab09fc728aee4e':
Fix bug #6661824 Hebrew Text can be clipped
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
ayout.java
taticLayout.java
30103f66982273aebed1a07275351c924874ac17 12-Jun-2012 Gilles Debunne <debunne@google.com> am 735b9598: am a447eaca: Merge "Prevent a crash when maxLines is set to 0" into jb-dev

* commit '735b9598a2c7824befbdfc55ef4991ca01550d84':
Prevent a crash when maxLines is set to 0
49ccb116e9f2f3cf1233738c931f3e620287afc4 12-Jun-2012 Victoria Lease <violets@google.com> am 1b15102f: am 72b8fc7e: Merge "Revert "Fix fake bold for fallback fonts in frameworks."" into jb-dev

* commit '1b15102fc040f59c72c6453dee15b791f54c9f06':
Revert "Fix fake bold for fallback fonts in frameworks."
a447eaca555e45ebbbc5e4de2762e19dbca12980 12-Jun-2012 Gilles Debunne <debunne@google.com> Merge "Prevent a crash when maxLines is set to 0" into jb-dev
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
ayout.java
aa0980afab57a6aebb06e70f60e92511708fa5af 11-Jun-2012 Victoria Lease <violets@google.com> Revert "Fix fake bold for fallback fonts in frameworks."

This reverts commit b26fa0ce68d3311b2fdffb930b27d897e481dd5a
tyle/StyleSpan.java
tyle/TextAppearanceSpan.java
tyle/TypefaceSpan.java
c3672a4e19d3a0063c6d467453e9d7e03b2c1d2f 09-Jun-2012 Victoria Lease <violets@google.com> am 2203fab2: am 2e6f9be5: Merge "Fix fake bold for fallback fonts in frameworks." into jb-dev

* commit '2203fab24966c80af5c37f0a58263218dbbcd610':
Fix fake bold for fallback fonts in frameworks.
b26fa0ce68d3311b2fdffb930b27d897e481dd5a 08-Jun-2012 Victoria Lease <violets@google.com> Fix fake bold for fallback fonts in frameworks.

This change is analogous to Ic0e9f1bbd8cae9fdd3a6d1d015bb9224c8be545c
in WebView, and depends upon the same Skia change that that CL makes
use of.

This flips the "fake bold" flag on for bold fonts in
TextView.setTypeface(), with the expectation that Skia will ignore
the flag if the final typeface used to render the glyphs is already
bold. It also does the same for StyleSpans, TextAppearanceSpans,
TypefaceSpans, and the Switch widget.

With this, fake bold should work uniformly across all scripts - if
fake bold works for a primary typeface, it should also work for all
fallback typefaces.

Bug: 6629786
Change-Id: Id3b8639ab0df83052ffd82809cb12adaacc1d46b
tyle/StyleSpan.java
tyle/TextAppearanceSpan.java
tyle/TypefaceSpan.java
76abb24afa366b6de0176cc14bc50ea7533418a6 30-May-2012 Jean Chalard <jchalard@google.com> am 887568c4: am 01bf82f2: Merge "Add/refine comments to reflect key event policies" into jb-dev

* commit '887568c4f4e49b78b1549459b265377c7ee4e8c0':
Add/refine comments to reflect key event policies
405bc51c5dc73846a4abdc325cd234eb2d37469f 29-May-2012 Jean Chalard <jchalard@google.com> Add/refine comments to reflect key event policies

Make clearer how the platform is handling key events following some
unfortunate uses by third party applications. Also highlight the
changes in Jelly Bean default keyboard.

Bug: 6566711
Change-Id: Ibcdaf54c6d629fd0733529bfe2fffc82f555f084
ethod/BaseKeyListener.java
ethod/DateKeyListener.java
ethod/DateTimeKeyListener.java
ethod/DialerKeyListener.java
ethod/DigitsKeyListener.java
ethod/KeyListener.java
ethod/MultiTapKeyListener.java
ethod/NumberKeyListener.java
ethod/QwertyKeyListener.java
ethod/TextKeyListener.java
ethod/TimeKeyListener.java
579cc204a23e05f5db3824be1a0c025af0129578 14-May-2012 Gilles Debunne <debunne@google.com> am b00ceecb: am 0ae107ff: Merge "Cut long text into multiple DL at start" into jb-dev

* commit 'b00ceecb96063a30bb73b13e156a6da00e3900e7':
Cut long text into multiple DL at start
0ae107ff34dd998dbe86736297e9325051ad5152 12-May-2012 Gilles Debunne <debunne@google.com> Merge "Cut long text into multiple DL at start" into jb-dev
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
ynamicLayout.java
2ab65680466e2dc9018020f99c2681f30ef2e42d 11-May-2012 Raph Levien <raph@google.com> resolved conflicts for merge of a9cc30ce to master

Change-Id: I507bd7a4650f9a7bfe6a0ad7bb8dd4067adb6a8b
d570e8987ae50ee101c3d4cfa973e1a6b6ecc8f5 09-May-2012 Raph Levien <raph@google.com> Add fontFamily XML attribute to select font family by string

Change-Id: I0b649528d3d9888e3561a1a3907a6b6ee2e30238
tyle/TextAppearanceSpan.java
bb5971a78f6fa8b33756c0aed45512c94691a1c3 08-May-2012 Gilles Debunne <debunne@google.com> am 8779c022: am 0caf421e: Merge "Final fix in SpannableStringBuilder." into jb-dev

* commit '8779c022b401b2a269e058c2c27b885694b696f3':
Final fix in SpannableStringBuilder.
0caf421e3aacea928f2ce0e99e101a6584127527 07-May-2012 Gilles Debunne <debunne@google.com> Merge "Final fix in SpannableStringBuilder." into jb-dev
e244868053cfe44742b42e75df3a08d0c5914bca 05-May-2012 Gilles Debunne <debunne@google.com> Final fix in SpannableStringBuilder.

Bug 6448052

The empty EXCLUSIVE removal condition was incorrect.
Also changed the unit test the didn't catch this problem.

Change-Id: I5576d830cdfa6cc3716c878fb698695a2978b296
pannableStringBuilder.java
66388dcb09018933ccd1d38eae563f0890ba4f06 04-May-2012 Fabrice Di Meglio <fdimeglio@google.com> Hide RTL related APIs - DO NOT MERGE

- fix bug #6441155 API review: @hide RTL layout APIs

Change-Id: I13c5ea5f579cecffed9d517f06180ab0576cd26a
extDirectionHeuristics.java
cefb4bc011fe47ec83b2fd9ec4da28bdf806c0cd 03-May-2012 Gilles Debunne <debunne@google.com> Hide TextDirectionHeuristics

Bug 6435363

Change-Id: I9ba0a3c057af67e2876e64fd8c18adbb8f4d0860
extDirectionHeuristic.java
extDirectionHeuristics.java
2d589ffa1e8a2721f0d19f38a01337186561e559 01-May-2012 Gilles Debunne <debunne@google.com> Merge "SpannableStringBuilder correctly manages MARK and POINTS" into jb-dev
26b62d432101084c832f5587798cfd24a4ed9c59 27-Apr-2012 Gilles Debunne <debunne@google.com> SpannableStringBuilder correctly manages MARK and POINTS

Bug 6343982

Finally deeply understood the meaning of the POINT and MARK flags.

Updated the Spanned documentation to reflect this.

Updated tests to come.

Change-Id: I400d56b7b4929bc1e7eb4f0497d8e081ee23682e
pannableStringBuilder.java
panned.java
eca5b7385a641ae5d8c4aa2b7823a4e573737376 26-Apr-2012 Gilles Debunne <debunne@google.com> Basic renaming refactoring in Layout

Change-Id: I79f5444a097f1e2b2a81ececf1f0a14b6d7d5179
ayout.java
97c03cac4d9a73b75096e1fa1d8927263dce39e1 25-Apr-2012 Gilles Debunne <debunne@google.com> Merge "Do not notify text watchers when replace is a no-op"
9177947741976f61ff1c446ccb63e3120bad7069 24-Apr-2012 Gilles Debunne <debunne@google.com> Merge "Fixed SSB. Correct broadcast of removed spans' positions"
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
ynamicLayout.java
d60da058c6a9a63ef7347685f39a9dedebbc6afa 19-Apr-2012 Gilles Debunne <debunne@google.com> Do not notify text watchers when replace is a no-op

Bug 6344997

The early exit we used to do when both replaced and replacement
strings were empty has been added back.

Only this time it correctly also makes sure no spans from the
replacement string would get added with a 0-length.

Change-Id: Ifc38a7e3619c57aa7647c0a8e63d7627d86f1036
pannableStringBuilder.java
90985286442340b9ad9433d6bf8d51702c8d0fd9 18-Apr-2012 Gilles Debunne <debunne@google.com> Fixed SSB. Correct broadcast of removed spans' positions

Found while tracking bug 6326750

A bug in the SpannableStringBuilderSpanTest JUnit CTS test was hiding
this problem.

Also removed the instanceof test on SpanWatcher. All spans, including
those implementing this interface should be copied.

Change-Id: I5233818fb0c08ab56477720db932a5be453e88ee
pannableStringBuilder.java
acb69bb909d098cea284df47d794c17171d84c91 14-Apr-2012 Dianne Hackborn <hackbod@google.com> Add direct support for HTML formatted text in ClipData etc.

When using the clipboard, ACTION_SEND, etc., you can now supply
HTML formatted text as one of the representations. This is exposed
as a set of methods on ClipData for building items with HTML
formatted text, and retrieving and coercing to HTML (and styled)
text. In addtion, there is a new EXTRA_HTML_TEXT for interoperating
with the old ACTION_SEND protocol.

Change-Id: I8846520a480c8a5f829ec1e693aeebd425ac170d
tml.java
174c44c6cfeead714bb180d21332e712e8b0bbd8 11-Apr-2012 Gilles Debunne <debunne@google.com> SpannableStringBuilder correctly broadcast span changes during replace

Bug 6331765

A call to replace was previously not sending any span modification to the
attached span watchers.

Change-Id: Ic9e4a8ac0210e422961adfb18e205d80531889fe
pannableStringBuilder.java
34ec2b54da52eeed39d9cf9e5f215650b447edd7 10-Apr-2012 Gilles Debunne <debunne@google.com> Removed exception from SpannableStringBuilder

Bug 6312196

Change-Id: I9cece36b40d8948e0e85bd433954818991009ad5
pannableStringBuilder.java
0249b43f6ce59bfec104f0fe606d9059244f8797 10-Apr-2012 Gilles Debunne <debunne@google.com> Faster and simpler replace in SSB, take two

This is a new version of CL 179343 which had to be reverted.

This problem of the previous CL is that the ComposingSpan that
was part of the replacement text was correctly added during the
replace but was immediately removed because it had a zero-length
size.

Swapping the add and remove blocks solves the problem.

The new non-zero length enforcement also revealed a bug in the
spell checker where we were creating useless range spans.

Change-Id: I59cebd4708af3becc7ab625ae41bc36837f1a1cf
pannableStringBuilder.java
425c726ae0691cadc1b03b5f3726368fbdc46bff 09-Apr-2012 Gilles Debunne <debunne@google.com> Merge "More minor refactoring in SpannableStringBuilder"
bc6862300fe5675addfe4ed5d0c7c345aad463aa 06-Apr-2012 Gilles Debunne <debunne@google.com> Revert "Faster and simpler replace in SSB"

Bug 6300658

This change reveals a weird race condition where sometimes the
text is entered twice. Adding a debugger slows down everything,
and the problem is no longer reproducable. Reverting for now.

This reverts commit ebd9a23817052c4d2aaa1058efa2b80b08003d4a.
pannableStringBuilder.java
7c5f670bd698c984dcafea8125f4d3939bc42972 06-Apr-2012 Gilles Debunne <debunne@google.com> More minor refactoring in SpannableStringBuilder

No change in the functionnalities.

Change-Id: I009acc75b4f70e65a810cdc67505bc0b13e627b2
pannableStringBuilder.java
ebd9a23817052c4d2aaa1058efa2b80b08003d4a 05-Apr-2012 Gilles Debunne <debunne@google.com> Faster and simpler replace in SSB

The original method was adding a suspicious space that was eventually
removed with a series of 3 calls to change.

This should not be necessary. I have tested this with various gap
positions and lengths, for all replace cases I could think of.

The test can not be added to the CTS as it would need to expose the
internal resizeFor and moveGapTo methods.

Change-Id: I194457fbcfd758fa69a7f380665cfd5ae4d3f1d4
pannableStringBuilder.java
b51036f72aa69e56133fefbf2b56724768423512 02-Apr-2012 Gilles Debunne <debunne@google.com> Refactoring SpannableStringBuilder

Made TextWatcher notification process clearer by moving it to
a single place, with methods renamed.

Also reverts CL 177544: we cannot broadcast span chages just yet,
the layout has not been reflown. A future CL will change this
behavior to make sure span changes are correctly broadcasted.

Change-Id: I9ef88dce91dff5f5f45e2845d5b3f18f1c853de3
pannableStringBuilder.java
fc1190b8f143bd00c825d4e52928c577e40e6c49 30-Mar-2012 Gilles Debunne <debunne@google.com> Spans added during a text change are broadcasted

More consistent with the SpanWatcher design.

Change-Id: I3a1e4d92fb422f4cc689dabcdef1473d93fef5ad
pannableStringBuilder.java
1e130b2abc051081982b5a793a18a28376c945e4 15-Mar-2012 Gilles Debunne <debunne@google.com> Added a unit test for DynamicLayout#updateBlocks

Change-Id: I1824ebeae2bbb5c60a65de36fe1696bf003347c9
ynamicLayout.java
cde6adf45c90ad3fdc94446ede6a228ce264c886 16-Mar-2012 Romain Guy <romainguy@google.com> Fix the build

Change-Id: I6de62c7bfaecd85810178f58707157466291eca3
ynamicLayout.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
ynamicLayout.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
ayout.java
4ffb879f4866f7d51070bfc9d10e7a2fdac62d4c 13-Mar-2012 Gilles Debunne <debunne@google.com> New SpanSet class extracted from TextLine.

Change-Id: I424dbd7ff0693fd465b6c83ebabba221b2eca6fe
panSet.java
extLine.java
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 09-Mar-2012 Ken Wakasa <kwakasa@google.com> Fix obvious typos under frameworks/base/core

Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
ethod/BaseMovementMethod.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
ayout.java
extUtils.java
81c4350a8931db748ed2843d33261fc54b4133e4 01-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #3389545 android:ellipsize="end" doesn't work without using android:singleLine="true" which is deprecated"
34a126e51aaf22e32c7af808ec6b5a0c41ae3311 01-Mar-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #3389545 android:ellipsize="end" doesn't work without using android:singleLine="true" which is deprecated

- take care of single line case too

Change-Id: I73c3dcb96f22241b35d7cbaf43cd9bd46a4abcaa
taticLayout.java
c97f9c14a5d35b9a1e89cfff996d4d997f68eb1a 29-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5217606 LocaleUtils constants TEXT_LAYOUT_DIRECTION_LTR_DO_NOT_USE and TEXT_LAYOUT_DIRECTION_RTL_DO_NOT_USE should be renamed"
cd4161b134387457bac9943db569afbfa427b87b 29-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5371909 Hebrew & Arabic mails are sent as LTR intead of RTL

- make paragraphs aware of text direction

Change-Id: I0b0cf5a47c7da870dea836cb6150aa83e9de0e90
tml.java
3fb824bae3322252a68c1cf8537280a5d2bd356d 29-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5217606 LocaleUtils constants TEXT_LAYOUT_DIRECTION_LTR_DO_NOT_USE and TEXT_LAYOUT_DIRECTION_RTL_DO_NOT_USE should be renamed

- replace them by the View constants

Change-Id: I7c2bf0213319247d3db369b6f7c36771fdf3e509
extDirectionHeuristics.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
easuredText.java
extUtils.java
d7c845c39a5585bd23952639d1a03f2fa603a0f1 14-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Merge "Make textDirection API public"
07ba2a2131abb4939d5b71ba27dcb68b2bba9255 14-Feb-2012 Gilles Debunne <debunne@google.com> Minor typo fixes

Change-Id: I8cd9500cc50b7a484bf387e6a6a0c9b4ffb175a4
ethod/KeyListener.java
ethod/TransformationMethod.java
e7beae3f4c9c170c7c6c42cf9b572f0ee1ec9c81 14-Feb-2012 Fabrice Di Meglio <fdimeglio@google.com> Make textDirection API public

Change-Id: I2d5a0e3a990b9a5b78a3bbc8df7f655702743e4b
extDirectionHeuristics.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
extUtils.java
815af1ff595a6c028f28c16139a9e64ad98507a3 27-Jan-2012 Alon Albert <aalbert@google.com> Merge "Throw NPE if s is null"
11afa8a466be7fd0bb486b36612d656a09f88f46 26-Jan-2012 Alon Albert <aalbert@google.com> Throw NPE if s is null

Bug: 5926510
Change-Id: I3d0a38d31695a8b103b3d153d90d83474f56990e
ormat/Time.java
6e0b22bea91398403ea500360b02ff2fc7a03d00 25-Jan-2012 Gilles Debunne <debunne@google.com> Modified algorithm to remove duplicated suggestions

Bug 5916225

Duplicates were removed when received from SpellChecker, in a way
that could move the top candidates lower in the list.

Moved that code to the part that creates the actual suggestion list,
to make it more generic. The order of the first SuggestionSpan is
guaranteed to be respected.

Also mentionned non null suggestions and fixed a problem in SuggestionSpan
constructor.

Change-Id: Iaa3b1b84ae512451e439e5c5e63448c2a19145b5
tyle/SuggestionSpan.java
ba3634f35523224d9b4238dbd0b9b5e0cf3b0b9b 24-Jan-2012 Gilles Debunne <debunne@google.com> Fix for AOOB in MeasuredText

Bug 5707593

Change-Id: I3c21343b2938119d7ae9d7892733dc83a209c991
easuredText.java
004b02d62605c172c3c9a332a22356cd4edf3598 18-Jan-2012 Gilles Debunne <debunne@google.com> Touch moves cursor in text refactored

Code was moved back from the movement method to the touch event code in TextView.

Change-Id: I7dc0d957554ddce08e810d20e0385f98802ef1a4
ethod/ArrowKeyMovementMethod.java
78efa026c7b5e7bcd06ab1f58ccd024366687cd3 13-Dec-2011 Gilles Debunne <debunne@google.com> am 0d3a5e4c: am 67d54ac0: Merge "NPE in GMail / TextLine" into ics-mr1

* commit '0d3a5e4cbddc9a6a0a551698b5152c815842952a':
NPE in GMail / TextLine
fc997b4f7867005bd0f1461822b494c79c1231ea 13-Dec-2011 Gilles Debunne <debunne@google.com> NPE in GMail / TextLine

Bug 5753061

https://android-git.corp.google.com/g/#/c/154756/1 revealed an
other bug in SpanSet. The fitered (non empty) spans were added
in their original position instead of being indexed by count.

The nullation on recycle hence left null holes in the array.

Change-Id: If5c1435cee9a2cb88a608aa8e5f4f2f23382154c
extLine.java
ba3642850295ac3bdf57cb1ce9a26ec430c2b4c3 13-Dec-2011 Gilles Debunne <debunne@google.com> am 8e22ec9b: am a1277de3: Merge "Prevent a memory leak in TextLine." into ics-mr1

* commit '8e22ec9bc6c59d9e54a6b48f1133881be97af1a7':
Prevent a memory leak in TextLine.
c3fb7a11ad72c5e51ff93e1ad6958f843af0d5b1 12-Dec-2011 Gilles Debunne <debunne@google.com> Prevent a memory leak in TextLine.

Bug 5740435

The new SpanSet cached objects should be recycled when the TextLine is
recycled to prevent a reference to their span, which may lead to the
entire activity.

Change-Id: I4469e418a228bd71eb8be1d43ed86de49baba165
extLine.java
e495cc3fd9dbf99fcba4f5a65032c6a5c105eeac 12-Dec-2011 Gilles Debunne <debunne@google.com> am e912a16b: am 316ca505: Merge "Re-use SpanSets in TextLine" into ics-mr1

* commit 'e912a16ba2a6e913b47893bc99c9a846d7ce80a9':
Re-use SpanSets in TextLine
c789b60076aa8ff4b2824ced6c998d667f6945c1 12-Dec-2011 Joe Malin <jmalin@google.com> am 8e94d912: am 556e4ca5: am 0a9005ed: Merge "DOC CHANGE: Package text and Formatter javadoc" into ics-mr0

* commit '8e94d912c6e0fc3c6d5e992b6559a0efc20372be':
DOC CHANGE: Package text and Formatter javadoc
2afcfa42392996525c6a995b354b241f22429959 10-Dec-2011 Gilles Debunne <debunne@google.com> resolved conflicts for merge of 5371a165 to master

Change-Id: I61830ec96c277ebba9db3e40842597b9c98d53c7
47a4b78eb7c662cc12c68690ff57b4004c39980c 09-Dec-2011 Gilles Debunne <debunne@google.com> am 9f4b70c7: am 89f2e8a0: Merge "Prevent NPE in SuggestionSpan" into ics-mr1

* commit '9f4b70c72508077f39a71bb17df265eb883c7a20':
Prevent NPE in SuggestionSpan
316ca5059ebd7270a04da5649d25653c355e158d 09-Dec-2011 Gilles Debunne <debunne@google.com> Merge "Re-use SpanSets in TextLine" into ics-mr1
556e4ca54161be17333ec98fadc113485120a6e8 09-Dec-2011 Joe Malin <jmalin@google.com> am 0a9005ed: Merge "DOC CHANGE: Package text and Formatter javadoc" into ics-mr0

* commit '0a9005ed58d3a6173e8fffbd72933f7646c6fdba':
DOC CHANGE: Package text and Formatter javadoc
c1f44830809f0a8526855f13822702ea756214fa 09-Dec-2011 Gilles Debunne <debunne@google.com> Re-use SpanSets in TextLine

TextLine objects are already stored in a pool to limit allocation.

Associate SpanSet objects to each TextLine to further limit the
allocation of these and re-use their internal arrays (re-sized if needed).

Drastically reduces new objects allocation during rendering.

Priority code removed in init: priorities are already handled by getSpans.

This is a duplicate of the already accepted
https://android-git.corp.google.com/g/#/c/153970/
but without the dependency on an other CL.

Change-Id: Iaa7e2f7a8ea4337c8d60c3a9a620e9e3e60caf12
extLine.java
0e7b8020fd8607957844f7d67e8aaa6dc2ef816f 08-Dec-2011 Gilles Debunne <debunne@google.com> Merge "Limit created string size in Spell Checker" into ics-mr1
41e2e1f9919c9ae3593610f7e05f0d9cf69ec9b2 07-Dec-2011 Joe Malin <jmalin@google.com> DOC CHANGE: Package text and Formatter javadoc

Change-Id: Ia34bf38d07b474522f65b89db4991c32909ecff2
ormat/Formatter.java
ormat/package.html
653d3a27878d5358b4a91518a756f6b9b3407b07 07-Dec-2011 Gilles Debunne <debunne@google.com> Limit created string size in Spell Checker

Change-Id: I2f4e7a8b0022d76bc30199ff80c2fe637dbe03ef
pannableStringBuilder.java
ethod/WordIterator.java
c5436f204ba938219223a57c83586aba543f6888 06-Dec-2011 Gilles Debunne <debunne@google.com> Prevent NPE in SuggestionSpan

One SuggestionSpan constructor provide null as the default context.

This will always create an NPE in initStyle. Prevent this.

Change-Id: Ic2acffd2c8b9cda9c99b689d1b1a7f15d17b65d0
tyle/SuggestionSpan.java
58d8953958ce452c5080eaa582d7e5d2b5017398 02-Dec-2011 Gilles Debunne <debunne@google.com> Merge "Scroll performance improved in multiline TextEdit" into ics-mr1
8a439ac7a34d6b83782a672f3d6aa90fa262409c 27-Oct-2011 Gilles Debunne <debunne@google.com> Performance improvement in TextView

Using a SpanSet to minimize the number the calls to getSpans.

This is a cherry pick of 145653 in ICS-MR1

Change-Id: I0a6e1fc7bd7a89325c2925bf98d59626d5e12995
extLine.java
70b34a1e0525c8e13f431c2e6c9d37d1954de1b2 27-Oct-2011 Gilles Debunne <debunne@google.com> Scroll performance improved in multiline TextEdit

Measuring line widths, glyph by glyph slows down the scrolling
process for long text (for some reason, width measure efficiency
is affectedi by text length, maybe because the whole text has to
be passed to JNI layers).

This optimization avoids this computation in the case where there
is no possible horizontal scroll.

This is a cherry pick of 145957 into ICS-MR1

Change-Id: I2082e3d0eedace1a86122a03e4b21f90f3bc8522
ethod/Touch.java
4cf8a3914aa365fefc6c231c48075ecc5a096a65 23-Nov-2011 Owen Lin <owenlin@google.com> am 85c38af1: am 8bb56180: Merge "Fix 5654631. It forgot to consider the year in formatDateRange." into ics-mr1

* commit '85c38af1d47e288775052cd188e3f014fa40e8a2':
Fix 5654631. It forgot to consider the year in formatDateRange.
b193e35ed131769e6c98b2752635065489198aeb 22-Nov-2011 Owen Lin <owenlin@google.com> Fix 5654631. It forgot to consider the year in formatDateRange.

Change-Id: I494e3ecc7a2e7c418ed61930ffd7311338c11783
fix: 5654631
ormat/DateUtils.java
99a64f4b1d2519b71558fdc62721686445865b60 11-Nov-2011 Jesse Wilson <jessewilson@google.com> Document our potentially suprising behavior on date ranges ending at midnight.

Bug: http://code.google.com/p/android/issues/detail?id=18512
Change-Id: I968ca1cfcef79273ee856624a640d56b038b96be
ormat/DateUtils.java
e03ba026c69c80bae5ed4d28504a3c010f7478ca 29-Oct-2011 Gilles Debunne <debunne@google.com> Merge "Performance improvement in TextView"
4e13ebed6b900ab7e977ec7bfd385b35b300a67c 29-Oct-2011 Gilles Debunne <debunne@google.com> Merge changes I2082e3d0,Ibf8e9827

* changes:
Scroll performance improved in multiline TextEdit
Performance improvements for long text edition.
f2a02018e2fa3089f6d39fc838a04818ae6cf26b 27-Oct-2011 Gilles Debunne <debunne@google.com> Scroll performance improved in multiline TextEdit

Measuring line widths, glyph by glyph slows down the scrolling
process for long text (for some reason, width measure efficiency
is affectedi by text length, maybe because the whole text has to
be passed to JNI layers).

This optimization avoids this computation in the case where there
is no possible horizontal scroll.

Change-Id: I2082e3d0eedace1a86122a03e4b21f90f3bc8522
ethod/Touch.java
a30946e8201e47ec48aad5c4724a9b177a8d1d1e 27-Oct-2011 Gilles Debunne <debunne@google.com> Performance improvement in TextView

Using a SpanSet to minimize the number the calls to getSpans.

Change-Id: I0a6e1fc7bd7a89325c2925bf98d59626d5e12995
extLine.java
0f0a3945ef98b3c30839ab7b746bf8cc55b78d33 26-Oct-2011 satok <satok@google.com> Make FLAG_AUTO_CORRECTION public

Bug: 5440299

Change-Id: Ia82745e793be741c1558ce15b189b63872107ddb
tyle/SuggestionSpan.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
ynamicLayout.java
taticLayout.java
9d8d3f1539ce5bdf512bd47ec1648609d6cde5b1 13-Oct-2011 Gilles Debunne <debunne@google.com> Spell checher's language synced with keyboard.

Bug 5379440. The spell check is now using the IME's language to
do the spell checking. Changing the input language triggers a
new spell check of the entire text.

Optimizations: ArrowKeyMovementMethod re-uses the TextView's
wordIterator, already set to the correct language.

One wordIterator shared by all SpellParsers in SpellChecker.
Cannot re-use TextView's because of concurrency issues.

With the current implementation, one has to type a new character
to see the new spell checking take place.

Change-Id: I0e460c0a6777548f89d03d6b68f3deea6606c17f
ethod/ArrowKeyMovementMethod.java
59ba2b2fabf91af7685f3c00eea7fc155d05f1fc 10-Oct-2011 Gilles Debunne <debunne@google.com> Merge "Bug 5250788: LatinIME slows down as amount of Text increases"
9ca4b4377c6c94cca181c57bd9c784386223d274 07-Oct-2011 satok <satok@google.com> Add a hidden flag for the auto correction indicator in SuggestionSpan

Bug: 5245468

Change-Id: Ic111554da86fefd47dd9a26c1bd41e4ee57dc552
tyle/SuggestionSpan.java
287d6c6e12a38864d019fa7b9184206bc8a31ea1 06-Oct-2011 Gilles Debunne <debunne@google.com> Bug 5250788: LatinIME slows down as amount of Text increases

Removed unnecessary CharSequenceIterator and made the WordIterator
work on String instead of CharSequence

Submit words to the spell checker by batches.

Refactored WordIterator to make it intrinsically local.

Change-Id: Ie9e30691985a130fa55cd052005ddb22a21761cb
harSequenceIterator.java
ethod/ArrowKeyMovementMethod.java
ethod/WordIterator.java
e921572bda621b75a217bce115c2b605caf9b26a 05-Oct-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Revert "Fix bug #5387832 [UI/Visual] Address of the website is not displayed properly(second line of the address is partly shown)""
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
ynamicLayout.java
taticLayout.java
67ed574cdb0a66c42a9827f7dbc54df98578271b 30-Sep-2011 Gilles Debunne <debunne@google.com> Merge "Bug 5250788: EditText gets slower has the entered text gets longer"
46c78b4de14b18152db031d155006e6f45aa9eaa 30-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5387832 [UI/Visual] Address of the website is not displayed properly(second line of the address is partly shown)"
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
ynamicLayout.java
taticLayout.java
f4314dffbd1b082bb6458b2d6bee69bda4ce2673 29-Sep-2011 Gilles Debunne <debunne@google.com> Merge "Too many SpellCheckSpans are created."
31e04656e77a881960daa7a6974e8f805d9cef43 29-Sep-2011 Scott Main <smain@google.com> docs: add some more info to Time javadocs

Change-Id: I3c5ca668acda734f8a0da0ffbbc1bfa77ed72c2a
ormat/Time.java
d5ea0a1bc2fae7c6084b0c5cc9b68a925a0f50f6 29-Sep-2011 Gilles Debunne <debunne@google.com> Bug 5250788: EditText gets slower has the entered text gets longer

Profiling showed that the bottle neck was in the word iterator.
Now initializing the word iteerator to only a window around the region
of interest to reduce the text analysis.

Change-Id: Ibfa4952cbf52a1b36726f965143ac7a6dc63673e
ethod/WordIterator.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
pannableStringBuilder.java
tyle/SpellCheckSpan.java
52edaa9cfb612bd20b0f718dc95e576f55d9367e 26-Sep-2011 Gilles Debunne <debunne@google.com> Merge "Bug 5250788: TextView gets slower as the text length grows"
8013290dd0e9d3eabc3611d7eca47aa50bdceed0 26-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5366547 TruncateAt.MARQUEE should be replaces with "two dot" ellipsis on hardware that dont support MARQUEE"
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
ynamicLayout.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
taticLayout.java
extUtils.java
ba7bc591018c7a8a7f5c123f71161b69652f9bde 24-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5349461 TextView: text that ends with an ImageSpan causes line height to shrink to ImageSpan height"
8a5137a5aeba39cbc2c57c83ef79241b446d0cb7 23-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5349461 TextView: text that ends with an ImageSpan causes line height to shrink to ImageSpan height

- save current metrics values before updating them

Change-Id: I2d88dd7d30e8e01d0c5e2328973f256b689672b2
extLine.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
pannableStringBuilder.java
extLine.java
b2beb92073cea6e472748e729ac8e265ca83a925 22-Sep-2011 Gilles Debunne <debunne@google.com> Bug 5279842: mis alignment after scroll

Refactored.

Original problem was the ALIGN_RIGHT case that was not handled.

Change-Id: Id01b75ac404b7ee92143e8cf6e3a3a838b794da8
ethod/Touch.java
c9fd978da60f76c0576150c55629a034e1fa19fb 09-Sep-2011 Gilles Debunne <debunne@google.com> Bug 5281947: add to dictionnary option promoted in suggestions.

When several SuggestionSpans are available at a given position, their
content are merged, in creation time order.

As a result, the IME's suggestions are picked before the spell check, and
no add to dictionnary option is created.

This CL modifies the comparator to make easy correction spans appear first
(Voice IME), then misspelled words and then regular suggestions.

Also avoids the creation of a new comparator and length hash map on every display.

Change-Id: I1f9f031a6fdcbbc09f248a192b83051092765f8e
extLine.java
extPaint.java
tyle/SuggestionSpan.java
51322732739b355dd842abc9cef34df8613b2626 10-Sep-2011 Gilles Debunne <debunne@google.com> Hide method to fix the build

Change-Id: I5a556454a722bf037932632fa7e6ee6a2832a68d
tyle/SuggestionSpan.java
fa4e2d994bb398b89d08304bb233671ef1a5d5f8 09-Sep-2011 Gilles Debunne <debunne@google.com> Bug 5278456: text highlight color depends on the type of suggestion spans.

Change-Id: I76ac02b7688a297c0e83d593f446a4cf2ee36015
tyle/SuggestionRangeSpan.java
tyle/SuggestionSpan.java
63c885f881b64a20466fc351731cd7018e6d7a80 07-Sep-2011 Gilles Debunne <debunne@google.com> Bug 5250788: Fix memory consumption issues in TextPaint.

The increased size array was discarded in set. Reuse it instead if
possible to avoid more size increases later.

Change-Id: I9ab95ed0f4d4613dd1e28f02894bb19ecee7df41
extPaint.java
c6fc20a91bdf6f5d8cd8784324a55e39bcb7077c 07-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5262565 Need to remove CharCount TextDirectionHeuristics"
be724dbc45154f2c33cc789c89eb2ac2a7516cbe 06-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5243493 TextView selection is not working correctly when there is some RTL run into it"
e3bf88da23bfadd89a35b6dec769ea825e5ecd6e 06-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5262565 Need to remove CharCount TextDirectionHeuristics

- update unit tests too

Change-Id: I7c518f58a9f17cb679bc3913bdd38243f7ad2195
extDirectionHeuristics.java
d3462ad713a1ef101ee11b03a088343254faad97 06-Sep-2011 Romain Guy <romainguy@google.com> Merge "Prevent crash when using <em> or <strong> in spanned strings Bug #5258853"
dd808c0bd498854e878db257bbf82b73ea5000b4 06-Sep-2011 Romain Guy <romainguy@google.com> Prevent crash when using <em> or <strong> in spanned strings
Bug #5258853

Change-Id: Ifde1efe9ba3b44cfa0be55d51b2c9696cbe096f5
tml.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
ayout.java
572527f2c337ec9266ebcd931a66e17d2ae63e01 02-Sep-2011 Gilles Debunne <debunne@google.com> Merge "Remove the suggestion underline when the TextView loses focus."
f3d78eac0f565b51d5e657e6cb21b4a48ef6f660 02-Sep-2011 Gilles Debunne <debunne@google.com> Merge "Added an add to dictionary option in suggestions for misspelled words"
fe5e9834a3086ab6bd99a4cb0d9273fdeb52ecd8 02-Sep-2011 Luca Zanolin <zano@google.com> Remove the suggestion underline when the TextView loses focus.

Only the easy correction (i.e., voice ime corrections) will lose the underline, while the misspelled span will not.

Change-Id: If96c17473dd70c99b808739ddde800cc93551e2a
tyle/SuggestionSpan.java
70a6312f09329bd0b19343bc7906f9ce665fe3ad 01-Sep-2011 Gilles Debunne <debunne@google.com> Fixes around text selection

Text selection mode was started by two consecutive taps inside a
field with selectAllOnFocus.

ArrowKeyMovementMethod does not respect the possible cancelLongPress and handles up events.
As a result a scroll that happens to end up at its initial position will be considered a tap
and will move the cursor.
This is however not considered as a tap in TextView and a possible selection mode would not
be stopped in that case.
Fixed by making ArrowKeyMovementMethod aware of the cancel that happened in Touch.

Change-Id: I07372b703f250e1edc7ee0665318ce30441b9187
ethod/ArrowKeyMovementMethod.java
ethod/Touch.java
e90bed18cc123c0963bbcc023976fa355c16a352 30-Aug-2011 Gilles Debunne <debunne@google.com> Added an add to dictionary option in suggestions for misspelled words

Change-Id: I031f17a76b4a81ae375b778046b8c391f9b8b2b2
extUtils.java
8a16f92270f4cc803292adfb533838603c67d742 01-Sep-2011 Gilles Debunne <debunne@google.com> Merge "Using ListView for Suggestion popup window"
be566b488a78e9e5ba0971ebe888d41511a11fa8 31-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5243493 TextView selection is not working correctly when there is some RTL run into it"
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
ayout.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
extUtils.java
tyle/EasyEditSpan.java
tyle/SuggestionRangeSpan.java
b5305007a6eb10457aa97b9791fed62d3542e3c1 31-Aug-2011 Gilles Debunne <debunne@google.com> Merge "Add EditTextShortcutSpan to provide edit short cut in the text view."
c6f19da0ff703adff8a6a06e0b19ea46abada644 30-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5197549 android.text.cts.StaticLayoutTest#testGetEllipsisCount fails on IRK49E mysid-userdebug"
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
extLine.java
extPaint.java
extUtils.java
tyle/EasyEditSpan.java
tyle/SuggestionSpan.java
aef455fd5b4c667267deb050bc7997e737b7507e 30-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5197549 android.text.cts.StaticLayoutTest#testGetEllipsisCount fails on IRK49E mysid-userdebug

- make the ellipsizing condition easier to read
- allow ellipsizing only and only if
- not MARQUEE
- single line
- END only on the last visible line when multiple lines

Change-Id: I6b08e4a735ebc4875a208f0538d9cf937240316e
taticLayout.java
474cac1c212e1f02deaffe5512941af9cb2a760b 29-Aug-2011 Gilles Debunne <debunne@google.com> Merge "Suggestions popup window is dismissed on tap outside."
94d5e9ad6533864f098b99c231d69c77230a828f 29-Aug-2011 Romain Guy <romainguy@google.com> Italic should be italic and bold should be bold.

Change-Id: I68933a7d7c32951c4d52d945baaedcb2583caef4
tml.java
d32f27aec04dd91edf488f280ca609e0b55aec9e 26-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5199577 TextView with android:password="true" is showing the "dots" on the left even if the password chars are RTL"
7810b5f8cffb3c2c98fd0df579f4da5a9ac6cc73 25-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5199577 TextView with android:password="true" is showing the "dots" on the left even if the password chars are RTL

- force TextView to LOCALE text heuristic when in "password" mode
- remove TEXT_LAYOUT_DIRECTION_UNKNOWN_DO_NOT_USE
- LocaleUtils.getLayoutDirectionFromLocale() returns "LTR" is locale is NULL or ROOT

Change-Id: I182c46aaf2d73c8b18967fffa230bfabec91ed06
extDirectionHeuristics.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
extUtils.java
tyle/SpellCheckSpan.java
tyle/SuggestionRangeSpan.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
pannableStringBuilder.java
ethod/WordIterator.java
tyle/SpellCheckSpan.java
tyle/SuggestionSpan.java
c2d256b41587ff44efb6373885affe02e5df80b5 23-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Improve TextDirection resolution"
a646145c335ba821f01d9e4f8be2583eb9fd7266 20-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Improve TextDirection resolution

- remove unuseful heuristics
- tune Javadoc

Change-Id: Id72a158b3a17a528423d278b1cbfd95b8c2951b5
extDirectionHeuristics.java
1666dc60412c4a2506c08dbc19a992514fe7dffb 18-Aug-2011 Jeff Sharkey <jsharkey@android.com> Merge "Combine list of CharSequence with delimeter."
3de510313a44977a25ecb5253603fb2df2cc34b2 18-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5175022 Easy mode in MeasuredText.setPara() is no more used"
4b60c30838fbd635964f1e79c057de5048dcc66f 18-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5175022 Easy mode in MeasuredText.setPara() is no more used

- use the real TextDirectionHeuristics constants
- make more formal that LayoutDirection should be resolved BEFORE TextDirection
- reset TextDirection if LayoutDirection is recomputed
- remove non used TextDirectionHeuristic.isRtl(CharSequence...)

Change-Id: I1d53a7e3ee324cfd27785bb4d715d93de8d9ff4d
oringLayout.java
extDirectionHeuristic.java
extDirectionHeuristics.java
fa4d7754edcbca7a3f651fe319e42d7624518452 18-Aug-2011 Jeff Sharkey <jsharkey@android.com> Combine list of CharSequence with delimeter.

Change-Id: I7d86b89a84f6d91e5441c8af63310b37f16974fc
extUtils.java
4cee03a85f5756227e3c74965a5d3fb52bbf57a9 16-Aug-2011 Gilles Debunne <debunne@google.com> Merge "Change the behavior of SuggestionSpan."
7d1c55fad8194e2c82f5f88f98ab5569f9c52ab9 16-Aug-2011 Luca Zanolin <zano@google.com> Change the behavior of SuggestionSpan.

SuggestionSpan can be accessed in two different ways:

- by tapping on the text (easy access)
- by tapping on "replace" pop-up (not easy and difficult to discover)

The "easy access" will be used for dictionary suggestions and voice recognition suggestions.

The suggestion span can be rendered into two different way:

- default, text is underlined in blue
- spelling error, text is underlined in red

Change-Id: I0af0fe6700d0ad588facb21c021dc6f59ef172f1
tyle/SuggestionSpan.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
ynamicLayout.java
ayout.java
taticLayout.java
extLine.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.
ynamicLayout.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
ynamicLayout.java
dd8f5ed79c7baed35b3f04e4778aff7867653255 11-Aug-2011 Gilles Debunne <debunne@google.com> Added support for colored / thick underlined text.

Change-Id: Ib0e259dd20546855899bf091f694e41e7051fecb
extLine.java
extPaint.java
3aa7bf7330eaf231d00f7dfdcb504215822148be 10-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #5017432 NPE when mixing different spans with different font sizes"
b8503eb8ac26c4801b565fcfc655fca02f9bb726 10-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5017432 NPE when mixing different spans with different font sizes

- fixed typo

Change-Id: I282f8bf2a72117709666e1ffc9ec8e8b5583d321
tyle/TextAppearanceSpan.java
61ccc6a203e1b0fb235a4eed2b40e0c080f57f0c 09-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge changes I46744e51,I1f566cce

* changes:
Solidify and optimize Paint text related APIs
Add more optimizations for Text measuring / breaking / getting advances
98d29b44f76fea1dd325f06240557dfb253d635e 08-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Follow up to TextView's baseline is correctly computed for empty text"
15c097a1c23105cdc0dd66dd5605ff35467d7118 08-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Add more optimizations for Text measuring / breaking / getting advances

- do not go to native if this is not needed (empty or null text)
- do expandMetricsFromPaint() in TextLine when needed instead of calling handleText()
with emty string just for doing expandMetricsFromPaint()

Change-Id: I1f566ccef66cbc990ebbb77ef149899119e37e84
extLine.java
9c89d5dc8268c9740ffabbcbc3bbd39a37fc57f0 08-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Revert "Fix bug #5114358 If writing Numbers with Hebrew & Arabic keyboard, they appear as LTR"

This reverts commit 6850c7aff5b08225ab1793dd721a795cb4192f6f

The referenced bug was actually not a bug. It was working as intended.
extDirectionHeuristics.java
850dffa01ba9111799f24800ae8550eca457d757 08-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Follow up to TextView's baseline is correctly computed for empty text

Was bug http://code.google.com/p/android/issues/detail?id=15598

- optimize https://android-git.corp.google.com/g/#/c/107901/1

Change-Id: I20abd82a97adc71f04a5afba54eb679f708236f8
extLine.java
6850c7aff5b08225ab1793dd721a795cb4192f6f 04-Aug-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5114358 If writing Numbers with Hebrew & Arabic keyboard, they appear as LTR

- add missing case for Arabic numbers

Change-Id: I7efe8172efee410eaafddec4a1465c1aa93a125b
extDirectionHeuristics.java
e5ea4403ce58982522554b7ff23f41e6551923c1 01-Aug-2011 Romain Guy <romainguy@google.com> Plug memory leak in EditText.

Change-Id: I0b42c23ceeaa958d02255945c35ff6807c177114
ynamicLayout.java
easuredText.java
taticLayout.java
467cabe879cb58df96f6a84879f5fb226e049aeb 26-Jul-2011 Kenny Root <kroot@google.com> Throw NullPointerException on args to Time#compare

Check for null on arguments to Time#compare(Time, Time) before passing
it down to JNI code.

Bug: 5073949
Change-Id: I077e9d5194a89206d1e51fc89a72c8a72e29f8f1
ormat/Time.java
cb379120456d8065d742021fc5c66748fc8a11a8 07-Jul-2011 Doug Felt <dougfelt@google.com> Implement textDirection heuristic selection.

Change-Id: I2fcf18de573f2d66494fa5ed61e4273c3c6078c7
oringLayout.java
ynamicLayout.java
ayout.java
easuredText.java
taticLayout.java
extDirectionHeuristic.java
extDirectionHeuristics.java
extUtils.java
4dacef25662de37825fa7a67fd6bdb318b31d8d9 08-Jul-2011 Gilles Debunne <debunne@google.com> Fleshed up SuggestionSpan documentation. Bug 4553472

Change-Id: I3b5be9a6da79398b03d98eb33eb61a55fd702960
tyle/SuggestionSpan.java
7f8f79a1ff086c04a3ad2a442b1d39a8186e3e50 08-Jul-2011 Adam Powell <adamp@google.com> Add ALL CAPS style to TextView/TextAppearance

Switch out ugly hack in action menu items for the new style.

Change-Id: I68a0ed62a352b14d499e6478b82bbc12dcb5a030
ethod/AllCapsTransformationMethod.java
ethod/TransformationMethod2.java
c0ccf0c47c00942a9d0f2670600a8f2d4d7adb5b 24-Jun-2011 Doug Felt <dougfelt@google.com> Support control of text alignment.

Change-Id: Id6f3682f67ba2e6811e3014cd34a281e6dd0a469
ayout.java
da188fbe4b4d7b91e1440afe5a1279d0fd7a91eb 31-May-2011 Gilles Debunne <debunne@google.com> Merge "Fix for bug 4499752 - Detect nulled layouts in HandleViews"
e8e833fbe8faaa0d49de517040bf01d18c7b9330 28-May-2011 Gilles Debunne <debunne@google.com> Merge "Replacement spans correctly measured in TextView"
d4bb0b01c6caccbaef1baec377a59c10790da35c 28-May-2011 Gilles Debunne <debunne@google.com> Fix for bug 4499752 - Detect nulled layouts in HandleViews

Change-Id: I6a7289150bf461cdf4cca0aff4aa4a0400e0d553
ethod/WordIterator.java
9a3a8848643faf477335675136efba9a6e58db75 27-May-2011 Gilles Debunne <debunne@google.com> Replacement spans correctly measured in TextView

Bug 4444591

Change-Id: I74c94445806d6c00b0971146cac57363c7d3f205
easuredText.java
bc7cdb6783d059249133b1c0baf52c305c6b4a33 27-May-2011 Romain Guy <romainguy@google.com> Remove extraneous log.

Change-Id: I91b248410d69836c7a3b56eb0867224ccb4a5336
extLine.java
42c5a1666c4e576ccd5974233513100aad2c1534 26-May-2011 satok <satok@google.com> Fix internal variables and equals in SuggestionSpan

Bug: 4443922

- Instantiating other package's class for the name is complicated, so we changed the internal value for the notification target class from Class to String.
- Implement equals

Change-Id: Iaf7682be777f0027d33c9a3be4609ac01b6950ad
tyle/SuggestionSpan.java
f9f01008624e2d28c15a90d942fa36f98c8c967d 19-May-2011 satok <satok@google.com> Add Apis to send notifications when the suggestion was picked

- Due to a strong request from VoiceIME

Bug: 4443922

Change-Id: Ia539de0acf66053e0349daec459d75e36805f6bf
tyle/SuggestionSpan.java
3bca69b09fb51116b5eb18fb91cb991c1450e384 24-May-2011 Gilles Debunne <debunne@google.com> TextView uses floats for touch event positions.

This is the type returned by event.getX/Y methods. Conversion
to ints is only performed when needed. Low performance impact
since there is only a minimal amount of computations on these
values.

Change-Id: I53a56efe5e3a1a96911adc25fedaab7f40f1ba8e
ethod/ArrowKeyMovementMethod.java
ee511cc529bcbb8551af4313cf1d2bbf0362de14 05-May-2011 Gilles Debunne <debunne@google.com> SuggestionSpans are preserved when picked.

This is the exception case: text replacement should NOT remove SuggestionSpans
when this is the result of a Suggestion pick in the popup.

Save them and restore them after the text replacement.
Only spans that entirely englobe the replaced region make sense after the
text replacement.

Change-Id: Ib18eb6437c3a63fd0e788ebd4565c8f42e83503b
tyle/SuggestionSpan.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
a02a9e602bf1b5337cde30ee16ca6c4a36d9f07b 30-Apr-2011 Conley Owens <cco3@android.com> am 27e8f1a3: am 8b22ef66: am e41d2aed: Merge "Using robust equality check."

* commit '27e8f1a3a6b43592e3d419d7a3cfc6192a86bf5c':
Using robust equality check.
1b38cc30573589b5cdf7bf5c1d848333477269e3 30-Apr-2011 Conley Owens <cco3@android.com> am 014757ee: am a9517012: am 1e29552b: Merge "We don\'t need these local references."

* commit '014757eea22fc9cceede1548c579c33c79464001':
We don't need these local references.
95b533911cfcb1d0532f9277167edab478130006 30-Apr-2011 Conley Owens <cco3@android.com> am 49df110a: am d66a92e6: am da882181: Merge "Eliminating dead code with no other effect than consuming battery life."

* commit '49df110aeb94ada810a8eec0540e30a25c267a56':
Eliminating dead code with no other effect than consuming battery life.
27e8f1a3a6b43592e3d419d7a3cfc6192a86bf5c 29-Apr-2011 Conley Owens <cco3@android.com> am 8b22ef66: am e41d2aed: Merge "Using robust equality check."

* commit '8b22ef66ef1a67333e2f1d4250d2c134b50ef91a':
Using robust equality check.
014757eea22fc9cceede1548c579c33c79464001 29-Apr-2011 Conley Owens <cco3@android.com> am a9517012: am 1e29552b: Merge "We don\'t need these local references."

* commit 'a95170122619f5442d5efbdf2e37f91dbf455ab9':
We don't need these local references.
49df110aeb94ada810a8eec0540e30a25c267a56 29-Apr-2011 Conley Owens <cco3@android.com> am d66a92e6: am da882181: Merge "Eliminating dead code with no other effect than consuming battery life."

* commit 'd66a92e6875bfc835adf0b100607afbf4bfc2761':
Eliminating dead code with no other effect than consuming battery life.
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
pannableStringBuilder.java
425db473a05e4204301bf46d4ab6f51b12d9c447 29-Apr-2011 Conley Owens <cco3@android.com> Merge "CHAR_SEQUENCE_CREATOR cannot handle null string"
988ec4bdc8a06a95628613e1e98c2ba30bc2ff71 29-Apr-2011 Gilles Debunne <debunne@google.com> Merge "TextView's baseline is correctly computed for empty text."
f483e514d4ed3b93cc5ba22beb9c85efcda75535 29-Apr-2011 Gilles Debunne <debunne@google.com> TextView's baseline is correctly computed for empty text.

Bug http://code.google.com/p/android/issues/detail?id=15598

Change-Id: I3aae29b55dc92acca3883b8d14e01dc1c79c2243
oringLayout.java
extLine.java
e41d2aed9c8d990d31af70642ae688dad1d8fb4b 28-Apr-2011 Conley Owens <cco3@android.com> Merge "Using robust equality check."
1e29552bd5feeb24952a0486e3263396978212df 28-Apr-2011 Conley Owens <cco3@android.com> Merge "We don't need these local references."
da882181245fdf3eca827680d656cd298c9c318f 28-Apr-2011 Conley Owens <cco3@android.com> Merge "Eliminating dead code with no other effect than consuming battery life."
0f9ae274b4a9641d8e6933108466dc432f5a0474 27-Apr-2011 Gilles Debunne <debunne@google.com> Typo in TextAppearanceSpan documentation

Dim does not exist anymore.

Change-Id: I83268657accfef15561ce313b66108adc108dfc6
tyle/TextAppearanceSpan.java
3f92b8b18856371f561955197b488191433977e6 23-Apr-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Clean getTextRunAdvances() APIs"
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
raphicsOperations.java
pannableStringBuilder.java
e193fd14346e6e808c6c266d2bb13c0c0cc6890e 18-Apr-2011 Gilles Debunne <debunne@google.com> Extracted WordIterator class.

This class will be used by TextView and the IMEs to cut the
text into words.

New getBeginning and getEnd methods that return word limits.

Added Locale to constructor.

Change-Id: Ie8ad590ebca4b48517ec7b4c3768b3e41879166e
election.java
ethod/ArrowKeyMovementMethod.java
ethod/WordIterator.java
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
extUtils.java
tyle/SuggestionSpan.java
e9f05b00794529ceb05301d94a6e08b05c43a5cb 12-Apr-2011 Gilles Debunne <debunne@google.com> Merge "Fix in BreakIterator."
daa4a95a54909d53a325eb06ca22130743b5be04 08-Apr-2011 Gilles Debunne <debunne@google.com> Fix in BreakIterator.

An index equal to the length of text is indeed a valid position,
representing a cursor located after the last character.

Also changed iterator to comply to the documentation.

Change-Id: I7b9e427e4e37df20ab7e66d99053a9d8a6af6eb3
harSequenceIterator.java
ethod/ArrowKeyMovementMethod.java
b3fc1a5b8b8f88eaf00b05957523cbdc0944b24b 06-Apr-2011 satok <satok@google.com> Rename CorrectionSpan to SuggestionSpan

Change-Id: I004b2e012b2de4de959a31da1f55b63ca7c14199
tyle/CorrectionSpan.aidl
tyle/CorrectionSpan.java
tyle/SuggestionSpan.aidl
tyle/SuggestionSpan.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
extUtils.java
bc20ac85a56dec157226a2aa4239190d5714366d 05-Apr-2011 Brad Fitzpatrick <bradfitz@android.com> am e511fb33: am 9b1b6439: am 2ed72048: Merge "Always return a valid index from Rfc822Tokenizer.findTokenEnd()"

* commit 'e511fb33d33f0ba83ce437f615fa236f369b5ade':
Always return a valid index from Rfc822Tokenizer.findTokenEnd()
e511fb33d33f0ba83ce437f615fa236f369b5ade 05-Apr-2011 Brad Fitzpatrick <bradfitz@android.com> am 9b1b6439: am 2ed72048: Merge "Always return a valid index from Rfc822Tokenizer.findTokenEnd()"

* commit '9b1b64399502af0a08beac3014f2294644753602':
Always return a valid index from Rfc822Tokenizer.findTokenEnd()
114f98a75334813fe116da3d95567db8984d45b9 18-Jan-2011 Mattias Niklewski <mattias.niklewski@sonyericsson.com> Always return a valid index from Rfc822Tokenizer.findTokenEnd()

If an invalid input string ends with a backslash inside a comment
or quoted string, the returned index would be past the end of the
string. In one case this would lead to a runtime exception being
thrown from MultiAutoCompleteTextView.performValidation.

Change-Id: If629372b429716c25cdc25764f088e95d4812d57
til/Rfc822Tokenizer.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
raphicsOperations.java
pannableStringBuilder.java
67bcd82b40a28115678f1008e7c91c685b3bdcd3 29-Mar-2011 Jeff Sharkey <jsharkey@android.com> Merge "Support Ctrl-based EditText movement."
e3797a15fbf769a0abcbe121cfd33b4b658aea1e 21-Mar-2011 satok <satok@google.com> Removed APIs for setCorrectionSpan from InputConnection

("setCorrectionSpan" was added in Id3abc9ea4d11753cd )

Also..
- Added a class java doc for CorrectionSpan
- Removed FLAG_DEFAULT
- Changed the return type of getSuggestions from Array<CharSequence> to String[]

Change-Id: If5eb091e307a7a40c5b4a70ec1fe6059ecd9fb2d
tyle/CorrectionSpan.java
e982dfc1bae36620f67371efc7b0a0f8adc9450d 22-Mar-2011 Jeff Sharkey <jsharkey@android.com> Support Ctrl-based EditText movement.

EditText now listens for Ctrl+left/right to jump through text at word
boundaries. It also listens for Ctrl+home/end to move to start/end of
the full text. This emulates behavior found in desktop text editors.

Bug: 4081964
Change-Id: I98bd19c0d8707357847db3466648a83fd774dbaf
harSequenceIterator.java
election.java
ethod/ArrowKeyMovementMethod.java
ethod/BaseMovementMethod.java
2fb503f5102dd32a8ec391b26911528852703b90 17-Mar-2011 Jozef BABJAK <jozef.babjak@gmail.com> Using robust equality check.

Change-Id: Ie30684c472bfa38d0432f855f7075c34709958d5
ayout.java
97124117e811ce31d525a052f824e029ac8f16a6 17-Mar-2011 Jozef BABJAK <jozef.babjak@gmail.com> We don't need these local references.

Change-Id: I227c88eb4eb5d2842124e1c944cc18d5b28cccc1
ethod/MultiTapKeyListener.java
b74378ab354157228870800105edf11496cadbe3 22-Feb-2011 Jozef BABJAK <jozef.babjak@gmail.com> Eliminating dead code with no other effect than consuming battery life.

Change-Id: I4376902a4e9c301ff16f74137d86eeaff901bbb7
tyle/DrawableMarginSpan.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
extUtils.java
tyle/CorrectionSpan.aidl
tyle/CorrectionSpan.java
b37f7e59ee38472bdd3ca5fe66cc847890c862e2 15-Mar-2011 Brad Fitzpatrick <bradfitz@android.com> Merge changes I81fc2f90,I5e7fd759

* changes:
Using proper key for removing from map.
Removing wrong equals method in comparator.
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
taticLayout.java
extLine.java
extUtils.java
b0b225602cc84e0602450a417a562e8f53f29c6b 03-Mar-2011 Gilles Debunne <debunne@google.com> getTextRunCursor gets deprecated in SpannableStringBuilder

Change-Id: I2d408ebff90add7afc242bb01df9ab96c6fc7fa7
pannableStringBuilder.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
pannableStringBuilder.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
pannableStringBuilder.java
f09d510cd18854f41632433503ca46cc41362feb 03-Mar-2011 Gilles Debunne <debunne@google.com> Added documentation for SpannableStringBuilder.getTextRunCursor

Bug 3370244

Change-Id: I621a1599ff18da928044dd37a0d7cc861cc6f48f
pannableStringBuilder.java
7719436342611a106df5d379fedf180a5dd0809e 28-Feb-2011 Xavier Ducrohet <xav@android.com> am b732b7b5: am ce57a7f3: am 6504490c: am dff6b8e7: Merge "Add --non-constant-id to aapt."

* commit 'b732b7b5e8192501360edc15fb8c6399d11fb97d':
GpsLocationProvider: Clean up HAL initialization/cleanup sequence
Fixed GSM encoded network initiated position request
Ensuring thread-safe usage of DateFormat.
Fixing infinite loop for zero duration.
Fix for an infinite loop while scrolling lists.
WAPPushManager, WAP Push over SMS message handler
Add --non-constant-id to aapt.
b732b7b5e8192501360edc15fb8c6399d11fb97d 28-Feb-2011 Xavier Ducrohet <xav@android.com> am ce57a7f3: am 6504490c: am dff6b8e7: Merge "Add --non-constant-id to aapt."

* commit 'ce57a7f35344e76689d30f45964d1e37b78280cb':
GpsLocationProvider: Clean up HAL initialization/cleanup sequence
Fixed GSM encoded network initiated position request
Ensuring thread-safe usage of DateFormat.
Fixing infinite loop for zero duration.
Fix for an infinite loop while scrolling lists.
WAPPushManager, WAP Push over SMS message handler
Add --non-constant-id to aapt.
d17247164b3c4e8a41cbe1dd283ef2442ad76229 26-Feb-2011 Jeff Brown <jeffbrown@google.com> Make SHIFT+Backspace be forward delete.

Bug: 3416383
Change-Id: I8f20a6793abd15741aff222edcfe33f7019b9095
ethod/BaseKeyListener.java
8f34567c71003505456a9b1a0d461a4e62883d70 26-Feb-2011 Jeff Brown <jeffbrown@google.com> Add scroll wheel support to TextView.

Change-Id: I6e4258c50b0d754dccf07266ff4b2abcbccd733a
ethod/BaseMovementMethod.java
ethod/MovementMethod.java
ethod/ScrollingMovementMethod.java
25d8b05fb77e8ee755aacd27c1c2d3b237537b7a 22-Feb-2011 Jozef BABJAK <jozef.babjak@gmail.com> Ensuring thread-safe usage of DateFormat.

DateFormat is inherently unsafe for multithreaded use. This patch adds
proper synchronization. The 'sLock' is re-used. To avoid two consecutive
lockings, locked version of initFormatStrings() method is created and
used where appropriate, i.e. in original method AND in added synchronized
block.

Change-Id: Id3c34613623e743e703aadb2342aa788679dda8a
ormat/DateUtils.java
b62353ad1d1f540dee270be0c0d383ac108a290b 21-Feb-2011 Jozef BABJAK <jozef.babjak@gmail.com> Removing wrong equals method in comparator.

This implementation of equals method has been likely created by
template in an IDE. It is useless, possibly leading to poor performance
and completely violating the contract of equals method as defined in
Object base class.

Change-Id: I5e7fd759b7bd9370b44d9374b57390c4e9feba02
til/Linkify.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
ayout.java
taticLayout.java
8761bfaa8d8755eab65c21b6cb1a0affeefbbe56 16-Feb-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Code cleaning"
121c82c8130c2658f73fb19f3a62eb88c8679968 16-Feb-2011 Fabrice Di Meglio <fdimeglio@google.com> Code cleaning

- remove unused local variables
- add char constants
- some variables renaming to be more understandable

Change-Id: Id54dd671b1449cca6463bf77160dc72c8bf0c805
taticLayout.java
2fa160840c81c32aa9703d08ced24a2427863bf4 16-Feb-2011 Fabrice Di Meglio <fdimeglio@google.com> Merge "Small optimization when getting the spans"
a2a035ef47449d2c35c0fe552f629ebddfbc6312 15-Feb-2011 Fabrice Di Meglio <fdimeglio@google.com> Small optimization when getting the spans

- loop earlier if the kind is not the one we want

Change-Id: I5b020f20a144678ad2f7a4bca8fef64eb6ae491f
pannableStringInternal.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
ayout.java
19e70cbbcb19df0e1139a5c3825939e31c9485b0 07-Feb-2011 Paul Eastham <eastham@google.com> am 9a5bda87: am be46d145: Revert "Fix for StaticLayout bug with ellipsized text"

* commit '9a5bda875f86b188b501ce7cf73810dd92288251':
Revert "Fix for StaticLayout bug with ellipsized text"
7679365b54b2f34ad1bc75fba554847865965868 07-Feb-2011 Kenny Root <kroot@android.com> am 6465889e: am c4dfa998: am d2a99617: am c94a9998: Merge "JPtextinput: Dont break emoji characters when cutting strings."

* commit '6465889ecbf4c04bb4bb6f4e8d4306727f7ca837':
JPtextinput: Dont break emoji characters when cutting strings.
de1285e7eae5ecf98b34d2976f86403c644b3af4 07-Feb-2011 Gilles Debunne <debunne@google.com> am 63308bd0: am a324a581: Merge "Fix for StaticLayout bug with ellipsized text" into honeycomb

* commit '63308bd092a0edcea685d9f81b3d6d6d345c663b':
Fix for StaticLayout bug with ellipsized text
9a5bda875f86b188b501ce7cf73810dd92288251 05-Feb-2011 Paul Eastham <eastham@google.com> am be46d145: Revert "Fix for StaticLayout bug with ellipsized text"

* commit 'be46d1456beb7e2f3e8b82bda2d0a5023db3debd':
Revert "Fix for StaticLayout bug with ellipsized text"
be46d1456beb7e2f3e8b82bda2d0a5023db3debd 05-Feb-2011 Paul Eastham <eastham@google.com> Revert "Fix for StaticLayout bug with ellipsized text"

This reverts commit bbc910f229dec45fa7481a62fbf051f7ff3130e7.
taticLayout.java
6465889ecbf4c04bb4bb6f4e8d4306727f7ca837 05-Feb-2011 Kenny Root <kroot@android.com> am c4dfa998: am d2a99617: am c94a9998: Merge "JPtextinput: Dont break emoji characters when cutting strings."

* commit 'c4dfa998b7660b9afc4d41b0c940d798f2122fc3':
JPtextinput: Dont break emoji characters when cutting strings.
bbc910f229dec45fa7481a62fbf051f7ff3130e7 04-Feb-2011 Gilles Debunne <debunne@google.com> Fix for StaticLayout bug with ellipsized text

This fixes the test, but I believe this class still needs a lot of fixing.

Change-Id: Ib6386196908ea8432b175d6994f9299778a322d2
taticLayout.java
fbcba51ab2fd5d7203909bd3299dc2a67f3ede42 01-Feb-2011 Mike Cleron <mcleron@google.com> am b118bd1c: am ad97c1b1: Merge "Remove MeasuredText debug messages" into honeycomb

* commit 'b118bd1c2bb665eec1a78a6cf5c76a0aa6eba6af':
Remove MeasuredText debug messages
15f16e3f860b28ef0767b08ae8d86dc08b6aac3b 01-Feb-2011 Gilles Debunne <debunne@google.com> am 65383292: am 8f8aac5e: Merge "Pixel were missing on the last line of text when using MaxLines." into honeycomb

* commit '6538329258ee01b27586d8b0e46e96160d719a68':
Pixel were missing on the last line of text when using MaxLines.
ad97c1b12872042f97414b51cb58484f9a5fd9fd 01-Feb-2011 Mike Cleron <mcleron@google.com> Merge "Remove MeasuredText debug messages" into honeycomb
fbc8630736d12676edc16f3932231713e23dd1df 31-Jan-2011 Kenny Root <kroot@google.com> Remove MeasuredText debug messages

MeasuredText debug messages were left in the tree. Remove them before
shipping.

Bug: 3408963
Change-Id: Ia220eae5835d1325bb6053de0025d8016a1edcad
easuredText.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
ynamicLayout.java
ayout.java
taticLayout.java
4f92dd2a4d8ff93dd274dbca03426a2f7ebf4ee6 28-Jan-2011 Brian Muramatsu <btmura@google.com> am 910be3e8: am 9eaefb82: Merge "Fix TextUtils#commaEllipsize" into honeycomb

* commit '910be3e855738eab783f2e280b76dcef90a841ec':
Fix TextUtils#commaEllipsize
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
extUtils.java
277ae7e3dcbbf2289e07ae4c78b1bbb87d03331b 26-Jan-2011 Gilles Debunne <debunne@google.com> am 7a417821: am 47fc854a: Merge "Fix for a call to startActivity from outside of an app." into honeycomb

* commit '7a417821957bac70bfd4cb4a357b143a1a1570e3':
Fix for a call to startActivity from outside of an app.
47fc854ae9947e0fe5ca0e33e22a41618ba7523b 25-Jan-2011 Gilles Debunne <debunne@google.com> Merge "Fix for a call to startActivity from outside of an app." into honeycomb
d9ed795ca51c57427ad27f246d5ec19f89ff508d 25-Jan-2011 Gilles Debunne <debunne@google.com> Fix for a call to startActivity from outside of an app.

Bug 3246715

Regression introduced by https://android-git.corp.google.com/g/#change,86174

Change-Id: Icba170746d196386bd9b0309582f724cb076d937
ethod/LinkMovementMethod.java
3971b8cd523bad5c6fc341181d07523e7402b4a7 25-Jan-2011 Gilles Debunne <debunne@google.com> am 2b5a62af: am 2a32a39e: Merge "Removed warnings in DynamicLayout" into honeycomb

* commit '2b5a62afdef5efc47e223057de0c867ffafef22d':
Removed warnings in DynamicLayout
2a32a39e9a0455732724bbbbbdce41e12a8ffb1e 25-Jan-2011 Gilles Debunne <debunne@google.com> Merge "Removed warnings in DynamicLayout" into honeycomb
9854161e8f9210d1b950c069948e566965ab84df 25-Jan-2011 Gilles Debunne <debunne@google.com> am 9eaa9b97: am b6b15dca: Merge "TextLine cache is used, even for long lines of text." into honeycomb

* commit '9eaa9b97d78e3efed1ac497822ca06c03db890cd':
TextLine cache is used, even for long lines of text.
d6e568c4f3b30431a0086e647f38d24ffd81457a 25-Jan-2011 Gilles Debunne <debunne@google.com> Removed warnings in DynamicLayout

Change-Id: Ied1c330795412d0bdcac1236b466951112fabc7d
ynamicLayout.java
f902d7bc49797ec277b4576c921dfffa15d741dd 25-Jan-2011 Gilles Debunne <debunne@google.com> TextLine cache is used, even for long lines of text.

Bug 3381368

The 250 characters limit is passed for long URLs. There are only 3
TextLine objects, so their total size is not an issue. Recycle long
lines as well to make sure we fill the cache and avoid object creation.

Change-Id: I843bf623594312a0fcf0edbb13b7cd64cce0ddd1
extLine.java
2c2aa7c4d28dfeb81b1216ea451265a8e4576b2e 21-Jan-2011 Leon Scroggins <scroggo@google.com> am 62fd9903: am d5188657: Do a better job of lining up text with page text.

* commit '62fd9903a756eb5d8e7bcafbbc5a3a311fdbcefc':
Do a better job of lining up text with page text.
d5188657dcde0f40a6954a00d569c0575bf6095a 19-Jan-2011 Leon Scroggins <scroggo@google.com> Do a better job of lining up text with page text.

Bug:3085564
Bug:3196224
Bug:3321608

Remove Touch.getMaxScrollX(), which is incorrect for my
purpose, and is not used anywhere else. Instead use the
layout to determine the maximum horizontal scroll of a
textfield.

Now that textareas use layers, scroll the layer's picture
in the UI thread for vertical movement. When passing a
click to webcore, also pass a message to scroll the actual
textarea so the click will be in the correct place.

Lastly, do not override bringPointIntoView, which allows
moving the insertion handler beyond the edge of a field to
scroll it. Instead, override requestRectangleOnScreen to
do nothing, since my actual goal is to prevent the TextView
from changing the scroll of the WebView, which is done by
webkit.

Requires a change to external/webkit.

Change-Id: Ib91907599b792287c373d3678cb04e0cb5e34471
ethod/Touch.java
2f0f44212fc1e86bd7bd54431bf6a0cd62aa093c 04-Nov-2010 Ishibashi Takako <takako.x.ishibashi@sonyericsson.com> JPtextinput: Dont break emoji characters when cutting strings.

In the LengthFilter make sure that we do not cut the
string so a last emoji character gets broken and replaced
by some garbage character.

We need to check if the last char is the high surrogate and
if so drop the high surrogate also.

Change-Id: I210e7e41aa0761ecbb2b32e3ebf680a04382c287
nputFilter.java
07481ccd1dcc2912797ec64f0bfa5641b39adcea 07-Jan-2011 Jesse Wilson <jessewilson@google.com> Deprecate a method that formats only IPv4 addresses.

Anyone calling this method is probably storing IP addresses
in an int, which doesn't make sense anymore.

Change-Id: Iba535b66f6cff47ce07b5ecc6427e3b2fd846998
ormat/Formatter.java
d434d2334d2362f77d3a3fb0b1f788f667039bbf 05-Jan-2011 Gilles Debunne <debunne@google.com> MaxLines is respected in TextViews, even when ellipsize is set to end.

Bug 3322607

Re-applying the revert that fixed the ANR (https://android-git.corp.google.com/g/#change,87129),
whith an updated here value that seems to fix the problem.

This layout code is pretty involved, with destabilizing variable names and
uses. Althought I tested it, this fix is not 100% garanteed.

Change-Id: I1f4b09b329fb8a328ae8ab26ae472e343453beda
taticLayout.java
87121accdb0ce318482ac51270763a6faab2ed63 05-Jan-2011 Dianne Hackborn <hackbod@google.com> Some new API cleanup.

- Tweak Fragment docs to match new sample code.
- Make some new attributes public.
- Hide all of the XmlAdapter stuff, since it is not actually being used.

Change-Id: Iae2062f91d1ca0c6b1d656ae948417d3d048482f
lipboardManager.java
4cf435df2e485e405f085982ac8fd9c82fb57d47 05-Jan-2011 Gilles Debunne <debunne@google.com> Revert "Fix for ellipsized text that has two lines at maximum."

This reverts commit 32ea4ffdca0f4706e447d0a275f259fe121b9e6a.

This change introduces an ANR in AutoComplete text view. There is
an infinite loop when the suggestion TextView is measured.

Reverted to fix the ANR, opening a new bug for the ellipsize.

Bug 3315813, 3320375, 3318059

Change-Id: I1872116ca1f39324ed4500d338bafac7e0d195ec
taticLayout.java
75b7a931bc96c1b46cbf3773cd75c30bf6d6f5f0 21-Dec-2010 Gilles Debunne <debunne@google.com> Removed simple compilation warnings.

Change-Id: I471b8895db4321d49e324e7137a1f5cee08ff5d4
ethod/LinkMovementMethod.java
82d731ac5d28fb54c49948116786813a62b07b8b 24-Dec-2010 Ken Wakasa <kwakasa@google.com> Add TYPE_NUMBER_VARIATION_PASSWORD for entering a numeric password.

Also, bug fix in EditoInfo.makeCompatible().

bug: 3296883
Change-Id: Icc663b375cffbe1f4506d1758d624a1acca3576b
nputType.java
9a99244a95f9445a6dbd25d47532c7c947a26278 23-Dec-2010 Gilles Debunne <debunne@google.com> Merge "Fix for ellipsized text that has two lines at maximum."
00998631559dbb82b2a1913c9c19f90bd946d14d 22-Dec-2010 Jeff Brown <jeffbrown@google.com> Merge "Add support for forward delete key."
14d0ca1473b991288b2dfab57409054dec7cd2fa 22-Dec-2010 Jeff Brown <jeffbrown@google.com> Add support for forward delete key.

Change-Id: Ib356abddd92db12d6b33e19234136c0d167f0e15
ethod/BaseKeyListener.java
ethod/QwertyKeyListener.java
67b6ab72ae96a9f2be929de2c32c110df5390fdd 18-Dec-2010 Jeff Brown <jeffbrown@google.com> Add TextView support for Home, End, PageUp, PageDown.

Change-Id: If8aa2a63b5fc33528d54eef68e695082a129acce
ethod/ArrowKeyMovementMethod.java
ethod/BaseMovementMethod.java
ethod/LinkMovementMethod.java
ethod/MovementMethod.java
ethod/ScrollingMovementMethod.java
32ea4ffdca0f4706e447d0a275f259fe121b9e6a 21-Dec-2010 Gilles Debunne <debunne@google.com> Fix for ellipsized text that has two lines at maximum.

The breakOnlyAtSpaces test did not include the reset at the end of the loop
which resets j and w (current position and width). As a result, the second line
was too long from the start and never cut again.

Hours a debug, a simple { change.

Bug 2969667

Change-Id: I1e5b4a37cd9e64d115e6343d7788db3a6ef881e0
taticLayout.java
52715a7c10eeb798692ffdb4bc8c4305cb0aa705 09-Dec-2010 Jeff Brown <jeffbrown@google.com> Fix a regression in clearMetaKeyState.

Bug: 3267519
Change-Id: Ibbc7d4e38ef3208b9ece09566e44e8421866ab95
ethod/MetaKeyKeyListener.java
50f34d14f6dd3411fdbdb6a7b8b285c2b8fdbf5c 04-Dec-2010 Svetoslav Ganov <svetoslavganov@google.com> Adding DatePciker widget based on the Calednar team code. Updated DatePciker and DatePickerDialog as the second part of the Time/Date pciker refresh feature.

Change-Id: Id32c614bcd799463ca33bf08fb7d5cf44f8326a6
ormat/Time.java
0bb000931bb841e75903d655552d1626ae158707 03-Dec-2010 Gilles Debunne <debunne@google.com> Fix in vertical measurement in text lines with different text sizes

The last span of the TextLine was defining the FontMetrics, instead of
min/maxing the different values.

Bug 3220698

Change-Id: I7394b1699a15aeee4cc38462d561faf329d3e1f6
extLine.java
0eb704ca7a0844186e0755e86bc4afc23297797d 30-Nov-2010 Gilles Debunne <debunne@google.com> Tap inside text selection dismisses selection.

Change-Id: I8ccc952940d3f1b3a52d506f750019a892380f40
ethod/ArrowKeyMovementMethod.java
47e6b1b5eef8ee99872f278f66bc498c4fcca0d8 30-Nov-2010 Jeff Brown <jeffbrown@google.com> Support non-orientation aware keyboards and other devices.

Fixed a bug with dpad keys on external keyboards being rotated
according to the display orientation by adding a new input device
configuration property called "keyboard.orientationAware".

Added a mechanism for overriding the key layout and key character
map in the input device configuration file using the new
"keyboard.layout" and "keyboard.characterMap" properties.

Also added "trackball.orientationAware", "touch.orientationAware" and
"touch.deviceType" configuration properties.

Rewrote the configuration property reading code in native code
so that it can be used by EventHub and other components.

Added basic support for installable idc, kl, and kcm files
in /data/system/devices. However, there is no provision for
copying files there yet.

Disabled long-press character pickers on full keyboards so that
key repeating works as expected.

Change-Id: I1bd9f0c3d344421db444e7d271eb09bc8bab4791
ethod/QwertyKeyListener.java
ethod/TextKeyListener.java
a944828d3be97f968a571590ff3bc769f89e967d 19-Nov-2010 Gilles Debunne <debunne@google.com> Merge "Clean-up in StaticLayout"
6611147383118cd91cc29b31bff9aaf4c853f39d 19-Nov-2010 Gilles Debunne <debunne@google.com> Clean-up in StaticLayout

Change-Id: I81ac5d8bef7ce8f4f65e3a8c7da8393ce0a87558
taticLayout.java
6b53e8daa69cba1a2a5a7c95a01e37ce9c53226c 11-Nov-2010 Jeff Brown <jeffbrown@google.com> Added support for full PC-style keyboards.

BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).

Added FULL keyboard type to support full PC-style keyboards.

Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER

Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)

Modified several places where events were being synthesized
to use the virtual keyboard.

Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.

Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.

Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.

Fixed a bug in InputReader generating key ups when keys
are released out of sequence.

Updated tons of documentation.

Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.

Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
ethod/BaseKeyListener.java
ethod/DialerKeyListener.java
ethod/MetaKeyKeyListener.java
ethod/NumberKeyListener.java
ethod/QwertyKeyListener.java
ethod/TextKeyListener.java
ethod/Touch.java
162bf0f1b9fd5d78ffa801917994f6222c6efd85 17-Nov-2010 Gilles Debunne <debunne@google.com> Fix for IOOBoundsExc in SpannableStringBuilder

Bug 3182953

Change-Id: Idc7faa86b8250bf325e2547d7d4c094300a06686
ayout.java
dea3ef7967228f0ddcc03f2455a4f1254758e584 28-Oct-2010 Dianne Hackborn <hackbod@google.com> Add new resize mode to not resize, new web input types.

Change-Id: Ib098c03793d08532c3c099b59d0cc6b567e54900
nputType.java
d040f95190a3dd3b1ae925917eba7086c8ce563e 19-Oct-2010 Gilles Debunne <debunne@google.com> Temporarily removed call to drawCircle in BulletSpan.

Replaced by a drawPath. drawCircle is not supported by openGL for now.

Bug: 3101235

Change-Id: I0c050097e3cb87f9d4c703062d4250d08247c99e
tyle/BulletSpan.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
ayout.java
ethod/ArrowKeyMovementMethod.java
ethod/DialerKeyListener.java
ethod/MetaKeyKeyListener.java
ethod/Touch.java
464fb74e28b6d76d5e741abcdbb714eea2d9b4d1 27-Sep-2010 Jeff Brown <jeffbrown@google.com> am 9785bf0f: am 14a288da: Merge "Add suuport for splitting touch events across windows." into gingerbread

Merge commit '9785bf0f2b6b8758aed7ded3b996a2ef0be89919'

* commit '9785bf0f2b6b8758aed7ded3b996a2ef0be89919':
Add suuport for splitting touch events across windows.
9785bf0f2b6b8758aed7ded3b996a2ef0be89919 27-Sep-2010 Jeff Brown <jeffbrown@google.com> am 14a288da: Merge "Add suuport for splitting touch events across windows." into gingerbread

Merge commit '14a288da6a372230d9af41da12241fe500eec837' into gingerbread-plus-aosp

* commit '14a288da6a372230d9af41da12241fe500eec837':
Add suuport for splitting touch events across windows.
01ce2e9eee41cc0c24b0d16465710a28ea337d5d 27-Sep-2010 Jeff Brown <jeffbrown@google.com> Add suuport for splitting touch events across windows.

This feature is currently used to enable dragging the start and end
selection handles of a TextView at the same time. Could be used for
other things later.

Deleted some dead code in ArrowKeyMovementMethod and CursorControllers.

Change-Id: I930accd97ca1ca1917aab8a807db2c950fc7b409
ethod/ArrowKeyMovementMethod.java
879fb6b5d66bec90d3420fad12a2a9b2fe9592f3 20-Sep-2010 Adam Powell <adamp@google.com> Text selection anchors changed to use windows

Manually cherry-picked

Change-Id: Id080dfad0e2f324fef3a5175abc78f76c8bad4c8
ethod/ArrowKeyMovementMethod.java
770a681b2f5b00e699920317bff04a24676ae143 22-Sep-2010 Adam Powell <adamp@google.com> am 9aed3002: Text selection anchors changed to use windows

Merge commit '9aed300279db6953356aed5ef24a42291f5829cb' into gingerbread-plus-aosp

* commit '9aed300279db6953356aed5ef24a42291f5829cb':
Text selection anchors changed to use windows
9aed300279db6953356aed5ef24a42291f5829cb 20-Sep-2010 Adam Powell <adamp@google.com> Text selection anchors changed to use windows

Change-Id: I14f138039f5e3175a8c07f21985715b8447708e5
ethod/ArrowKeyMovementMethod.java
42a5ed2015461126bd012d6f8f3e1311e5721807 12-Sep-2010 Brad Fitzpatrick <bradfitz@android.com> resolved conflicts for merge of 171c83f4 to master

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

Merge commit '11fe181e16501103d7c0f70344661ea2ef5d3df9' into gingerbread-plus-aosp

* commit '11fe181e16501103d7c0f70344661ea2ef5d3df9':
Add faster TextUtil function for searching delimited lists.
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
extUtils.java
fd1a8945be5ea1ce5dd948f8fdbefc6c5963eb9f 09-Sep-2010 Gilles Debunne <debunne@google.com> am de5cfcb6: am d9c80ab3: Merge "Fix for a memory leak in TextKeyListener." into gingerbread

Merge commit 'de5cfcb608f3432d98ae17e0febb6e726df79e90'

* commit 'de5cfcb608f3432d98ae17e0febb6e726df79e90':
Fix for a memory leak in TextKeyListener.
de5cfcb608f3432d98ae17e0febb6e726df79e90 09-Sep-2010 Gilles Debunne <debunne@google.com> am d9c80ab3: Merge "Fix for a memory leak in TextKeyListener." into gingerbread

Merge commit 'd9c80ab31ac3755141765e2c030bd1404ff0b050' into gingerbread-plus-aosp

* commit 'd9c80ab31ac3755141765e2c030bd1404ff0b050':
Fix for a memory leak in TextKeyListener.
d35180cf52d8a84b5bd45a3f6428449bbc0a3283 08-Sep-2010 Gilles Debunne <debunne@google.com> Fix for a memory leak in TextKeyListener.

Open source contribution https://review.source.android.com/#change,16985

Change-Id: Iebf09e147dd26575ca1a3f02180a678583671a68
ethod/TextKeyListener.java
d41b037c6b645768bf55d4d9efb4904373bd61b0 08-Sep-2010 Erik <roboerik@android.com> am c4f628a1: am c0b4f6d3: Merge "Adds a time zone parameter to formatDateRange" into gingerbread

Merge commit 'c4f628a1ba359926cf53ed7652d9abba6ea29123'

* commit 'c4f628a1ba359926cf53ed7652d9abba6ea29123':
Adds a time zone parameter to formatDateRange
c4f628a1ba359926cf53ed7652d9abba6ea29123 08-Sep-2010 Erik <roboerik@android.com> am c0b4f6d3: Merge "Adds a time zone parameter to formatDateRange" into gingerbread

Merge commit 'c0b4f6d30d962d75125628317b5f5ea622531dfe' into gingerbread-plus-aosp

* commit 'c0b4f6d30d962d75125628317b5f5ea622531dfe':
Adds a time zone parameter to formatDateRange
577ec9eb3a661de96a2cbe9ec918eda082fb7659 02-Sep-2010 Erik <roboerik@android.com> Adds a time zone parameter to formatDateRange

For a critical feature request in Calendar we need the ability
to format a date range in a time zone other than the local tz.
This adds a new method signature to formatDateRange to allow for
a tz to be specified and maintains the old behavior if the parameter
is not used. Also deprecates the FORMAT_UTC flag.

Change-Id: I16b3e939760ec86c954b51a318d01b7bbf86acc9
ormat/DateUtils.java
5c69544826258bf047fc72c871c18e4a5b24d873 08-Sep-2010 Gilles Debunne <debunne@google.com> am cf86bc1d: am 883bbb72: Merge "Hide mCursorController field in ArrowKeyMovementMethod." into gingerbread

Merge commit 'cf86bc1d92128455c06ed8b0a338e7b3145d11a7'

* commit 'cf86bc1d92128455c06ed8b0a338e7b3145d11a7':
Hide mCursorController field in ArrowKeyMovementMethod.
cf86bc1d92128455c06ed8b0a338e7b3145d11a7 08-Sep-2010 Gilles Debunne <debunne@google.com> am 883bbb72: Merge "Hide mCursorController field in ArrowKeyMovementMethod." into gingerbread

Merge commit '883bbb72284736b5601f9e96d1116969c51b75de' into gingerbread-plus-aosp

* commit '883bbb72284736b5601f9e96d1116969c51b75de':
Hide mCursorController field in ArrowKeyMovementMethod.
49271c941ed965c20ed834c5efc52b07ed616e34 08-Sep-2010 Gilles Debunne <debunne@google.com> Hide mCursorController field in ArrowKeyMovementMethod.

Made the field private and added a description of its use.

Bug http://b/issue?id=2975284

Change-Id: Id8acf756218915cb2ae756789b62cfe7201a5c67
ethod/ArrowKeyMovementMethod.java
9773cd73b627c8521257c005881554d183d19a63 30-Aug-2010 Jean-Baptiste Queru <jbq@google.com> am f470ed86: Merge "Support surrogate pairs when layouting text"

Merge commit 'f470ed8630e9e648727443b065b9f1c69fee34d6' into gingerbread-plus-aosp

* commit 'f470ed8630e9e648727443b065b9f1c69fee34d6':
Support surrogate pairs when layouting text
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
ayout.java
taticLayout.java
tyled.java
673e42fafd4088970ec95e1f13c61dc83132c74e 26-Aug-2010 Chet Haase <chet@google.com> Fix for end events from Sequencer objects

Change-Id: I8947d8b016b880f9f54f2bf6ab22b4e188cdb29a
extLine.java
925f2f909649dd0cbf93674201430879c2e03f99 25-Aug-2010 Gilles Debunne <debunne@google.com> resolved conflicts for merge of 9765b2a0 to master

Change-Id: Ic37a443fff0425e9d7c8395f71665d56c38d7e53
8db59adccf3e07b9597a69858e8e4de4f7f233e7 24-Aug-2010 Kenny Root <kroot@google.com> resolved conflicts for merge of b037da40 to master

Change-Id: I591f80f613870a4b1557f17d1c8574f661ed8121
9765b2a01d32ea6f2f955170ef7d0185e2252b0a 24-Aug-2010 Gilles Debunne <debunne@google.com> am 2703a42d: When an EditText gains focus by tapping, move the insertion point where tapped.

Merge commit '2703a42d16af0e62da1bba02b6c935d98debf936' into gingerbread-plus-aosp

* commit '2703a42d16af0e62da1bba02b6c935d98debf936':
When an EditText gains focus by tapping, move the insertion point where tapped.
2703a42d16af0e62da1bba02b6c935d98debf936 24-Aug-2010 Gilles Debunne <debunne@google.com> When an EditText gains focus by tapping, move the insertion point where tapped.

The previous behavior was to move cursor at the end of the first line,
which feels weird.

Change-Id: I5a72f9871ed79ee2c521698ea642ba126537f4f9
ethod/ArrowKeyMovementMethod.java
b037da401ad76843c32e7d732d43d452e0e6f978 24-Aug-2010 Gilles Debunne <debunne@google.com> am 3e05a0be: Hysteresis effect in Text selection.

Merge commit '3e05a0beb2fad0b21558019d2adf6805da70e10e' into gingerbread-plus-aosp

* commit '3e05a0beb2fad0b21558019d2adf6805da70e10e':
Hysteresis effect in Text selection.
3e05a0beb2fad0b21558019d2adf6805da70e10e 23-Aug-2010 Gilles Debunne <debunne@google.com> Hysteresis effect in Text selection.

Vertical movement requires going over a given threshold to change line.
Makes it easier to move down without changing line, so that one can see the
cursor better. Also simplifies long line selection.

Change-Id: I791da500232c6e510af64c637ed994c5da9a4fea
ethod/ArrowKeyMovementMethod.java
a842d143d2dcad07906830a30deaf0ffce86f5d9 20-Aug-2010 Gilles Debunne <debunne@google.com> am d018a0ce: Merge "Text selection without trackball." into gingerbread

Merge commit 'd018a0ce72124f668d859b19fe3e73f5637d3c7c' into gingerbread-plus-aosp

* commit 'd018a0ce72124f668d859b19fe3e73f5637d3c7c':
Text selection without trackball.
b0d6ba1ec4f71b96cab7d1ff62b846d5cf162c4f 18-Aug-2010 Gilles Debunne <debunne@google.com> Text selection without trackball.

Backported from HC.

Squashed commit of the following:

commit af214a595c7a9fdd11a2dc384f7d4665abf751c0
Fixes in TextView's selection.

commit eb9fd59ebe6500a66c2003d46b5802299970ae8d
TextView with Selection Contextual Mode

commit 4c4c338ef355b369ce4b57d6c6fba7ee8f9dddf4
Cosmetic changes around TextView.

commit d4b4b054e87480d984ad18766f5e76553e3080d8
Double and one and a half tap removed from TextView.

commit 897c2847ba1fca8ef01eadadd1bc3de007af3ee5
Selection handlers in TextView

commit 832be74a5394649e28927484d9a86c6d53b430e7
New cursor controller in TextViews.

Change-Id: I01cc64736e2abea605317ee53907a1713617fc17
election.java
ethod/ArrowKeyMovementMethod.java
ethod/Touch.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
ayout.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
ayout.java
taticLayout.java
9f53119b72e6da865bcd53173d3dacd1eba01aee 05-Aug-2010 Dianne Hackborn <hackbod@google.com> First pass at a new clipboard API.

ClipboardManager was in android.text(!!) so it needed to be moved
up to android.content to have access to the richer data types we
now need.

ClippedData is the data representation. Still needs a lot of
fleshing out to allow holding more than one data type at a time
and perhaps conversions between them. (MIME-oriented interrogation
and conversion will be done through ContentProvider, which needs
to grow an ability to report multiple MIME types and accept a
desired MIME type when a stream is being opened.)

Change-Id: Ifa51bedcd084a677813b255d171804e8496b0cb5
lipboardManager.java
Clipboard.aidl
8bfc798dc267075b0fe791b87f4253460970aa58 14-Jul-2010 Gilles Debunne <debunne@google.com> Merge "Cosmetic changes around TextView."
d11f6e6460dcc41597e3a7f6cd3023f116f8c696 14-Jul-2010 Gilles Debunne <debunne@google.com> Double and one and a half tap removed from TextView.

Text selection is now triggered by a long press. This behavior should be shared
across applications and is already implemented in the browser.

New UI guidelines say that double tap should be used for zooming only.

Change-Id: I9fae692cf3f6e565350f666fa3d5a86884439349
ethod/ArrowKeyMovementMethod.java
2d0e87b64402459d89adfd004083a748f81a0391 13-Jul-2010 Gilles Debunne <debunne@google.com> Cosmetic changes around TextView.

Fixed some warnings in the code.

Change-Id: Id19395031a1ab41edcc47e3dc8cd9479c6e19f83
election.java
05336274dd8e7ababfe5b253069653abbba20c3c 10-Jul-2010 Gilles Debunne <debunne@google.com> Selection handlers in TextView

Long press on text view triggers selection mode. Two handles can be used to
adjust selection.

Change-Id: I45bb5fd62cae910570cff34920e45c4383160179
ethod/ArrowKeyMovementMethod.java
2f42aa54b46bdb990bc38b1f8f2e7a93f766a5e2 13-Jul-2010 The Android Open Source Project <initial-contribution@android.com> am 6fb70b5a: merge from open-source master

Merge commit '6fb70b5a9f41f198ee4bc1ed3efeca6f8ccdc5d9'

* commit '6fb70b5a9f41f198ee4bc1ed3efeca6f8ccdc5d9':
Documentation Bug (Issue 9557)
cc3ec6cdb2b892eb29513e72d8b205acbe997b25 23-Jun-2010 Gilles Debunne <debunne@google.com> New cursor controller in TextViews.

Editable TextView now display a cursor controller under the insertion
point so that it can be precisely moved.

Change-Id: Ia2e6ddc57d249647ff6683e10e4226db3df27223
extLine.java
ethod/ArrowKeyMovementMethod.java
ethod/Touch.java
0df10e9b4e7719777ff9a389959c5c5deeef0eae 06-Jul-2010 Christian Mehlmauer <FireFart@gmail.com> Documentation Bug (Issue 9557)

There was an issue in the Time.toMillis example.
Also removed some whitespaces so the file
applies to the Android coding Styleguide

Change-Id: Ic1383e506b30ff181c6e14a12f675b52e5c8ccbc
ormat/Time.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
pannableStringBuilder.java
74c95d4d41dc8bf7bcee2c97bf010ed39896bb56 25-Jun-2010 The Android Open Source Project <initial-contribution@android.com> am 8b0d5bc3: merge from froyo-plus-aosp

Merge commit '8b0d5bc3f858ae2b737ac654fa05c439344ad631'

* commit '8b0d5bc3f858ae2b737ac654fa05c439344ad631':
Fixing counting the number of days in call log screen.
24ca4545f3fa9ffaf0a84af11f1ab74cd14d232e 23-Jun-2010 Kenny Root <kroot@google.com> Check for spanned before computing tab stops

Don't try to check for tab stop spans in non-Spanned text input.

Change-Id: I54d69c8e0246f5a38d0713a89b8b455a478285f0
taticLayout.java
f1f33c4eb2ded794c74285d8a036073ae5419f25 18-Jun-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: If7ae0c5629d1b3c540cacfa517425c2e6b5822d1
345cb03315a0813ec57e44f97fc3fa4af6b3c309 17-Jun-2010 Gilles Debunne <debunne@google.com> Index out of range problem in TextLine.

Recent refactoring for bidi introduced an index shift in the getOffsetBeforeAfter
method. This problem appears for multi-line text input only, when the text line
mStart index is not 0.

As a result, moving the cursor using the trackball in a multi-line EditText crashes.

Change-Id: I1f121f0f9272ef7d338399f369ba6d77e1ca71c5
extLine.java
6b9a1a5124321253a75a17027292080bf6a946e8 16-Jun-2010 Jean-Baptiste Queru <jbq@google.com> Merge "Fixing counting the number of days in call log screen."
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
raphicsOperations.java
ayout.java
easuredText.java
pannableStringBuilder.java
extLine.java
c4a1a927a8aafc70ef0c2d5f11cdd413fad3a0e4 04-Jun-2010 Kenny Root <kroot@google.com> Merge "Fix alignment issues with RTL paragraphs."
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
ayout.java
taticLayout.java
extLine.java
ethod/Touch.java
4f2cf8af551c1703835a1193727ea7c56c8c8323 03-Jun-2010 The Android Open Source Project <initial-contribution@android.com> am 913dbc50: am a9f06fef: am ee7e6a78: merge from open-source master
ee7e6a78e28b360826f215e0e84d43b1513b6401 03-Jun-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: Idf8d5661d7b261b74ac0b1271af98795ac5faff9
23241887515ed77687c23e29a4a3ffff671666bd 02-Jun-2010 Doug Felt <dougfelt@google.com> Fix IndexOutOfBoundsException when measuring text.

Some line wrapping conditions caused the same style run to be measured
twice, incorrectly advancing the position in the width buffer and
occasionally causing measurement to run out of room. The fix is to
not remeasure the same style run.

Change-Id: Iceb29729c1c27bb602df20fdf83af1da28c82e11
taticLayout.java
e99c012503bbd205cbaa9f16f9894ca5ffeaaf76 02-Jun-2010 Kenny Root <kroot@android.com> Merge "Improved error-handling in Rfc822Tokenizer"
8e98e35e8f264f28dc19a603f039e7e9ca154ad7 28-May-2010 Kenny Root <kroot@google.com> am 50239de1: am ddbab4e1: am 6cc13745: am 94f1751c: Merge "Fix typo in EastAsianWidth javadoc" into froyo
18b221af466a5826066d30ca580bd5bd05b9c03c 27-May-2010 Kenny Root <kroot@google.com> Fix typo in EastAsianWidth javadoc

The Javadoc had a missing close <code> tag and also failed to mention
the "start" parameter in the doc.

Change-Id: I861d6646e82e1d49f23a09de8b68a61f81689f83
ndroidCharacter.java
dfd550d44c02e8a7a6bfeba28b60ae4c4132d3fc 13-May-2010 Kenny Root <kroot@google.com> Add @hide tag to fix SDK build

Previous Canvas changes missed a @hide tag, so droiddoc was complaining
about a missing method since that was also hidden.

Change-Id: Ib70a9fa2e20fe32b74ba901bb289e77583164004
raphicsOperations.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
raphicsOperations.java
pannableStringBuilder.java
extLine.java
b7332c714caf2ef07a827eb691e134d16003965f 10-May-2010 Seth Pensack-Rinehart <sethpr@google.com> Fix Javadoc typo for Spanned.SPAN_EXCLUSIVE_INCLUSIVE

Change-Id: I82d15bde9444beca83eb78349212125cae525a6e
panned.java
0b9d2ca6b6fc4574898cfff6acdee821d4723a96 07-May-2010 Doug Felt <dougfelt@google.com> Fix selection off-by-one bug.

The wrong value was used to measure the width of unidirectional text.

Change-Id: I57752c111641ca1cc951e0647b60c79f5a9493ad
extLine.java
06daf19f6c77a3170215ca1a969a9b8fb913ab90 10-Jun-2009 Simon Schoar <schoar@googlemail.com> Added WEB_URL_PATTERN for Montenegro ".me"

Change-Id: If725c5ee08ed840ae8323fa18b1d82ef2a42db87
til/Regex.java
6a84af0949b341593b4b25ed9bb365bd60ff1254 29-Mar-2010 David Sobreira Marques <dpsmarques@gmail.com> Fixing counting the number of days in call log screen.

Counting the number of days in call log screen when a
call was made/received within a week is not correct.

Issue 3132: Call Log Reporting Wrong

Change-Id: I99c3cb40267b4b5938ccc4225993b7aac7e2d018
Signed-off-by: David Sobreira Marques <dpsmarques@gmail.com>
ormat/DateUtils.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
ndroidBidi.java
oringLayout.java
ayout.java
easuredText.java
taticLayout.java
tyled.java
extLine.java
extUtils.java
71ab21a02a31948302b62bcbef72d3994034a855 18-Mar-2010 Devin Taylor <devin.taylor@garmin.com> Fix last character of password field being visible after rotation

This is a fix for http://code.google.com/p/android/issues/detail?id=907. Note that
that issue was declined without comment, but the bug (while incredibly minor)
does exist. This can be seen on the facebook app, as well as many third party apps.

Change-Id: I8f1449c47228f5f757a5baf389656e51c817b150
ethod/PasswordTransformationMethod.java
e19a2184b291626175213182a247caa102ab584d 06-Apr-2010 Kenny Root <kroot@google.com> am 6613ffb3: am 16197a24: am 0db37997: Merge "Revert to previous text selection behavior" into froyo
16197a246fdeff0167f9abdc6a3da5d83759993d 05-Apr-2010 Kenny Root <kroot@google.com> am 0db37997: Merge "Revert to previous text selection behavior" into froyo

Merge commit '0db37997366a4d781af48be758a9d90b6d07d7d5' into froyo-plus-aosp

* commit '0db37997366a4d781af48be758a9d90b6d07d7d5':
Revert to previous text selection behavior
8cdb684163051c12f37e8a5f9031f17efd9d0fa4 05-Apr-2010 Kenny Root <kroot@google.com> Revert to previous text selection behavior

There was a new behavior that starting "Select text" would allow you to
swipe from beginning to end and immediately copy that. This change
reverts to the previous behavior that "Select text" will start where
your cursor is currently and any tap will extend the selection from that
origin to the point of the tap.

Change-Id: Ib955cc8d62a652f518435953da2f54e810d9dfb0
ethod/ArrowKeyMovementMethod.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
ayout.java
taticLayout.java
9bab8f115b4dbb9c6d8e0e0b3040aa846ca6e5ca 31-Mar-2010 The Android Open Source Project <initial-contribution@android.com> am 4790259c: am 8de2cf4c: merge from open-source master
8de2cf4cce9ae2e121fccb4732fd23c64aace102 31-Mar-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I627b3a7080e413f756d1751cdae88ec6642b02c4
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
ynamicLayout.java
ayout.java
taticLayout.java
8082d5d9ebe29d8cb9755a64e05f4cf89b1cea5c 18-Mar-2010 Devin Taylor <devin.taylor@garmin.com> Fix last character of password field being visible after rotation

This is a fix for http://code.google.com/p/android/issues/detail?id=907. Note that
that issue was declined without comment, but the bug (while incredibly minor)
does exist. This can be seen on the facebook app, as well as many third party apps.

Change-Id: I8f1449c47228f5f757a5baf389656e51c817b150
ethod/PasswordTransformationMethod.java
9694f9056a86081aadc1d7caab82d340847b3884 26-Mar-2010 Henrik Hall <henrik.hall@sonyericsson.com> Improved error-handling in Rfc822Tokenizer

The javadoc for the Rfc822Tokenizer states that it will try
to be tolerant to broken syntax instead of returning an error
(as in an unchecked exception). In some rare cases where the
input is clearly incorrect, the tokenizer throws a
StringIndexOutOfBoundsException, which was found during
one of the monkey test runs. This commits fixes that crash,
and teaches the tokenizer to just continue to run anyway. Two
simple junit testcases has also been added for testing the
default and the errornous case.
til/Rfc822Tokenizer.java
ec8b1021906f77c47a772da5ca5641836361513d 13-Mar-2010 Eric Fischer <enf@google.com> Add documentation for LeadingMarginSpan2.

Bug 2420334

Change-Id: Ica42cc34a938a5ec529da16804d1f0e6fddcc249
tyle/LeadingMarginSpan.java
15a4d2ffd04dc6c70f2cd17dae12ac6bc14c69ab 12-Mar-2010 Kenny Root <kroot@google.com> Add correct copyright headers to multiple files

Format for the list of changes shows the origin commit reference followed
by the file name.

33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b1465ce982b5ae7c741345edd0ecd9322 core/java/android/accounts/AuthenticatorDescription.java
53332883543868fb83e111a07306368b7772b340 core/java/android/app/UiModeManager.java
93e7e22ec91dbc641d10ca6d70423e1357a95bba core/java/android/app/FullBackupAgent.java
328c0e7986aa6bb7752ec6de3da9c999920bb55f core/java/android/content/CursorEntityIterator.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncQueue.java
307da1a46b4c9b711bafe8fbaaa6b98e8868c18e core/java/android/content/SyncOperation.java
eb034652c2037a47ebfd99779e8383bb8bb528af core/java/android/content/pm/LabeledIntent.java
49237345d83e62fdb9eb8d50b13ad086636a04fa core/java/android/content/pm/FeatureInfo.java
a2b6c3775ed6b8924232d6a01bae4a19740a15f8 core/java/android/content/pm/PackageInfoLite.java
3ecd5f437580e49d80beecd29489d5fb1f7a7db0 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3e16f711735ae0615b9a9ea64faad38 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62de525e3d6d5e76851bdfaf12c11f05 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773cbdfbef2876a75c32bda5839647751 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2dfe361acbb28453b3f3b1a110932fa core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e5ea9c69a12a7d1cf8b3ec8b2d114a3 core/java/com/android/internal/view/BaseIWindow.java
e540833fdff4d58e37c9ba859388e24e2945ed45 core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab903887bbb8e7c7b6da5c581573850e30f46 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab823150fa8856d419abe02ceb75886f1 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e591b5c579f75b2580183b5d1c4219cd4 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b11abe83ff0c4ed18cac015c276b3181 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77392afb768c2f088e0dedbe4239f6fb opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e0d04539cd92848ea009dd615d88c2c opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b8c7476b46859f66c3f33d528adf181 packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f129dbae5319f0981a430d4662f43354 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d871db25e952972c2eb346a71186e9e3 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1dfb3a75d5b51f3b15816f13670fd51 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java

Copyright header moved to top in following file:

core/tests/coretests/src/android/widget/ListViewTest.java

Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
tyle/UpdateAppearance.java
26779e7e82cd27c4404a3ea01bee21699505276a 11-Mar-2010 Eric Fischer <enf@google.com> Merge "Don't break lines in the middle of a smiley or other graphic replacement."
191bbafacc48e5abfc6f393e0664e2d183740c4a 11-Mar-2010 Erik <roboerik@android.com> Merge "Noticed comment field when splitting guests wasn't being cleared."
de61f78340ae23384e16ad675aefdd01ddf07c76 10-Mar-2010 Eric Fischer <enf@google.com> Don't break lines in the middle of a smiley or other graphic replacement.

The code that was supposed to keep this from happening was not being
executed when the text was all ASCII.

Bug 1899722

Change-Id: Ifc97a4423d6136e19abbc4c82eb36ac0216ce415
taticLayout.java
0ef3eeec405efe2585eae8e675869dafdf81698f 02-Mar-2010 Ken Shirriff <kens@google.com> Merge "Remove DateException and obsolete DateUtils functions."
a53bbe4033f1e9fc4c371d51ba1ef58588f867eb 01-Mar-2010 Ken Shirriff <kens@google.com> Remove DateException and obsolete DateUtils functions.

These functions are deprecated and no longer used.
ormat/DateUtils.java
60919953ce80dbf75673837ea51497c84da7ac78 01-Mar-2010 Mark Wagner <mxw@google.com> check offset and don't crash
extUtils.java
277903f8d853297a1d22ea07e27e04d6534bc430 25-Feb-2010 Eric Fischer <enf@google.com> Merge "Add support for accessing native bidi implementation via jni."
2269d1572e5fcfb725ea55f5764d8c3280d69f6d 25-Feb-2010 Dianne Hackborn <hackbod@google.com> Re-arrange android-common so framework no longer links with it.

This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
utoText.java
tml.java
til/Linkify.java
dae8e94cce0881f3e10ef5e34b881f512bb52a75 24-Feb-2010 Doug Felt <dougfelt@google.com> Add support for accessing native bidi implementation via jni.

Include a simple test to verify that the bidi code works.
ndroidBidi.java
99c7dea7546bf0bd9ec1c03d300b11d93d9306dd 25-Feb-2010 Erik <roboerik@android.com> Noticed comment field when splitting guests wasn't being cleared.

The address field was being cleared twice instead of address and comment being cleared.
til/Rfc822Tokenizer.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.
ayout.java
taticLayout.java
1065758a0f8966a8597a61492112f7859a7050a4 22-Feb-2010 Doug Felt <dougfelt@google.com> Fix rounding of extra spacing when it is negative.
taticLayout.java
7951eaa92a962e39ebba0366fdcafc4a0a78cc98 17-Feb-2010 Kenny Root <kroot@google.com> Change Javadocs to fix SDK build

Remove some hidden reference and update links to other classes and
methods.

Change-Id: I4b6561f1bac07329d75da13f72496aa7d5b20a62
tyle/LeadingMarginSpan.java
574ecc8ed943d0c3148bff4fd7b28d65d9cc1cad 17-Feb-2010 Kenny Root <kroot@google.com> Merge "Add better index checks for AndroidCharacter.mirror"
f7c569897c798ee42267dcc0ef10197acaed22ee 17-Feb-2010 Eric Fischer <enf@google.com> Merge "Enhance text docs, rename some variables for clarity, comment places in the code for further investigation."
073a3d56ea7505126469dd9ed4c20a7a8923690d 17-Feb-2010 Kenny Root <kroot@google.com> Add better index checks for AndroidCharacter.mirror

Fix potential invalid array access if start index is before the
beginning of the array or start + count is past the end of the array.
Update Javadoc for mirror to reflect the usage of "start" and "count".

Change-Id: I7e596de8eae5c518a2b4ff0d28604bd9c59f9d9d
ndroidCharacter.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.
ayout.java
taticLayout.java
tyled.java
tyle/LeadingMarginSpan.java
tyle/TabStopSpan.java
bb9a51768d2d9dddbe2394b99a00544a3d144fac 13-Feb-2010 Kenny Root <kroot@google.com> Add API to access ICU's East Asian Width

Currently there is no way for an application built against the API to
access East Asian Width data from ICU. This adds an API for applications
to use to access it for correct drawing of international characters.

Change-Id: Iab50698ee555ae2ca8ab4b242cc14aa6e0dc3b48
ndroidCharacter.java
a877c034421143932c25daaca5f92a48ef6c3b81 16-Feb-2010 Eric Fischer <enf@google.com> Keep Rfc822Tokenizer from crashing when the string ends with a backslash.

Bug 2442537
til/Rfc822Tokenizer.java
a969dc4ea47051e6cd7f29fd91fd83924c749f0a 03-Feb-2010 Michael Chan <mchan@android.com> Unhiding Rfc822Tokenizer.tokenize(CharSequence text, Collection<Rfc822Token> out)

Note that Rfc822Tokenizer.tokenize(CharSequence text) is already in the SDK
and it just wraps the version I am unhiding.

Change-Id: I1ac3b405a04df960fc1e65ca4797d6f5adf85dc4
til/Rfc822Tokenizer.java
30d203050e832c7e3b7ca32cea615cb0825b5a2f 14-Jan-2010 Fred Quintana <fredq@google.com> allow + in usernames
oginFilter.java
62c4ad3b6ba162540c3fb57fcacb375ccfa53454 06-Jan-2010 Maryam Garrett <mkamvar@google.com> Enable onepointfivetap-and-swipe to select.

The goal of this new feature is to enable users to select
text without having to go through the cumbersome context
menu. Now users can simply execute a
onepointfivetap-and-swipe gesture to select text.
Onepointfivetap is similar to doubletap gesture (where a
finger goes down, up, down, up, in a short time period),
except in the onepointfive tap, a users finger only needs
to go down, up, down in a short time period.

I don't think this change should cause any waves, because
this interaction is consistent with the select interaction
using a computer-mouse and computer-screen, and i've
checked and it seems to be implemented on other touch-based
phones as well.

Change-Id: Iba84f7316a647e963ba7c57ca608bfdc3bb438b8
ethod/ArrowKeyMovementMethod.java
ad2fa35d888e0763bfef0fc060775bec5d169479 22-Dec-2009 Tom Taylor <tomtaylor@google.com> am d4a4729c: Update imports to android-common

Merge commit 'd4a4729c0cac582a2dcec7c8cfb316b81885a0f0' into eclair-mr2-plus-aosp

* commit 'd4a4729c0cac582a2dcec7c8cfb316b81885a0f0':
Update imports to android-common
d4a4729c0cac582a2dcec7c8cfb316b81885a0f0 21-Dec-2009 Tom Taylor <tomtaylor@google.com> Update imports to android-common

Several files were moved to android-common. Update all the references
to import those files from the new location.
utoText.java
tml.java
50fbfe65bb78e9fbd809238ca1f358390ed61ad3 15-Dec-2009 Maryam Garrett <mkamvar@google.com> am 39f0efba: Fixes context-menu trigger behavior after scroll in TextView

Merge commit '39f0efba92a4420f77e3abc53c367ea3cacde3cf' into eclair-mr2-plus-aosp

* commit '39f0efba92a4420f77e3abc53c367ea3cacde3cf':
Fixes context-menu trigger behavior after scroll in TextView
39f0efba92a4420f77e3abc53c367ea3cacde3cf 11-Dec-2009 Maryam Garrett <mkamvar@google.com> Fixes context-menu trigger behavior after scroll in TextView

This change fixes the context menu trigger behavior while
the user is selecting via touch. How if a user is selecting
text via dragging their finger, to trigger the context menu
they will have to lift their finger up, then issue a
longpress. This is consistent with the behavior of selecting
via the trackball.
ethod/ArrowKeyMovementMethod.java
15d3bb2ce6b3e48608148d56b2ba1555ad63dff8 14-Dec-2009 Paul Westbrook <pwestbro@google.com> am 7762d936: Unbundling work

Merge commit '7762d93621f508f4410fd37b5bbdfec0071b0420' into eclair-mr2-plus-aosp

* commit '7762d93621f508f4410fd37b5bbdfec0071b0420':
Unbundling work
7762d93621f508f4410fd37b5bbdfec0071b0420 11-Dec-2009 Paul Westbrook <pwestbro@google.com> Unbundling work

Moved AndroidHttpClient, Rfc822InputFilter, Rfc822Validator
NumberPicker, NumberPickerButton to android-common
---
til/Rfc822InputFilter.java
til/Rfc822Validator.java
fe9b503e57e3efc1909121db65dd470d908cc938 11-Dec-2009 Maryam Garrett <mkamvar@google.com> am 946bfa49: Merge change Ida4d6ab0 into eclair-mr2

Merge commit '946bfa490a4df62bfb48e8017c329b052e3e905e' into eclair-mr2-plus-aosp

* commit '946bfa490a4df62bfb48e8017c329b052e3e905e':
Allows users to scroll while in select mode.
ab9289320f598509cf358523ba173d69178a55ea 10-Dec-2009 Maryam Garrett <mkamvar@google.com> Allows users to scroll while in select mode.

This change allows the user to select-n-scroll. While a user
is in select mode, and they try to scroll, the textbox will
scroll in the direction of the selection, and expand the selection.
ethod/ArrowKeyMovementMethod.java
ethod/Touch.java
44e537a859966378f1599db5e5d41045e78efd94 07-Dec-2009 Maryam Garrett <mkamvar@google.com> am 7c427030: Merge change I9088d29b into eclair-mr2

Merge commit '7c42703082574638ecaa88ea18b0cc94bfabea2d' into eclair-mr2-plus-aosp

* commit '7c42703082574638ecaa88ea18b0cc94bfabea2d':
Improves the touch-based text selection UI in text boxes.
7c42703082574638ecaa88ea18b0cc94bfabea2d 07-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I9088d29b into eclair-mr2

* changes:
Improves the touch-based text selection UI in text boxes.
0f6357d855a328eb62210feccff5e44c81578553 04-Dec-2009 Daisuke Miyakawa <dmiyakawa@google.com> am 67d9aa15: Merge change I6173d7c7 into eclair-mr2

Merge commit '67d9aa15b6c6217a7d3b7b017924af132d048e56' into eclair-mr2-plus-aosp

* commit '67d9aa15b6c6217a7d3b7b017924af132d048e56':
Add isPrintableAscii() and isPrintableAsciiOnly() to TextUtils.java as hidden methods, and make vCard code use them.
ce08379e22609415971ece6ba3417d6d3fd338d2 01-Dec-2009 Maryam Garrett <mkamvar@google.com> Improves the touch-based text selection UI in text boxes.

With this change, when a user is in "text select" mode, they
can swipe any part of the text. This changes the behavior of
the touch-based select in 2 ways (behavior for cursor-based
select remains the same):

1. You can now indicate where your select will start. Before
this change, the select always started at the last cursor
position.

2. Selection will respect word boundaries. Before this
change the selection would be character to character. Since
users don't have a fine grain level of control over touch
events, this would often lead to incomplete selections.
ethod/ArrowKeyMovementMethod.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
extUtils.java
a0c9c173f1096a5a39fb9976c8736dbccb7b7d2f 03-Dec-2009 Dianne Hackborn <hackbod@google.com> am 2d8b0c3f: am 8693f82d: Merge change If1f0bf33 into eclair

Merge commit '2d8b0c3f0fbc3c42063f4e790ca85b86c5d655f0' into eclair-mr2-plus-aosp

* commit '2d8b0c3f0fbc3c42063f4e790ca85b86c5d655f0':
Some work on issue #2286804: sometimes text field doesn't accept input
2d8b0c3f0fbc3c42063f4e790ca85b86c5d655f0 03-Dec-2009 Dianne Hackborn <hackbod@google.com> am 8693f82d: Merge change If1f0bf33 into eclair

Merge commit '8693f82d02fd9b3a805e076fa1eafacd1737446d' into eclair-mr2

* commit '8693f82d02fd9b3a805e076fa1eafacd1737446d':
Some work on issue #2286804: sometimes text field doesn't accept input
190a80ceb5e3102e578b0f0ea292f0c0e23ec594 03-Dec-2009 Dianne Hackborn <hackbod@google.com> am 8693f82d: Merge change If1f0bf33 into eclair

Merge commit '8693f82d02fd9b3a805e076fa1eafacd1737446d' into eclair-plus-aosp

* commit '8693f82d02fd9b3a805e076fa1eafacd1737446d':
Some work on issue #2286804: sometimes text field doesn't accept input
27d377221c7970a5205c83f8a9f62f755dc1fa5d 02-Dec-2009 Dianne Hackborn <hackbod@google.com> Some work on issue #2286804: sometimes text field doesn't accept input

This doesn't really fix the problem being brought up here, but fixes a
related issue I found while investigating it -- if you tap a text view
enough to cause it to try to scroll, this will cause the touch to become
a scroll instead of a click, even if there is nothing to scroll. So
often quick taps to bring up the IME would be canceled because they
became a non-scroll.

Unfortuntately after syncing the latest build, I was having a lot of
trouble reproducing the original problem. I think I need to punt it to
MR2 at this point.

Change-Id: If1f0bf33de1b4d71c9f677cdad07639b7a3fb772
ethod/Touch.java
a351b7f0c6a2f8240f6426cfdd3499ac0618bc8f 18-Nov-2009 Dan Egnor <egnor@google.com> am 8c7d9eab: Merge change Icb1674f1 into eclair-mr2

Merge commit '8c7d9eab8aa297f5ee3a171c6fa63fcf94e2b330' into eclair-mr2-plus-aosp

* commit '8c7d9eab8aa297f5ee3a171c6fa63fcf94e2b330':
Create android-common static library which gets included in frameworks.jar,
ded0e6447ed6e0f200dbca13e43c6cf4efc16a1d 18-Nov-2009 Dan Egnor <egnor@google.com> Create android-common static library which gets included in frameworks.jar,
but can also be used by unbundled apps. Move android.text.util.Regex there as
a starting example, renamed to a more sensible (?) com.android.common.Patterns.
Set up a corresponding test package, and move RegexTest (to PatternsTest).
Update clients.
til/Linkify.java
til/Regex.java
1f60ff34cd353235eedb20bd0c6e2d4a1e6bcc06 18-Nov-2009 Eric Fischer <enf@google.com> am e45ebbaf: am 04a0e969: Merge change Id7c432bf into eclair

Merge commit 'e45ebbaf1b4450bb65fa13aaa3e64243ab838435' into eclair-mr2-plus-aosp

* commit 'e45ebbaf1b4450bb65fa13aaa3e64243ab838435':
Add vertical bar to the alt-space character picker for the hardware keyboard.
e45ebbaf1b4450bb65fa13aaa3e64243ab838435 18-Nov-2009 Eric Fischer <enf@google.com> am 04a0e969: Merge change Id7c432bf into eclair

Merge commit '04a0e969c6ae4c81a187ce70fdcee3f026eee7ec' into eclair-mr2

* commit '04a0e969c6ae4c81a187ce70fdcee3f026eee7ec':
Add vertical bar to the alt-space character picker for the hardware keyboard.
419094223a4ff49a8e63403d10dd3c5334d20a35 18-Nov-2009 Eric Fischer <enf@google.com> am 04a0e969: Merge change Id7c432bf into eclair

Merge commit '04a0e969c6ae4c81a187ce70fdcee3f026eee7ec' into eclair-plus-aosp

* commit '04a0e969c6ae4c81a187ce70fdcee3f026eee7ec':
Add vertical bar to the alt-space character picker for the hardware keyboard.
d7c432bf7f9c0c9dd6d954fffcd68828c0e309a5 18-Nov-2009 Eric Fischer <enf@google.com> Add vertical bar to the alt-space character picker for the hardware keyboard.

Bug 2242177

Approver: jerryw
ethod/QwertyKeyListener.java
da4204caa487bc613e51684db457ef4be6a914fc 19-Oct-2009 Mark Wagner <mxw@google.com> am dad4780b: Merge change I3834b1cb into eclair-mr2

Merge commit 'dad4780bbd6be0891ea8745bd274fc8d6882f071' into eclair-mr2-plus-aosp

* commit 'dad4780bbd6be0891ea8745bd274fc8d6882f071':
support for multiline paragraph style indentation
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.
ayout.java
taticLayout.java
tyle/LeadingMarginSpan.java
1dc38caf5fe5b479f50518b60e24c3c1df804dbf 01-Oct-2009 Eric Fischer <enf@google.com> am 88f2acb0: Merge change Iec1f8a2e into eclair

Merge commit '88f2acb066f2b66a01807ad4f3d26ef575a1bf37' into eclair-plus-aosp

* commit '88f2acb066f2b66a01807ad4f3d26ef575a1bf37':
Add Turkish accented letters for G and S on the hard keyboard.
ec1f8a2ecedb4904ca93bce14b4e1e033539fa55 01-Oct-2009 Eric Fischer <enf@google.com> Add Turkish accented letters for G and S on the hard keyboard.

Bug 2158331
ethod/QwertyKeyListener.java
ed843820f7aa93e0d3a2529956414a2ed940fa89 29-Sep-2009 Cary Clark <cary@android.com> am eaa18dec: scroll text field with touch

Merge commit 'eaa18dec91b6dd0ce3191a9ab65cdc95ef68b935' into eclair-plus-aosp

* commit 'eaa18dec91b6dd0ce3191a9ab65cdc95ef68b935':
scroll text field with touch
eaa18dec91b6dd0ce3191a9ab65cdc95ef68b935 28-Sep-2009 Cary Clark <cary@android.com> scroll text field with touch

Add a hidden public method to text/method/Touch.java that
computes the maximum scroll amount for a text field.

Remove 'faketouch' code; it causes a crash and is
no longer required.

Pass the percentage of the current scroll from the UI
thread to webkit. One additional fix is to allow very
small movements which are currently disallowed because
they are smaller than 'smallerSlop' in WebTextView.java.

Companion fix is in external/webkit.

Fixes http://b/issue?id=2133049
ethod/Touch.java
6351cf72a55def4e1bca5764dea8cbca99f13b90 23-Sep-2009 Debajit Ghosh <debajit@google.com> am 193a6261: Merge change 26537 into eclair

Merge commit '193a6261894619985866220c320017f0831d6055' into eclair-plus-aosp

* commit '193a6261894619985866220c320017f0831d6055':
add hashCode() and equals() to Rfc822Token, as well as a convenience tokenizer method to Rfc822Tokenizer, as part of a calendar guest bugfix.
78a5b8106a4768f7a67e5a29c58f23cd95f6c47c 23-Sep-2009 Debajit Ghosh <debajit@google.com> add hashCode() and equals() to Rfc822Token, as well as a convenience tokenizer method to Rfc822Tokenizer, as part of a calendar guest bugfix.
til/Rfc822Token.java
til/Rfc822Tokenizer.java
3ffe6b12c78397abb8ab1a3064583d5e8b6ce51c 22-Sep-2009 Dianne Hackborn <hackbod@google.com> am 7f3fb7de: Merge change 26130 into eclair

Merge commit '7f3fb7dec2afdffa37e3067ca8a5b9d01809a9ce' into eclair-plus-aosp

* commit '7f3fb7dec2afdffa37e3067ca8a5b9d01809a9ce':
Turn animations on by default.
bfe319e06aa56c081d0d94d64a8181291d7f7388 21-Sep-2009 Dianne Hackborn <hackbod@google.com> Turn animations on by default.

Add API to skip the animation for a particular start activity, so that
a latter better one can be used.

Fix Theme.NoDisplay to actually work.

Fiddle with various animations: don't do a different animation for task
switching, try a scale animation for switching in/out of the wallpaper.

Adjust the animation duration so that at normal speed we have something
more like the slower animation option (so slow is now the default).

Change-Id: Ieba9f3db0bd9a762a19b327a3ecccbc7b547893d
ormat/Formatter.java
6ce4af8587214865771b3fb6da8ba352b9080056 17-Sep-2009 Debajit Ghosh <debajit@google.com> am 70db3a20: Merge change 25414 into eclair

Merge commit '70db3a20cfa73fad0794679dda4102461a88057b' into eclair-plus-aosp

* commit '70db3a20cfa73fad0794679dda4102461a88057b':
refactor copy-and-paste email address filtering code.
70db3a20cfa73fad0794679dda4102461a88057b 17-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 25414 into eclair

* changes:
refactor copy-and-paste email address filtering code. add a column to Calendar.Events contract class.
aa3620f3999ccf2d79105bdc3641ce4c9134032e 17-Sep-2009 Amith Yamasani <yamasani@google.com> am 12cc9d82: Add a new flag for IMEs to disable suggestions for certain fields.

Merge commit '12cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77a' into eclair-plus-aosp

* commit '12cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77a':
Add a new flag for IMEs to disable suggestions for certain fields.
b3278a5c8a625b5bfe532eea0c1e30d24695f4ae 17-Sep-2009 Eric Fischer <enf@google.com> am 0828beee: Merge change 25386 into eclair

Merge commit '0828beee503b99a8f38f456416592d4ed6c799ae' into eclair-plus-aosp

* commit '0828beee503b99a8f38f456416592d4ed6c799ae':
Add one more hardware keyboard character popup: \ if you hold /
4c8b3594a62c614ef8a8fa1a82036630e8d0ea2f 17-Sep-2009 Debajit Ghosh <debajit@google.com> refactor copy-and-paste email address filtering code.
add a column to Calendar.Events contract class.
til/Rfc822InputFilter.java
12cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77a 17-Sep-2009 Amith Yamasani <yamasani@google.com> Add a new flag for IMEs to disable suggestions for certain fields.
nputType.java
cebe347e7ff99c593a0136ae8bcb3cadab7d77b6 17-Sep-2009 Eric Fischer <enf@google.com> Add one more hardware keyboard character popup: \ if you hold /
ethod/QwertyKeyListener.java
dda648f00aa6ea7b12dc4b96e70a6ced3c422e4a 16-Sep-2009 Eric Fischer <enf@google.com> am b6a7ea54: Merge change 25153 into eclair

Merge commit 'b6a7ea540ef9537bcedc707a87514e63438a533a' into eclair-plus-aosp

* commit 'b6a7ea540ef9537bcedc707a87514e63438a533a':
Reconcile the character popups for the hard and soft keyboards.
4ef29959bda59ae5f90aeeb48a8ef7e218500d03 16-Sep-2009 Eric Fischer <enf@google.com> Reconcile the character popups for the hard and soft keyboards.

Have the hardware keyboard popups for digits and symbols include
all the same characters as the soft keyboard has for those keys.

Bug 2056195
ethod/QwertyKeyListener.java
76d82371a90e81f2d5214d7b16ba713cb73771d1 14-Sep-2009 Eric Fischer <enf@google.com> am 13bc4ad1: Merge change 24902 into eclair

Merge commit '13bc4ad18bc401c2a80e7dde8cba18841d709a78' into eclair-plus-aosp

* commit '13bc4ad18bc401c2a80e7dde8cba18841d709a78':
Add "rtsp" to the list of URL schemes that get linkified.
7a4be89f5a7188d3e10ff0e1f71722ab161a5456 14-Sep-2009 Eric Fischer <enf@google.com> Add "rtsp" to the list of URL schemes that get linkified.

Bug 1845298
til/Linkify.java
til/Regex.java
e8ffb1da28b397422ec67c93577abe37f0561228 09-Sep-2009 Amith Yamasani <yamasani@google.com> am e989496e: Merge change 24194 into eclair

Merge commit 'e989496e2bb7a64abe7336db1e728095ebc83a0c' into eclair-plus-aosp

* commit 'e989496e2bb7a64abe7336db1e728095ebc83a0c':
Make the hardkeyboard long press dialog look the same as that of soft keyboard.
38d838d3aef5716c72936b3c0573bc5d4135c02c 08-Sep-2009 Amith Yamasani <yamasani@google.com> Make the hardkeyboard long press dialog look the same as that of soft keyboard.

New assets for transparent buttons and background.
ethod/CharacterPickerDialog.java
85a2c7f1cad8fd55ed72a8a3dbb2b36632ebbff3 01-Sep-2009 Jean-Baptiste Queru <jbq@google.com> merge from open-source master
b7559e02803266e5fa9f4496174bc343ecd245ab 01-Sep-2009 Eric Fischer <enf@google.com> am 56205fea: Merge change 23345 into donut

Merge commit '56205fea879543a50bb797016832416a8b48cabb' into eclair

* commit '56205fea879543a50bb797016832416a8b48cabb':
Fix an emoji-measuring bug that caused an exception when editing a contact.
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
ayout.java
4a51c20ce607c74914f90fd897f04080121ac13b 22-Aug-2009 Dianne Hackborn <hackbod@google.com> I am getting tired of the java doc warnings, so fix them.

Change-Id: I2205eebae419eaf4a0992c9f5b7cd807eb843fe1
tyle/ImageSpan.java
f4a2a7de88dad33eb341585fe7be7c6289baaac6 25-Aug-2009 Android Code Review <code-review@android.com> Merge change 10712

* changes:
Clarify use of InputType flags
86fcef87b802ee58147127dc5cca940239a30404 18-Aug-2009 Eric Fischer <enf@google.com> Don't use BoringLayout to display text that has paragraph-style markup.

BoringLayout assumes it doesn't have to do any work to calculate the
line height. In this case, though, there may actually be work to be
done, so have it fall back to StaticLayout to do the more thorough job.

Bug 2051050
oringLayout.java
f16da4555fbfbf9a92373dd2236f1f30b7f451e6 13-Aug-2009 Eric Fischer <enf@google.com> Add brackets, braces, and backslash to alt-space character entry popup.

Bug 2024806
ethod/QwertyKeyListener.java
a9f1dd021f8f6ee777bc4d27913bd40c42e753af 13-Aug-2009 Eric Fischer <enf@google.com> Make <font size> and <font height> in string resources respect density.

This unfortunately requires API changes because the existing text markup
classes had no access to the screen density.

TextPaint gains a "density" field so that TextView can pass the density
along. AbsoluteSizeSpan gains a new flag to indicate that its argument
is in dip instead of in physical pixels. LineHeightSpan gains an inner
interface whose chooseHeight() method includes a TextPaint argument so
it can get at the density. And when StringBlock creates the markup
objects, it now uses the density-aware versions.

Bug 1976971, Bug 2031746
taticLayout.java
extPaint.java
tyle/AbsoluteSizeSpan.java
tyle/LineHeightSpan.java
5c1207be90fdf296c1b83034b7c68915e1749284 01-Aug-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ormat/DateFormat.java
tyle/ImageSpan.java
cdc50d779bce9606b2563248af1e39cfba6b735c 30-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am c6eb5ac9: Merge change 9071 into donut

Merge commit 'c6eb5ac988518f41938c4f021003d6c202d84819'

* commit 'c6eb5ac988518f41938c4f021003d6c202d84819':
Fix issue #2018454: NullPointerException in ImageSpan constructor
0cd6376fa14089cee42991f751962ffd7f455797 30-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2018454: NullPointerException in ImageSpan constructor
tyle/ImageSpan.java
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
tml.java
9d5750636bdf93703301e319e5c5e9bbd051ea50 27-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 8593

* changes:
When you double-tap a word in an EditText, select the word.
a6e50454890629fe369538d8e473945bc9d68136 25-Jul-2009 Eric Fischer <enf@google.com> When you double-tap a word in an EditText, select the word.

Bug 1978109
ethod/ArrowKeyMovementMethod.java
e2dba02441b42afbae725109ac779877a4b72aa0 25-Jul-2009 Dianne Hackborn <hackbod@google.com> am 11ea3347: Allow for screen density drawables in compatibility mode.

Merge commit '11ea33471e1a14a8594f0b2cd012d86340dd3bd8'

* commit '11ea33471e1a14a8594f0b2cd012d86340dd3bd8':
Allow for screen density drawables in compatibility mode.
41220f2c5b674e317a9edd526bcfca6c542c1a15 25-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 7c187de1: Merge change 8462 into donut

Merge commit '7c187de14f6b5ec6d90bc8e26265a2ca2824e39a'

* commit '7c187de14f6b5ec6d90bc8e26265a2ca2824e39a':
Make the DatePicker respect the date format setting if the date is numeric.
11ea33471e1a14a8594f0b2cd012d86340dd3bd8 23-Jul-2009 Dianne Hackborn <hackbod@google.com> Allow for screen density drawables in compatibility mode.

This change allows us to use drawables that match the current screen
density even when being loaded in compatibility mode. In this case,
the bitmap is loaded in the screen density, and the bitmap and
nine-patch drawables take care of accounting for the density difference.

This should be safe for existing applications, for the most part, since
they shouldn't really be pulling the bitmap out of the drawable. For
the small rare chance of them breaking, it worth getting the correct
graphics. Also this will only happen when there is actually a resource
of the matching density, and no existing apps should have resources for
anything besides the default density (though of course all of the
framework resources will be available in the native density).

As part of this, the bitmap density API has been changed to a single
integer provider the DPI unit density.
tyle/ImageSpan.java
03a8017d0fe3b55b69c4328aa0d27bd96a2f1360 24-Jul-2009 Eric Fischer <enf@google.com> Make the DatePicker respect the date format setting if the date is numeric.

In some locales, there are no abbreviated month names; the abbreviated
date formats are essentially numeric. If the user is in such a locale,
have the DatePicker respect the date format setting so that the order
of the fields will match other numeric-only dates.

In locales that have abbreviated month names, continue to use the order
that is normal in spelled-out dates.

And update the order in updateDate() so that the new order is reflected
if you change the order setting and immediately go to change the date
without leaving and returning to the Date & Time settings in between.

At the same time, change DateFormat.getDateFormatOrder() back to working
the way it did in cupcake (prioritizing the date order preference over
the locale), even though the DatePicker no longer calls the method.

Bug 1805085
ormat/DateFormat.java
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
oginFilter.java
extUtils.java
ormat/DateFormat.java
ormat/DateUtils.java
ormat/Formatter.java
ormat/Time.java
ethod/DialerKeyListener.java
ethod/Touch.java
d3badad3aa7fd250a0a81549c6c3c15d8aee9f8d 18-Jul-2009 Kenny Root <kenny@the-b.org> Clarify use of InputType flags

Some developers were confused about how to use the inputType field
and were omitting the class type when setting variations.

There are places in the framework where it specifically checks for
a class and variation before it invokes the desired behavior.

For instance, in EditText when setting the input type to a visible
password, it specifically checks for this condition:
inputType == (TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD)
nputType.java
cad18157e73a93ff5d7c41fdb9e1abd0ca7b5f61 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am c93af6dc: Merge change 7441 into donut

Merge commit 'c93af6dc5bc78f02d4ee549890da12dc669fc2fe'

* commit 'c93af6dc5bc78f02d4ee549890da12dc669fc2fe':
Allow system colors in <font> tags
9cab7f7684f046934e3d400482dbd1db67c93ee4 15-Jul-2009 Bjorn Bringert <bringert@android.com> Allow system colors in <font> tags

Fixes http://b/issue?id=1970693
tml.java
c885577145f9e7b72466e8e7497e8b0f9da9477b 02-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am b0b815da: Merge change 5845 into donut

Merge commit 'b0b815da8c487bbfac6b2eadc91c619682720a71'

* commit 'b0b815da8c487bbfac6b2eadc91c619682720a71':
Always clear the TextView drag state whenever a touch begins.
58b971d733a2c700cabd3db02b6ea4d5faca6939 01-Jul-2009 Eric Fischer <enf@google.com> Always clear the TextView drag state whenever a touch begins.

Apparently it can sometimes miss a touch release, which would prevent
the longpress menu from appearing if the location of the new touch was
too far from the location of the previous touch.

Bug 1673223
ethod/Touch.java
becfc9de9e18ef216c2b537cd2829f1d2d55404f 30-Jun-2009 Michael Chan <mchan@android.com> Added a Formatter parameter to DateUtils.formatDateRange

DateUtils.formatDateRange is using String.format which isn't efficient for
formatting large number of strings. I have added the Formatter parameter which
allows the caller to reuse the formatter of subsequent calls for faster
performance.
ormat/DateUtils.java
5669ce59aad19f17e1e89913e7483fb93b8aa0cf 18-Jun-2009 Eric Fischer <enf@google.com> Work around the Czech lack of abbreviated month names.

Make the date formats that want abbreviated month names use either
the full name or a numeric format.
ormat/DateUtils.java
7351dd113f26580f3bcc7500746f3a26aecc4260 13-Jun-2009 Eric Fischer <enf@google.com> Use locale-appropriate formatting to display application sizes like "252KB".

In particular allow the French and Polish translators to put a space between
the number and the unit.
ormat/Formatter.java
328769582328192f8f361dcb56f2ad67ad00ae2c 12-Jun-2009 Eric Fischer <enf@google.com> Make the date format preference work again.

It is only used for numeric dates -- spelled-out dates have such a complex
variety of formats that they can only be meaningfully formatted from
locale strings.

In addition, the preference is left null when initializing, on the assumption
that the locale will still specify a more useful numeric format than we can
guess as part of a build-wide configuration.

But if the user has specified a format, the date will be formatted in the
order they asked for, with locale-appropriate punctuation substituted in.
ormat/DateFormat.java
af0e7a7394bf1e2596c46f81c3b0302a56daab96 11-Jun-2009 Eric Fischer <enf@google.com> Hook the 12- or 24-hour time format checkbox back up.

The format strings are newly generated from CLDR. The code is once again
the same as in cupcake: do the natural thing for the locale if the user
has never specified, but follow the checkbox if the user has ever set it.
ormat/DateFormat.java
84c863d9af1270a2ccd2ccd2b8c1a753826dfe6d 10-Jun-2009 Eric Fischer <enf@google.com> Fix some 12- vs 24-hour problems in the FormatDateRange strings.

Use a resource instead of a hardcoded string for the 24-hour format
since it is not exactly the same in every locale.

Make sure the 12-hour format is actually for a 12-hour clock, even in
locales where this is not a normal thing to do. In the cap_ampm version,
do not have it try to capitalize "am" and "pm" if these are non-ASCII
strings, since strftime() doesn't know about Unicode and will mess it up.

Add a comment so that people don't think the YEAR_IN_MILLIS constant is
actually the length of any real year.
ormat/DateUtils.java
a32b5f3252a58416f328399680395aa5fa936640 10-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 2411 into donut

* changes:
Manual merge from cupcake_dcm. Need to be reviewed by enf.
dda5391d5079537e275c9f4ed2637a1484d0e4e8 29-May-2009 Wink Saville <wink@google.com> Motorola additions for CDMA support without CdmaSuppConnTracker

There are corresponding changes to hardware/ril and packages/apps/Phone
that are required to go with these changes.
ethod/DialerKeyListener.java
c1d2748d442f06a7266be04b9e9c7d20609ad5cc 25-May-2009 Daisuke Miyakawa <dmiyakawa@google.com> Manual merge from cupcake_dcm. Need to be reviewed by enf.
oginFilter.java
extUtils.java
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ayout.java
5bd644caf73e76750feef1a82b8817d32f5367fc 13-May-2009 Eric Fischer <enf@google.com> Start using CLDR for some date-and-time strings and formats.

Use java.text.DateFormat where possible, since that is already using
the CLDR data for the things it supports. Remove an unused date format
object from DatePickerDialog.

Add a new method for getting the standalone month names from applications,
although @hidden for now because it is an API change.

Pass the standalone month names down to native code in Time so that
tztime's strftime() can use them.

And then the bulk of the change: replace all the names for the months
and the days of the week, and AM and PM, and yesterday, today, and tomorrow,
with strings from CLDR. And replace several of the date format strings
with ones derived from CLDR, but reformatted to use strftime() style
instead of SimpleDateFormat style.

All these resource changes go into new donottranslate-cldr.xml files
and are removed from strings.xml so that they aren't part of the
normal translation process and the translators don't have to bother
with them (and risk messing them up).
ormat/DateFormat.java
ormat/DateUtils.java
ormat/Time.java
670bf11fcf9e0a73007b9b814069aa575a872096 27-Apr-2009 Ken Shirriff <kens@google.com> Document exception from parse3339
ormat/Time.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
ayout.java
6480ba23e42bff917a5456c7876d77a93f61eb1d 01-Apr-2009 Tadashi Takaoka <> AI 144002: am: CL 144001 Fix tiny bug in Rfc822Token.java
Original author: takaoka
Merged from: //branches/cupcake/...

Automated import of CL 144002
til/Rfc822Token.java
c21cf4a9c5aa46df55800f28b7603852480d7585 01-Apr-2009 Tadashi Takaoka <> AI 144001: Fix tiny bug in Rfc822Token.java
BUG=1751496

Automated import of CL 144001
til/Rfc822Token.java
48e2de6b0f8159a268caccdbc7691ca728a53fa2 31-Mar-2009 Eric Fischer <> AI 143678: am: CL 143540 Try not to start TextView lines with non-starter characters.
TextView was previously following the "relaxed" line breaking
convention and would allow a line break between any two
ideographic characters. Tighten that up and do not allow
line breaks before non-starter characters (sound and iteration
marks and small Hiragana and Katakana).
Original author: enf
Merged from: //branches/cupcake/...

Automated import of CL 143678
taticLayout.java
65b8acad5fd6d6e5a49413574dae356dee41d4a5 31-Mar-2009 Eric Fischer <> AI 143669: am: CL 143495 Add more accented letters to the character picker.
The hardware keyboard doesn't have all the accents needed for
Czech and Polish, so round out the selection.
Original author: enf
Merged from: //branches/cupcake/...

Automated import of CL 143669
ethod/QwertyKeyListener.java
15095be0608da594adbc9093f1106235c4370590 31-Mar-2009 Eric Fischer <> AI 143540: Try not to start TextView lines with non-starter characters.
TextView was previously following the "relaxed" line breaking
convention and would allow a line break between any two
ideographic characters. Tighten that up and do not allow
line breaks before non-starter characters (sound and iteration
marks and small Hiragana and Katakana).
BUG=1735619

Automated import of CL 143540
taticLayout.java
8e13d66b8d5f9f36605398586a151a92f350d430 30-Mar-2009 Eric Fischer <> AI 143495: Add more accented letters to the character picker.
The hardware keyboard doesn't have all the accents needed for
Czech and Polish, so round out the selection.
BUG=1742856

Automated import of CL 143495
ethod/QwertyKeyListener.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
ayout.java
taticLayout.java
ffacbe5d36a6dec96a5c18081c4c321145f9fb66 26-Mar-2009 Eric Fischer <> Automated import from //branches/cupcake/...@142861,142861
ayout.java
taticLayout.java
f0138614acd239a43a0b6cb97b0ea845f82925f4 26-Mar-2009 Amith Yamasani <> Automated import from //branches/donutburger/...@142787,142787
utoText.java
2d548b56cd0f3dabad8844930f1583952ecf872c 26-Mar-2009 Amith Yamasani <> Automated import from //branches/cupcake/...@142786,142786
utoText.java
00ba76670fd06d9c51cce36a74c384a212f705b5 26-Mar-2009 Eric Fischer <> Automated import from //branches/donutburger/...@142700,142700
tml.java
d5e6a90c758f6d6a677af465da101d8b8b6b574d 25-Mar-2009 Eric Fischer <> Automated import from //branches/cupcake/...@142564,142564
tml.java
32048300e917c9181927ac017d02855bbde940ef 25-Mar-2009 Satoshi Kataoka <> Automated import from //branches/donutburger/...@141195,141195
tml.java
38e98fccfab9592f871f3066f8569c559f1ee226 25-Mar-2009 Dianne Hackborn <> Automated import from //branches/donutburger/...@140714,140714
ethod/ArrowKeyMovementMethod.java
ethod/Touch.java
c2ad241504fcaa12d4579d3b0b4038d1ca8d08c9 20-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@141571
tml.java
ethod/ArrowKeyMovementMethod.java
ethod/Touch.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
tml.java
ayout.java
taticLayout.java
ba87e3e6c985e7175152993b5efcc7dd2f0e1c93 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
tyle/ImageSpan.java
tyle/URLSpan.java
til/Regex.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
ethod/QwertyKeyListener.java
b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
ethod/ArrowKeyMovementMethod.java
ethod/MetaKeyKeyListener.java
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
nputType.java
ethod/ArrowKeyMovementMethod.java
ethod/QwertyKeyListener.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
lteredCharSequence.java
ndroidCharacter.java
nnotation.java
utoText.java
oringLayout.java
lipboardManager.java
ynamicLayout.java
ditable.java
etChars.java
raphicsOperations.java
tml.java
Clipboard.aidl
nputFilter.java
nputType.java
ayout.java
oginFilter.java
oCopySpan.java
ackedIntVector.java
ackedObjectVector.java
arcelableSpan.java
election.java
panWatcher.java
pannable.java
pannableString.java
pannableStringBuilder.java
pannableStringInternal.java
panned.java
pannedString.java
taticLayout.java
tyled.java
extPaint.java
extUtils.java
extWatcher.java
ormat/DateFormat.java
ormat/DateUtils.java
ormat/Formatter.java
ormat/Time.java
ethod/ArrowKeyMovementMethod.java
ethod/BaseKeyListener.java
ethod/CharacterPickerDialog.java
ethod/DateKeyListener.java
ethod/DateTimeKeyListener.java
ethod/DialerKeyListener.java
ethod/DigitsKeyListener.java
ethod/HideReturnsTransformationMethod.java
ethod/KeyListener.java
ethod/LinkMovementMethod.java
ethod/MetaKeyKeyListener.java
ethod/MovementMethod.java
ethod/MultiTapKeyListener.java
ethod/NumberKeyListener.java
ethod/PasswordTransformationMethod.java
ethod/QwertyKeyListener.java
ethod/ReplacementTransformationMethod.java
ethod/ScrollingMovementMethod.java
ethod/SingleLineTransformationMethod.java
ethod/TextKeyListener.java
ethod/TimeKeyListener.java
ethod/Touch.java
ethod/TransformationMethod.java
ethod/package.html
ackage.html
tyle/AbsoluteSizeSpan.java
tyle/AlignmentSpan.java
tyle/BackgroundColorSpan.java
tyle/BulletSpan.java
tyle/CharacterStyle.java
tyle/ClickableSpan.java
tyle/DrawableMarginSpan.java
tyle/DynamicDrawableSpan.java
tyle/ForegroundColorSpan.java
tyle/IconMarginSpan.java
tyle/ImageSpan.java
tyle/LeadingMarginSpan.java
tyle/LineBackgroundSpan.java
tyle/LineHeightSpan.java
tyle/MaskFilterSpan.java
tyle/MetricAffectingSpan.java
tyle/ParagraphStyle.java
tyle/QuoteSpan.java
tyle/RasterizerSpan.java
tyle/RelativeSizeSpan.java
tyle/ReplacementSpan.java
tyle/ScaleXSpan.java
tyle/StrikethroughSpan.java
tyle/StyleSpan.java
tyle/SubscriptSpan.java
tyle/SuperscriptSpan.java
tyle/TabStopSpan.java
tyle/TextAppearanceSpan.java
tyle/TypefaceSpan.java
tyle/URLSpan.java
tyle/UnderlineSpan.java
tyle/UpdateAppearance.java
tyle/UpdateLayout.java
tyle/WrapTogetherSpan.java
tyle/package.html
til/Linkify.java
til/Regex.java
til/Rfc822Token.java
til/Rfc822Tokenizer.java
til/Rfc822Validator.java
til/package.html
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
lteredCharSequence.java
ndroidCharacter.java
nnotation.java
utoText.java
oringLayout.java
lipboardManager.java
ynamicLayout.java
ditable.java
etChars.java
raphicsOperations.java
tml.java
Clipboard.aidl
nputFilter.java
nputType.java
ayout.java
oginFilter.java
oCopySpan.java
ackedIntVector.java
ackedObjectVector.java
arcelableSpan.java
election.java
panWatcher.java
pannable.java
pannableString.java
pannableStringBuilder.java
pannableStringInternal.java
panned.java
pannedString.java
taticLayout.java
tyled.java
extPaint.java
extUtils.java
extWatcher.java
ormat/DateFormat.java
ormat/DateUtils.java
ormat/Formatter.java
ormat/Time.java
ethod/ArrowKeyMovementMethod.java
ethod/BaseKeyListener.java
ethod/CharacterPickerDialog.java
ethod/DateKeyListener.java
ethod/DateTimeKeyListener.java
ethod/DialerKeyListener.java
ethod/DigitsKeyListener.java
ethod/HideReturnsTransformationMethod.java
ethod/KeyListener.java
ethod/LinkMovementMethod.java
ethod/MetaKeyKeyListener.java
ethod/MovementMethod.java
ethod/MultiTapKeyListener.java
ethod/NumberKeyListener.java
ethod/PasswordTransformationMethod.java
ethod/QwertyKeyListener.java
ethod/ReplacementTransformationMethod.java
ethod/ScrollingMovementMethod.java
ethod/SingleLineTransformationMethod.java
ethod/TextKeyListener.java
ethod/TimeKeyListener.java
ethod/Touch.java
ethod/TransformationMethod.java
ethod/package.html
ackage.html
tyle/AbsoluteSizeSpan.java
tyle/AlignmentSpan.java
tyle/BackgroundColorSpan.java
tyle/BulletSpan.java
tyle/CharacterStyle.java
tyle/ClickableSpan.java
tyle/DrawableMarginSpan.java
tyle/DynamicDrawableSpan.java
tyle/ForegroundColorSpan.java
tyle/IconMarginSpan.java
tyle/ImageSpan.java
tyle/LeadingMarginSpan.java
tyle/LineBackgroundSpan.java
tyle/LineHeightSpan.java
tyle/MaskFilterSpan.java
tyle/MetricAffectingSpan.java
tyle/ParagraphStyle.java
tyle/QuoteSpan.java
tyle/RasterizerSpan.java
tyle/RelativeSizeSpan.java
tyle/ReplacementSpan.java
tyle/ScaleXSpan.java
tyle/StrikethroughSpan.java
tyle/StyleSpan.java
tyle/SubscriptSpan.java
tyle/SuperscriptSpan.java
tyle/TabStopSpan.java
tyle/TextAppearanceSpan.java
tyle/TypefaceSpan.java
tyle/URLSpan.java
tyle/UnderlineSpan.java
tyle/UpdateAppearance.java
tyle/UpdateLayout.java
tyle/WrapTogetherSpan.java
tyle/package.html
til/Linkify.java
til/Regex.java
til/Rfc822Token.java
til/Rfc822Tokenizer.java
til/Rfc822Validator.java
til/package.html
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
nputType.java
tyled.java
ormat/DateUtils.java
ethod/NumberKeyListener.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
nputType.java
tyled.java
ormat/DateUtils.java
ethod/NumberKeyListener.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
ormat/Time.java
tyle/ImageSpan.java
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
ethod/ArrowKeyMovementMethod.java
ethod/MetaKeyKeyListener.java
ethod/PasswordTransformationMethod.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
nnotation.java
tml.java
nputType.java
oCopySpan.java
arcelableSpan.java
election.java
panWatcher.java
pannableStringBuilder.java
panned.java
taticLayout.java
extUtils.java
extWatcher.java
ormat/DateFormat.java
ethod/ArrowKeyMovementMethod.java
ethod/BaseKeyListener.java
ethod/KeyListener.java
ethod/LinkMovementMethod.java
ethod/MetaKeyKeyListener.java
ethod/MovementMethod.java
ethod/NumberKeyListener.java
ethod/PasswordTransformationMethod.java
ethod/QwertyKeyListener.java
ethod/ScrollingMovementMethod.java
ethod/SingleLineTransformationMethod.java
ethod/TextKeyListener.java
ethod/Touch.java
tyle/AbsoluteSizeSpan.java
tyle/AlignmentSpan.java
tyle/BackgroundColorSpan.java
tyle/BulletSpan.java
tyle/ForegroundColorSpan.java
tyle/LeadingMarginSpan.java
tyle/QuoteSpan.java
tyle/RelativeSizeSpan.java
tyle/ScaleXSpan.java
tyle/StrikethroughSpan.java
tyle/StyleSpan.java
tyle/SubscriptSpan.java
tyle/SuperscriptSpan.java
tyle/TextAppearanceSpan.java
tyle/TypefaceSpan.java
tyle/URLSpan.java
tyle/UnderlineSpan.java
til/Rfc822Validator.java
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
extUtils.java
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
ormat/DateFormat.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
nputType.java
ayout.java
ormat/DateUtils.java
ethod/ArrowKeyMovementMethod.java
ethod/MetaKeyKeyListener.java
tyle/BackgroundColorSpan.java
tyle/CharacterStyle.java
tyle/ClickableSpan.java
tyle/DynamicDrawableSpan.java
tyle/ForegroundColorSpan.java
tyle/ImageSpan.java
tyle/MaskFilterSpan.java
tyle/RasterizerSpan.java
tyle/StrikethroughSpan.java
tyle/UnderlineSpan.java
tyle/UpdateAppearance.java
tyle/UpdateLayout.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
oringLayout.java
nputFilter.java
nputType.java
oginFilter.java
election.java
panned.java
taticLayout.java
extUtils.java
ormat/DateFormat.java
ormat/DateUtils.java
ormat/Formatter.java
ormat/Time.java
ethod/ArrowKeyMovementMethod.java
ethod/BaseKeyListener.java
ethod/CharacterPickerDialog.java
ethod/DateKeyListener.java
ethod/DateTimeKeyListener.java
ethod/DialerKeyListener.java
ethod/DigitsKeyListener.java
ethod/KeyListener.java
ethod/MetaKeyKeyListener.java
ethod/MultiTapKeyListener.java
ethod/QwertyKeyListener.java
ethod/ScrollingMovementMethod.java
ethod/TextKeyListener.java
ethod/TimeKeyListener.java
ethod/Touch.java
tyle/DynamicDrawableSpan.java
til/Linkify.java
til/Regex.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
lteredCharSequence.java
ndroidCharacter.java
nnotation.java
utoText.java
oringLayout.java
lipboardManager.java
ynamicLayout.java
ditable.java
etChars.java
raphicsOperations.java
tml.java
Clipboard.aidl
nputFilter.java
ayout.java
oginFilter.java
ackedIntVector.java
ackedObjectVector.java
election.java
panWatcher.java
pannable.java
pannableString.java
pannableStringBuilder.java
pannableStringInternal.java
panned.java
pannedString.java
taticLayout.java
tyled.java
extPaint.java
extUtils.java
extWatcher.java
ethod/ArrowKeyMovementMethod.java
ethod/BaseKeyListener.java
ethod/CharacterPickerDialog.java
ethod/DateKeyListener.java
ethod/DateTimeKeyListener.java
ethod/DialerKeyListener.java
ethod/DigitsKeyListener.java
ethod/HideReturnsTransformationMethod.java
ethod/KeyListener.java
ethod/LinkMovementMethod.java
ethod/MetaKeyKeyListener.java
ethod/MovementMethod.java
ethod/MultiTapKeyListener.java
ethod/NumberKeyListener.java
ethod/PasswordTransformationMethod.java
ethod/QwertyKeyListener.java
ethod/ReplacementTransformationMethod.java
ethod/ScrollingMovementMethod.java
ethod/SingleLineTransformationMethod.java
ethod/TextKeyListener.java
ethod/TimeKeyListener.java
ethod/Touch.java
ethod/TransformationMethod.java
ethod/package.html
ackage.html
tyle/AbsoluteSizeSpan.java
tyle/AlignmentSpan.java
tyle/BackgroundColorSpan.java
tyle/BulletSpan.java
tyle/CharacterStyle.java
tyle/ClickableSpan.java
tyle/DrawableMarginSpan.java
tyle/DynamicDrawableSpan.java
tyle/ForegroundColorSpan.java
tyle/IconMarginSpan.java
tyle/ImageSpan.java
tyle/LeadingMarginSpan.java
tyle/LineBackgroundSpan.java
tyle/LineHeightSpan.java
tyle/MaskFilterSpan.java
tyle/MetricAffectingSpan.java
tyle/ParagraphStyle.java
tyle/QuoteSpan.java
tyle/RasterizerSpan.java
tyle/RelativeSizeSpan.java
tyle/ReplacementSpan.java
tyle/ScaleXSpan.java
tyle/StrikethroughSpan.java
tyle/StyleSpan.java
tyle/SubscriptSpan.java
tyle/SuperscriptSpan.java
tyle/TabStopSpan.java
tyle/TextAppearanceSpan.java
tyle/TypefaceSpan.java
tyle/URLSpan.java
tyle/UnderlineSpan.java
tyle/UpdateLayout.java
tyle/WrapTogetherSpan.java
tyle/package.html
til/Linkify.java
til/Regex.java
til/Rfc822Token.java
til/Rfc822Tokenizer.java
til/Rfc822Validator.java
til/package.html