Commit Graph

2374 Commits

Author SHA1 Message Date
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
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
335c4e6cb2 Broken build. New methods made private.
Change-Id: Ia123ab4ddb1fe93bcd053c3ea5bf6b87c7204640
2011-12-01 15:36:08 -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
64901d4eb0 Better handles' visibility test
Checking if the hotspot position is visible instead
of checking if it is part of the clipped visible rectangle.

Bug 5638710

Patch set 2: synchronize static variables you will.
Patch set 3: renaming and refactored the while loop.
Patch set 4: synchronize you will (again)
Patch set 5: parent

Change-Id: I330510f491c85f910fc61598936113ad07d304e4
2011-12-01 09:09:09 -08:00
Gilles Debunne
647944897f TextViews keep focus after Done
Otherwise the ViewRoot tries to focus something else and as a result
it will scroll back to the top of a form with many fields, which is
annoying.

Change-Id: I1de10f76fe4b82bc4097fc13c629450d6f999fd0
2011-11-30 15:45:30 -08:00
Gilles Debunne
8bfcd133a2 Revert "IME action (done, next...) correctly handled"
This reverts commit efbad5fb90.
2011-11-30 15:40:28 -08:00
Svetoslav Ganov
9f086d812f NumberPicker incorrectly shown for the old theme.
1. NumberPicker is trying to greedily grow to its max size
   but if the max size is not specified the default value
   was the max integer which makes the widget get quite
   tall in some cases. Now the widget tries to reach the
   max size only if it has been specified.

2. NumberPicker was not computing its min width when the array
   of display values is set.

3. DatePicker' layout for the old Theme was adding a margin on
   the right of the group of spinners and if the calendar view
   is not shown the spinners were not centered. Added the spinners
   right margin to the left margin of the calendar view.

4. TimePickerDialog was using the wrong conext and was not dismissable
   on an outside touch. Same for the DatePickerDialog context.

bug:5646161

Change-Id: Ic15f9b3e6291b76493604230ceb4f783a04d4ac7
2011-11-29 18:40:05 -08:00
Gilles Debunne
8615ac9e04 Invalidated bounds tightened in TextView
New invalidateRegion method, with better horizontal invalidate
bounds in case the region is on one line.

Use by SpellChecker when a new SuggestionSpan is added.

Change-Id: Ide11f1d3d2b1350032b475db0641018a49c08d13
2011-11-29 18:05:05 -08:00
Gilles Debunne
70b34a1e05 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
2011-11-29 17:48:19 -08:00
Gilles Debunne
10232fe639 Merge "Extracted text problems" into ics-mr1 2011-11-29 09:59:00 -08:00
Gilles Debunne
7be31bd96a Merge "IOOB in text selection." into ics-mr1 2011-11-29 09:56:58 -08:00
Gilles Debunne
1a22db2927 IOOB in text selection.
Several issues here:

1. when selection has been set to size 0 (should not be possible, but see 2.),
moving any of the selection handles will create an IOOB because we add/substract 1
with no test. Added min/max.

2. the text change detection, which stop selection mode, was done in
handleTextChanged. We need to go deeper. Some methods (such as setText())
directly call the more atomic sendOnTextChange(). Moved the test down
to this method. As a result, pressing the 'x' button in the QuickSearchBox
correctly stops selection mode (it used to leave an empty selection).

This change may also solve some weird similar issues in extracted mode where
it is sometimes possible to end up with a 0-length selection.

It may also impact Bug 5555929 since spellCheckSpans will now be correctly
updated on ANY text change.

3. the before != after test is flawed. When this method is called, the text
has been changed and selection mode should be stopped even when the new text
happens to have the same size.

Change-Id: I869ef728662f4350f22ed6149dd42db193c333ed
2011-11-20 22:25:20 +01:00
Gilles Debunne
de8c5ec889 Merge "IME action (done, next...) correctly handled" into ics-mr1 2011-11-16 10:31:40 -08:00
Gilles Debunne
efbad5fb90 IME action (done, next...) correctly handled
Bugs 5599728 and 5319237.

mInputContentType should be set for a "modern" cupcake
environment says a comment in TextView.

However, it is possible to call onEditorAction on a
TextView that didn't use any of the method that lazily
create that field. This is for instance achieved using
the extracted mode in landscape (Done, Next actions)
or in Contacts, that feature a Next/Done button in the
IME.

As a result, the action is ignored.

The patch is to force the creation of the mInputContentType
when the EditText is associated to the IME.

Change-Id: I5beec5a52e9eec0c209af37d68791bb6ff83d6f6
2011-11-16 17:38:48 +01:00
Gilles Debunne
8a440477fd Merge "Clean-up in TextView" into ics-mr1 2011-11-15 09:59:45 -08:00
Christopher Tate
847fbbeaf9 Merge "Localized optimizations in views and bitmaps" into ics-mr1 2011-11-11 14:24:53 -08:00
Christopher Tate
1373a8eb58 Localized optimizations in views and bitmaps
* Don't call context.getResources() redundantly when unnecessary;
  similarly for Resources.getCompatibilityInfo()

