Commit Graph

2467 Commits

Author SHA1 Message Date
Gilles Debunne
b35ab7b729 Sub display list in TextView
TextView uses a sub-display list to 'cache' the rendering of its
text. This saves time when drawing an editable text, where the blinking
cursor forces a re-draw twice per second, which creates pauses during
scrolling.

Added a sub-display list invalidation when an appearance span is
modified/added/removed.

Also added an invalidation of the display list when selection range
is changed.

Change-Id: I41e8068a12902b8a745c5bb77de8c77def76a270
2012-01-12 15:56:37 -08:00
Fabrice Di Meglio
7d5178e9fb Merge "Add textDirection="locale"" 2012-01-09 10:46:03 -08:00
Romain Guy
bc5d876df0 Avoid allocating when performing the measure/layout passes
Change-Id: I94faa9167d632ff5a1d05f795a2c4dcc0f02348c
2012-01-06 18:06:58 -08:00
Marco Nelissen
9cd7bde1ff New UX calls for dialogs without titles.
b/5753055

Change-Id: I86ba0f937f71db56b3ea77752b2b30929b791a04
2012-01-06 15:42:02 -08:00
Fabrice Di Meglio
4c1e00a8c2 Add textDirection="locale"
- also fix and update unit tests
- see bug #5242821

Change-Id: I29e029bab8ade336a430f9a2a5073caaf11b8dda
2012-01-06 11:29:18 -08:00
Joe Fernandez
2b07267753 am 201469f5: am bb7f590a: Merge "docs: Add developer guide cross-references, Project ACRE, round 4" into ics-mr1
* commit '201469f54522436be79d4d6665721049bfc74320':
  docs: Add developer guide cross-references, Project ACRE, round 4
2011-12-22 15:59:34 -08:00
Joe Fernandez
3aef8e1d1b docs: Add developer guide cross-references, Project ACRE, round 4
Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
2011-12-22 15:08:23 -08:00
Gilles Debunne
cd76a4da3e Merge "Rationalize blinking cursor test." 2011-12-20 10:46:42 -08:00
Chet Haase
baea244a9f Fix ViewAnimator.getDisplayedChild() bug
Adding a view above the currently displayed child in a ViewAnimator
will cause the displayed child index to become stale, because it is
not incremented to reflect the new position of the currently displayed
view. This fix adds logic to the addView() override to increment the
index correctly.

Change-Id: I9c756ce51a8e8dcbeef8f0e4fbb3704482c21e9d
2011-12-20 08:59:12 -08:00
Gilles Debunne
545c4d4438 Rationalize blinking cursor test.
Moved full test into shouldBlink() to make the condition consistent.

Change-Id: Id8abf38e180e1a00eb132476f102361f0feb56da
2011-12-14 14:12:13 -08:00
Gilles Debunne
6e87ecbb1d am 2450b36a: am 19636dc4: Merge "Do not spell check the foreground ExtractEditText." into ics-mr1
* commit '2450b36a3696bc5afdf2a0f2af8b2008efb8a7b0':
  Do not spell check the foreground ExtractEditText.
2011-12-13 15:59:26 -08:00
Gilles Debunne
770f0fa92e Do not spell check the foreground ExtractEditText.
Bug 5755099

In extracted text mode, we spell check the background and the foreground
edit text. All changes in the background are already propagated to the
foreground, and updates on the foreground may trigger a spell check
of the entire text since we use setText.

Change-Id: Ie44c3d9113258082ac6df5890851d0e21c702ea2
2011-12-13 14:47:26 -08:00
Gilles Debunne
249d1e827a Re-synced MR1 and master for SpellChecker
Some auto-merges got lost, re-syncing master with the latest
and greatest from MR1.

Change-Id: Ifc0b5d1fd2e11e68d219c3f491f37d4c047579a0
2011-12-12 20:06:31 -08:00
Gilles Debunne
a4b1b8ab3c am 7ffadba5: am 1fb90497: Merge "Text blinking cursor hard to see." into ics-mr1
* commit '7ffadba5dfbeeaa93a9559ca3eaf1a7719426a5f':
  Text blinking cursor hard to see.
2011-12-12 17:49:29 -08:00
Gilles Debunne
c1761e7fe1 Fixed build after merge
Change-Id: Ifac89a70afa82047d97994860c6e58954f5d91d0
2011-12-12 16:11:47 -08:00
Gilles Debunne
7cb77c1a0d resolved conflicts for merge of 1742f20c to master
Change-Id: I02d84edfe8cc0b71881884ecec21f831404aa555
2011-12-12 15:16:42 -08:00
Gilles Debunne
961ebb9ab0 Text blinking cursor hard to see.
Bug 5738416

This problem was introduced in
https://android-git.corp.google.com/g/#/c/152599

