Added content description to the overflow button and default
action target as well as content description for the popup
list with share targets.
bug:5398787
Change-Id: Iea1e9d85893899f7d161986cb958595083c79b93
Two separate issues here:
- The results of the spell checker may be identical to the one set by the IME. Since
we merge the spans, the entries are duplicated. Filter spell checker results to avoid
these duplicates.
- When the text is saved on rotation, the spans are saved and restored. Since we start
a new spell check when the window is attached, it also doubles the size.
Change-Id: I21e1a5ae1b264bc97f44d762e4589bf520c6c19c
1. The cooser was presenting the "Show all" option if the number
of available activities was more than the initial max count of activities
to be shown. Since the show all option is added to the drop down
the latter becomes effectively one longer than the initial max activity
count which may make the drop down taller than client expectats. Also
this leads to the case where if the activities are one more than the
initial activity count pressing the show all button will just replace
the show all item with the activity that did not fit - this is somehow
annoying to the user.
bug:5379282
Change-Id: I2693214cb0b66edb2a3bdffc01ed29139341111c
. Fix for the above.
. Make instances of Space invisible by default.
. Correctly accomodate parental constraints when row/col order is undefined.
This fix allows GridLayout to accomodate simple dependencies between
its axes. In the example given in bug 5393156, the presence of a
multi-line TextView means that GridLayout can only compute its height
after it has computed its width. This fix adds a second measurement pass
to GridLayout that passes infomation betwen the axes, using the GridLayout's
orientation property to indicate which axis should be examined first.
Change-Id: I90761c6fcfe8edc7ef6d9a89076fd5cda3adc0a4
- make DynamicLayout honor max lines
- make StaticLayout.generate() take maxLines as a parameter instead of using the field mMaximumVisibleLineCount
Change-Id: I9eafb1be4b8bb2aa881514955a6903f559cb6a1e
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
There are problems in ICS using custom ProgressBar indeterminate drawables when
those drawables are AnimationDrawables. Code that determines appropriate aspect-ratio
sizing should not kick in for this case; the animation drawables know what size
they should be.
Change-Id: I7c35e0dc0f2719f698551f197c688e6156a3f5bd
1. Now if the widget is not interacted with shows a smaller selector
wheel with the increment and decrement arrows at the top and bottom
respectively.
2. Tapping an arrow button now animates the widget to the new value. i.e.
rotates the selector whell to the next value.
3. Fixed a bug that double tapping on the input shows the IME but then
after pressing an arrow button the IME is not hidden.
4. Fixed a bug that was exposed via late changes in the framework or the
graphics and was manifested of the selector wheel not having fading
edges.
bug:5251980
bug:5383502
Change-Id: I4a089dc69b07a3b28a514017cddf786cb9f4af16
This method is invoked only when the pop-up is currently displayed and the text scrolles.
This is scenario is reproducible only with Voice IME (I think), as the text is inserted without
touching the screen.
Bug: 5290463
Change-Id: I0b842732cc1f115de06e992fbe28cb64eac49b22
Originally when surfaceChanged() happens, we remove the old window and
create a new window. This causes flickering. Now we just update the window
layout according to the size of the anchor view.
Change-Id: Id741dac07872e473f2c9829b626c5c9568e7e22d
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
I don't understand how the SuggSpan that has been tapped to display
the popup can have disappeared when an item is clicked.
This problem seems specific to monkey test with a race condition somewhere.
Change-Id: I447b6563a1b959dc3c1ead31cde2d9bcad369765
SearchView is expanded in an action bar
This is a case where we always know there will be room on screen for
the user to meaningfully use the UI in the absence of full-screen
extract mode. Save the old state and restore it when we go in and out
of expanded action bar mode.
Change-Id: I4ae2c5df4f581c6824e6a1f7ff8d97fd86d8e260
Bug 5313754: SpellCheckSession is released when the window loses focus.
When an EditText is initialized with text, a new spell check is initiated
and previous spell check spans are removed.
Requires a new flag to prevent this from happening when the window focus
change comes from the suggestion popup window being shown.
Also fixes bug 5329588: handle spell check language change.
This change has been reverted. This amended change defers the creation
of the SpellChecker, so that it is only created for editable TextView.
Patch 3: Bug 5332065, the spell check session is closed in onDetachedFromWindow, which is
called when the window is destroyed (like on rotation), which was not the case with
onWindowFocusChanged.
Patch 5: Fixed life cycle. A view can be created and never attached to the hierarchy. As
a result, the spellCheck session would not be closed. Moved spell check to onAttach and
perform a spell check when text is changed by setText only if the view has previously
been attached (and the spellChecker has been created).
Change-Id: Ic2cfbfc0d3f23c589dd9e37f02e4afc1d625615d