* During bitmap creation, don't bother clearing to 0: it's unnecessary
  because now that the raw bits are stored in a VM-side byte array, it
  was cleared at initialization time.  Also, don't use the sanity-
  checking public entry point to erase to a color, because we know
  that we're by definition in a "legal" path to erase to the initial
  contents and don't need to incur the overhead of the (inappropriate)
  sanity checking.

Change-Id: Idaca4d64fdecefd5d51337646ead32e1db510e02
2011-11-11 12:46:48 -08:00
Svetoslav Ganov
d00e75e94d am 7b8bec28: Merge "PopupWindow dismiss() can get into a recursive loop." into ics-mr0
* commit '7b8bec280f20e8a5863d8214bbc195497335eba6':
  PopupWindow dismiss() can get into a recursive loop.
2011-11-11 08:02:27 +00:00
Adam Powell
b241b4c6ab Make the overridden ImageView#setVisibility remotable
Change-Id: Idaf061ea8c2a06ec8abaf74cf865446d9092afa2
2011-11-10 19:48:23 -08:00
Svetoslav Ganov
06f938e8aa PopupWindow dismiss() can get into a recursive loop.
1. The dismiss method in a PopupWindow is first removing the
   popup View from the WindowManager and then if the content
   View differs from the popup View the former is removed from
   the latter. Then dismiss() clears the dismissed flag so a
   subsequent call to dismiss() is a NOP. However, removing
   a View both from the WindowManager and from its parent
   ViewGroup triggers stuff wich may lead to a subsequent call
   to dismiss(). This leads to a stack overflow exception.

bug:5598944

Change-Id: I2aeeda591be3e9aa98fec1ee17ea8f0e746e6992
2011-11-10 14:31:41 -08:00
Adam Powell
6a939ae6fd Fix access modifiers on ImageView overrides
Change-Id: I64cc10c877ac4adc4b79abcd7c7617480bd82906
2011-11-10 14:11:51 -08:00
Adam Powell
37419d7321 Fix bug 5581874 - Animated drawables don't start as expected
Fix a bug that caused animated drawables to not schedule properly when
a view has not yet been attached. Also make ImageViews update their
drawable visibility state properly, which will handle scheduling
concerns as ImageViews are attached and detached from their windows.

This should also fix the bug where animated notification icons in the
status bar do not animate until the posting app posts an update to the
notification.

Change-Id: I24c403182831258d1f251736e920c9efe1d38299
2011-11-10 11:35:12 -08:00
Gilles Debunne
771d64b1e0 Clean-up in TextView
Removed some variables that are no longer needed after the
removal of context menu in TextView.

Change-Id: I6d98bb356bd7b409a5230756849aef0f2896d4c5
2011-11-10 10:15:27 +01:00
Gilles Debunne
39ba6d9c4c Extracted text problems
Bug 5557258: recent text editing changed in ExtractedText mode is
broken. The modifications of the text performed by:
- drag and drop
- text suggestions, deletion
- voice IME's delete button

all change the ExtractEditText itself, while they should affect the underlying
EditText (and the change will be forwarded to the ExtractEditText). As a results,
changes are not actually modifying the underlying text.

Created new protected methods in TextView, overloaded in ExtractTextView to
affect the underlying text instead.

Changes to spans should also be forwarded to the original TV (see the 2 TODOs),
this is tracked in bug 5589158.

Change-Id: Ibfec272469e8db191b3875e7576e32481a9dc1bd
2011-11-10 10:00:08 +01:00
Gilles Debunne
e5504ba1a2 Merge "Visual glitches when starting extracted text" into ics-mr1 2011-11-10 00:48:10 -08:00
satok
05f2470061 Respect user settings for spell checking language if explicitly set
Bug: 5554116
Change-Id: I8c16d732af1fe713d30d97dfe829ff16653c7f34
2011-11-10 07:54:52 +09:00
Gilles Debunne
61ddbbae71 Visual glitches when starting extracted text
Partially addresses Bug 5547923

In landscape, tapping on the text
1. starts extracted text mode
2. displays the cursor handle or the selection popup window.

As a result, some ghost effects and race conditions create an
unpleasing visual experience.

Fixed this by not doing 2. in case extracted mode will start.

The drawback of this quicl fix is that the user will have to
tap again to get the handle/suggestion. That can be fixed later
if needed.

Change-Id: I10e1d8399bb35e5b2cd5cba1295f7d29d051cae0
2011-11-09 09:48:43 +01:00
Gilles Debunne
76bb11ca64 Merge "Bug 5575396: close spell session on language change" into ics-mr1 2011-11-09 00:26:46 -08:00
Svetoslav Ganov
1bef480b22 Merge "NumberPicker incorectly enforcing minimal width and height." into ics-mr1 2011-11-08 17:33:49 -08:00
Adam Powell
8689afbd63 Merge "Fix bug 5544103 - Spinner text doesn't look dimmed when disabled" into ics-mr1 2011-11-08 10:06:00 -08:00
Adam Powell
42b7e99b11 Fix bug 5544103 - Spinner text doesn't look dimmed when disabled
Pre-Holo spinners had a far more "buttony" look that expressed the
disabled state clearly, but Holo spinners are more subtle. As a result
we want to mark the contained view representing the current item as
disabled when the spinner itself is disabled.