The invalidated cursor region is no longer expanded to include the
cursor drawable (different from the handles' drawables).

Added that code back. Added a flag, since invalidateRegion is also
used to invalidate text span regions in spell check (assumes the decorated
span bounds are not bigger that text boundaries), which is fine in case
of underline.

When the cursor is moved on a single line, invalidate the whole line
(same as what was done before). This is sub-optimal, will file a bug
to fix this. The core problem is that we should invalidate the previous
and the new cursor's positions. We only have one of these.

Change-Id: I9ada9340fb52aad3d80c39efd021fd3f9ec0cc4d
2011-12-12 13:56:04 -08:00
Gilles Debunne
481c0a2604 am afa0a714: am df372289: Merge "Fixed SpellCheckerSessions leak in TextView" into ics-mr1
* commit 'afa0a714acb45e90bdda3fd72b529a817a25f2d1':
  Fixed SpellCheckerSessions leak in TextView
2011-12-12 13:15:53 -08:00
Svetoslav Ganov
47730f1582 am 33a3b2ce: am 48b428fb: Merge "NumberPicker getting stuck if scroll wheel not wrapable." into ics-mr1
* commit '33a3b2cecf174cb14097498214131fcfb32ec04c':
  NumberPicker getting stuck if scroll wheel not wrapable.
2011-12-09 18:09:16 -08:00
Gilles Debunne
70511ade47 am b25d417f: am aa4a5713: Merge "Make the Next key navigate between TextViews" into ics-mr1
* commit 'b25d417fce0e0467187ac187a4dabae75d5dc83d':
  Make the Next key navigate between TextViews
2011-12-09 18:09:03 -08:00
Gilles Debunne
2afcfa4239 resolved conflicts for merge of 5371a165 to master
Change-Id: I61830ec96c277ebba9db3e40842597b9c98d53c7
2011-12-09 18:06:34 -08:00
Gilles Debunne
683a485fbc am aee940df: am a5a98a03: Merge "IOOB is Suggestions" into ics-mr1
* commit 'aee940df55b5d1f769f56ff8a6dd645253b7f8e5':
  IOOB is Suggestions
2011-12-09 14:25:55 -08:00
Gilles Debunne
17994a1d04 Blinking cursor in Talk
I verified that this fixes the unblinking cursor problem in Talk.

Change-Id: I5e3e5c8ad5cf3d8479462495107bf93e5e4fb956
2011-12-08 18:40:27 -08:00
Gilles Debunne
be5f49fb6e Performance improvements for long text edition.
Limit each parse to batches of a few words, to keep the UI thread
responsive.

Possible optimizations for the future:
- SpellCheck in a thread, but that requires some locking mecanism
- Only spell check what is visible on screen. Will require additional
  spans to tag the pieces of text.

This is a cherry pick of 145656 into ICS-MR1

Patch Set 2: Make the Runnable shared and stop it when detached.

Change-Id: Ibf8e98274bda84b7176aac181ff267fc1f1fa4cb
2011-12-08 18:26:49 -08:00
Gilles Debunne
df37228951 Merge "Fixed SpellCheckerSessions leak in TextView" into ics-mr1 2011-12-08 18:18:25 -08:00
Svetoslav Ganov
48b428fb13 Merge "NumberPicker getting stuck if scroll wheel not wrapable." into ics-mr1 2011-12-08 12:28:11 -08:00
Gilles Debunne
aa4a5713aa Merge "Make the Next key navigate between TextViews" into ics-mr1 2011-12-08 11:57:06 -08:00
Gilles Debunne
0e7b8020fd Merge "Limit created string size in Spell Checker" into ics-mr1 2011-12-08 11:56:28 -08:00
Gilles Debunne
06a8e9b1ce Make the Next key navigate between TextViews
Bug 5718127

Fixes from changes introduced in
https://android-git.corp.google.com/w/?p=platform/frameworks/base.git;a=commit;h=0500b3cfda5192efc09d6d4344b0c6c785c0a815

Change-Id: I4f6d213cd744b913b053275c4a26194cd030de84
2011-12-08 10:39:39 -08:00
Gilles Debunne
a5a98a034b Merge "IOOB is Suggestions" into ics-mr1 2011-12-08 09:59:44 -08:00
Svetoslav Ganov
234484a9fb NumberPicker getting stuck if scroll wheel not wrapable.
1. If the number picker was not wrapping the selector wheel
   it was incorrectly initializing the fling scroller and
   the error was proportional to the difference of the
   current value and the max size. As a result if the number
   picker gets stuck for a very long time.

2. The alpha of the selector wheel paint was not reset on
   every subsequent fling so if the wheel was fading out
   and a new fling is performed the selector wheel is
   dimmed during the fling, rather bright.

bug:5728363

Change-Id: Ia90a6af86f162bda1b28f43f7ba7e4a9f5051b78
2011-12-07 19:35:15 -08:00
Gilles Debunne
b69c8cab56 am 0235016a: am 2df13452: Merge "Insert into user dict with the correct locale" into ics-mr1
* commit '0235016acb241556f24689e3d818db6973b5ad4f':
  Insert into user dict with the correct locale
2011-12-07 19:03:30 -08:00
Gilles Debunne
2df13452e0 Merge "Insert into user dict with the correct locale" into ics-mr1 2011-12-07 18:41:04 -08:00
Winson Chung
1f45d25257 am a21ce1f1: am 0a361b10: Merge "Workaround for issue where the notifyDatasetChanged call chain is broken when Launcher is killed. (Bug 5703782)" into ics-mr1
* commit 'a21ce1f1107e1aad19335bebe4aed915158b5ca6':
  Workaround for issue where the notifyDatasetChanged call chain is broken when Launcher is killed. (Bug 5703782)
2011-12-07 14:36:34 -08:00
Winson Chung
0a361b10a6 Merge "Workaround for issue where the notifyDatasetChanged call chain is broken when Launcher is killed. (Bug 5703782)" into ics-mr1 2011-12-07 14:33:31 -08:00
Gilles Debunne
c115fa041c Fixed SpellCheckerSessions leak in TextView
Bug 5709546

Change 1a22db29 created a potential leak: setText calls
sendOnTextChange that now calls updateSpellCheckSpans.

The original call to updateSpellCheckSpans made sure the
View had been attached to a window, through the existence
of the SpellChecker object.

The mSpellChecker object will now only be created when the
View is attached, all other spell related method will do
nothing if it has not been initialized.

Change-Id: I8885c12be6395e2346c0ed057bb6a275256f012b
2011-12-07 13:38:35 -08:00
Gilles Debunne
653d3a2787 Limit created string size in Spell Checker
Change-Id: I2f4e7a8b0022d76bc30199ff80c2fe637dbe03ef
2011-12-07 10:40:09 -08:00
Jean Chalard
5fa6737cac Insert into user dict with the correct locale
This fixes a bug where a word would be entered in the user
dictionary with the wrong locale.

Bug: 5667272
Change-Id: I219d5461f8f8c74b6ab34f9bb157a4b977f00e68
2011-12-07 13:57:59 +09:00
Gilles Debunne
f9bb1cd1fc resolved conflicts for merge of fb729202 to master
Change-Id: Ic571594b14f2822094d5c1aa4c4b1e9da4a2eae0
2011-12-06 15:57:47 -08:00
Gilles Debunne
e300be9c29 IOOB is Suggestions
Bug 5555929

This problem only happens when in landscape extracted text mode.

A suggestion pick from the popup window replaces the text in the ExtractedText,
when it should do it in the underlying source EditText instead.

When the replacement text is longer than the replaced text and is at the end
of the text, an IOOB occurs because the ExtractedText was not modified (we now
correctly change the source text using replaceText_internal).

This is basically an implementation of the TODO comment next to setSpan in
TextView.

Change-Id: I6575137530e0bb5c9ac7e40cc2bba9c66dc254d2
2011-12-06 15:46:58 -08:00
Winson Chung
c3f581b047 Workaround for issue where the notifyDatasetChanged call chain is broken when Launcher is killed. (Bug 5703782)
Change-Id: Ic57a7ce85f41d58cd40b7d30eef4a1bf685182e5
2011-12-06 14:21:10 -08:00
Gilles Debunne
98a85c2de6 Merge "Invalidated bounds tightened in TextView" into ics-mr1 2011-12-06 11:20:18 -08:00
Gilles Debunne
a49ba2f391 (de)activating spell check taken into account immediately
Test for a change in the spell checker activate state on every
spell check. Add/remove suggestion spans accordingly.

Change-Id: I750f30b81464b85cebc695bdb0449ec038fc17df
2011-12-01 17:41:17 -08:00
Gilles Debunne
0715f12605 am b4812f8a: am 335c4e6c: Broken build. New methods made private.
* commit 'b4812f8a815a4c4a9896e73412f4011d7a30f03f':
  Broken build. New methods made private.
2011-12-01 16:10:03 -08:00
Gilles Debunne
335c4e6cb2 Broken build. New methods made private.
Change-Id: Ia123ab4ddb1fe93bcd053c3ea5bf6b87c7204640
2011-12-01 15:36:08 -08:00
Gilles Debunne
2101c57552 am a8205d24: am 09cbff02: Merge "Better handles\' visibility test" into ics-mr1
* commit 'a8205d24703fc353076cf30795b3a06a87208cfa':
  Better handles' visibility test
2011-12-01 15:06:49 -08:00
Gilles Debunne
58d8953958 Merge "Scroll performance improved in multiline TextEdit" into ics-mr1 2011-12-01 15:04:35 -08:00
Gilles Debunne
09cbff0294 Merge "Better handles' visibility test" into ics-mr1 2011-12-01 15:03:27 -08:00
Gilles Debunne
6bb5fc577d am 4fec974c: am 0433c157: Merge "TextViews keep focus after Done" into ics-mr1
* commit '4fec974c2f75886516509699ccfc0100b029fe4d':
  TextViews keep focus after Done
2011-12-01 11:59:08 -08:00
Gilles Debunne
ad79297a41 am d732efa2: am b2aa672f: Merge "Revert "IME action (done, next...) correctly handled"" into ics-mr1
* commit 'd732efa2972eaaa22ff921c39744ec969598bcd0':
  Revert "IME action (done, next...) correctly handled"
2011-12-01 11:59:07 -08:00