Commit Graph

2408 Commits

Author SHA1 Message Date
Jean-Baptiste Queru
6a8186fb88 Merge "Fixed group and child view caching in SimpleExpandableListAdapter." 2012-05-01 06:43:03 -07:00
Jean-Baptiste Queru
4426961e7b Merge "Avoiding horizontal keypad navigation trapping within gallery." 2012-05-01 05:52:22 -07:00
Georg Hofmann
b49e4d63d1 Fixed group and child view caching in SimpleExpandableListAdapter.
Now the adapter reports the correct type count and type for group and child
views by overriding the respective methods from the base class. Each group
view has two types, one for expanded views, one for collapsed views. Each
child view has two types, one for the last view within a group, one for the
other views within a group.

Change-Id: I117b2c0f7e98fb7fe2fdd35c15f7d1f9dc06674f
Signed-off-by: Georg Hofmann <georg.hofmann@gmail.com>
2012-03-19 18:14:49 +01:00
David Sobreira Marques
c742c9fedb Avoiding horizontal keypad navigation trapping within gallery.
Non touchscreen devices such as Google TV require the keypad
navigation to properly move the focus among widgets.

The Gallery is misshandling the keypress event and avoiding
the focus from going to other widgets on it's sides upon
keypress even after the user has reached it's first and
last items.

Change-Id: If32ee57e8513cac692deb161e1941d6cc85e3188
Signed-off-by: David Sobreira Marques <dpsmarques@gmail.com>
2012-03-07 18:57:32 -05:00
Scott Main
08e9135216 am 93dc642e: docs: fix misc bugs from external tracker
* commit '93dc642eaf48e3db58c4929df26283fbc5fd663f':
  docs: fix misc bugs from external tracker
2012-03-05 10:06:00 -08:00
Scott Main
93dc642eaf docs: fix misc bugs from external tracker
Change-Id: I2be617be23d0ac50baabac561d510633fa9f162a
2012-03-02 16:55:41 -08:00
Adam Powell
637c50db47 am c7e5a2fe: Merge "Fix dividers for LinearLayout (TabWidget)"
* commit 'c7e5a2fe3042014f78667228a92e41d0a19547fd':
  Fix dividers for LinearLayout (TabWidget)
2012-03-01 22:46:26 -08:00
Adam Powell
c7e5a2fe30 Merge "Fix dividers for LinearLayout (TabWidget)" 2012-03-01 16:26:04 -08:00
Jean-Baptiste Queru
93920d79b7 am a66be970: am 11aa4cc3: Merge "Set width of spinner\'s dropdown to fit on device"
* commit 'a66be970999c5eec1c8efb46e196f19ae563fc9b':
  Set width of spinner's dropdown to fit on device
2012-02-29 15:47:42 -08:00
Jean-Baptiste Queru
a66be97099 am 11aa4cc3: Merge "Set width of spinner\'s dropdown to fit on device"
* commit '11aa4cc38b646f62eb22842d7510415b61c2ef84':
  Set width of spinner's dropdown to fit on device
2012-02-29 15:44:38 -08:00
SeongJae Park
95148495fc Set width of spinner's dropdown to fit on device
Commit for issue at
http://code.google.com/p/android/issues/detail?id=25916&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&start=100

[Problem]
Dropdown popup of Spinner become wider than device's width if selected
item's content's width is larger than device's screen.

[Cause]
Spinner just display dropdown popup with measured content's width
although measured content's width is wider than device's screen.

[Solution]
If calculated content's width is wider than device's screen, set width
of spinner's dropdown popup to fit on device.

Change-Id: I3276e5ff745c6ba1437c07fc55645d6b53fef89a
Signed-off-by: SeongJae Park <sj38.park@gmail.com>
2012-02-29 10:48:11 +09:00
Svetoslav Ganov
0c7ffac4ca am a2b41b43: NumberPicker showing IME when its input field gains focus.
* commit 'a2b41b438d45570867e4682c0caaf93ace5e712e':
  NumberPicker showing IME when its input field  gains focus.
2012-02-28 10:35:43 -08:00
Svetoslav Ganov
a2b41b438d NumberPicker showing IME when its input field gains focus.
1. The NumberPicker was showing the IME if the input field
   gets focus and hiding it when the the arrows are pressed.
   The leads to a nasty behavior when the input is the first
   focusable and the uses presser an arrow button. In such
   a case the IME shows and hides on every arrow press pushing
   the window content up and down - this looks pretty ugly.
   Now the IME is show on double tap of the input field.

2. The NumberPicker input now by default has an IME action
   done, hence after editing it the IME goes away.

3. The NumberPicker input now clears focus when it gets
   IME action done, so the last picker in a sequence
   does not show selection which is focus driven.

4. NumberPicker was incorrectly detecting double tap to
   begin edit and it was possble to start edit on singe tap
   if the user has double tapped before to start an edit.
   Now double tap detection is using the double tap timeout
   correctly.

bug:6071977

Change-Id: I0ff5a491064e51663b3abec675d839d0a65b986a
2012-02-27 17:32:54 -08:00
Jean-Baptiste Queru
a91b052e16 am fc24982a: Merge "Call onTimeChanged when AM/PM changed."
* commit 'fc24982a44d2b2b678fe5aa212b2e709d10e6413':
  Call onTimeChanged when AM/PM changed.
2012-02-21 12:28:38 -08:00
SeongJae Park
f821ce7522 Call onTimeChanged when AM/PM changed.
Commit for issue http://code.google.com/p/android/issues/detail?id=24388

[Problem]
TimePicker doesn't call handler's onTimeChanged when AM/PM changed on
ICS althou it does on Gingerbread.

[Solution]
Call onTimeChanged as like as Hour/Minutes does.

Change-Id: I9911c351874168001b69c186f012836fc51285f5
Signed-off-by: SeongJae Park <sj38.park@gmail.com>
2012-02-14 08:40:13 -08:00
Scott Main
6440534660 docs: fix typos and clarify some grammar in summary
external issue 21548

Change-Id: Ic38921cb64390b42651f3971efeb4b76101dfc14
2012-01-30 23:49:26 -08:00
Vladimir Baryshnikov
20761fcdcd Fix dividers for LinearLayout (TabWidget)
child.getTop()/child.getLeft - already contains offset for divider height/width,
so we need to subtract it, otherwise divider will be drawn behind the child.

Change-Id: Idd6e5aa4b20e84c64daaefdf393bc00fafb26c45
Signed-off-by: Vladimir Baryshnikov <vovkab@gmail.com>
2012-01-17 14:59:48 -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
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
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
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
2df13452e0 Merge "Insert into user dict with the correct locale" into ics-mr1 2011-12-07 18:41:04 -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
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
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