Express this as a private framework style attribute that cannot be
changed at runtime.

Change-Id: Icff2ef2b8a3b1a96cbf00e4c75eda41a4dada7b3
2011-11-08 09:49:21 -08:00
Gilles Debunne
39896f52a8 Merge "No more context menu in TextView" into ics-mr1 2011-11-08 00:48:27 -08:00
Svetoslav Ganov
698e1d5d86 NumberPicker incorectly enforcing minimal width and height.
The min width and height were enforced with an exception which
is not correct since a view not having enough space should not
terminate the application. Now the insufficient vertical or
horizontal space is propagated by setting the
MEASURED_STATE_TOO_SMALL flag and respecting the constraints
imposed while measuring (consistent with the rest of the View
hierarchy).

bug:5572237

Change-Id: I2dbeb5451d3426cc983b41f6023c7b0fc52c7da3
2011-11-07 18:49:25 -08:00
Gilles Debunne
8b67db17ec Bug 5575396: close spell session on language change
Change-Id: I661812c316ec9d98f66379357cbd1216bae65fa0
2011-11-07 17:48:12 +01:00
Amith Yamasani
cf72ab4dde Don't show the submit button when it isn't enabled.
There was a particular scenario where it was being shown even if it's disabled.

Bug: 5412759
Change-Id: I34edd385062bed48bccef35e8240932d4cc96fd1
2011-11-04 13:49:28 -07:00
Gilles Debunne
07194e5754 No more context menu in TextView
No longer needed now that all devices use the CAB for text selection.

MR1 port of https://android-git.corp.google.com/g/#/c/147391/

Change-Id: Ibb4c93e37f6df43ad676265247a734634f886d8c
2011-11-04 12:05:26 -07:00
Amith Yamasani
d69c203cd4 Merge "Close suggestions cursor when SearchView is detached." into ics-mr1 2011-11-04 10:41:10 -07:00
Ken Wakasa
943f6d0b33 Merge "Turn off the spell checker when the spell checker is disabled in the settings" into ics-mr1 2011-11-04 01:02:12 -07:00
Amith Yamasani
8790764e4c Close suggestions cursor when SearchView is detached.
Make sure that delayed filter requests don't go through after
the view was detached.

Bug: 5484819
Change-Id: I4d5ff5ea9b52109ecce7f84fa4d91dfcb6225037
2011-11-03 11:32:44 -07:00
satok
9b3855b752 Turn off the spell checker when the spell checker is disabled in the settings
Bug: 5554116
Change-Id: I9816101661e12cafdb9556c7e0bad39833f7dc67
2011-11-03 13:39:34 +09:00
Amith Yamasani
dab15d14ca Merge "Don't expand the SearchView if already expanded." into ics-mr1 2011-11-02 11:43:53 -07:00
Svetoslav Ganov
e5d0f19953 Merge "CalendarView title incorrectly updated for different languages." into ics-mr1 2011-11-02 10:14:46 -07:00
Svetoslav Ganov
7f0c850b7a Merge "Updating NumberPicker, TimePicker, DatePicker to fit different screen and font sizes." into ics-mr1 2011-11-02 10:13:17 -07:00
Dianne Hackborn
0500b3cfda Some optimizations.
- Don't try to create a thumbnail bitmap on the client side.  This
  wastes 64k, and isn't needed since we are doing screenshots.
- Optimize View to put all of the callback pointers out of line.
  Added a couple new APIs so these don't need to be protected/public.
- Lazily create ViewGroup's cache paint.
- Change FrameworkPerf app to not use HW accel drawing, to give better
  comparison with GB.

Change-Id: Iec56d02459820d74a4cc9c7ec9c1856563c82c7b
2011-11-01 18:01:33 -07:00
Amith Yamasani
434c73ffd8 Don't expand the SearchView if already expanded.
Change-Id: I0699f9f8fea0b62b4cf6d45e920bd2f515944005
2011-11-01 15:34:48 -07:00
Svetoslav Ganov
ec1e06a00d Updating NumberPicker, TimePicker, DatePicker to fit different screen and font sizes.
1. Now the NumberPicker has minWidth/minHeight that is the lower bound
   of the correspodning size for which the widget looks well enough to
   be usable. There is also maxWidth/masHeight that is the upper bound
   of the corresponding size for which the widget looks best. The picker
   tries to greedily reach the max dimesions for which it looks best.

2. The NumberPicker was not taking care of the max width of the items
   is shows numbers/strings mapped to numbers. Now if not explicitly
   specified the widget computes the maxWidth at which it looks best
   based on the content it shows.

3. Removed an unnecessary layout for number picker on tablets.

4. Updated the TimePicker/DatePicker to not hard-code width for the
   number pickers it uses, rahter wrap the content.

bug:5417100

Change-Id: I432aa96185961e59a058a2565b15265ba7394818
2011-11-01 14:48:34 -07:00