When the word iterator return an empty range, select an arbitrary
character so that cut/copy icons are available.
Change-Id: I16e5a3c7f10886db967d870706da7f2d690af013
A bug was introduced in a recent refactoring: correct words didn't have their
SpellCheckSpan removed, leaving a lot of useless spans.
SPAN_EXCLUSIVE_EXCLUSIVE should never have a 0-length. With Japanese characters
wordStart could be equal to wordEnd when parsing the text: skip these.
Using toString().substring(...) instead of subSequence(...).toString() which
is more efficient.
Change-Id: I670870a34565939b676400091f4852152a7f7124
1. The user can touch the screen at an arbitrary location potentially crossing the root namespace
bounday which will send an accessibility event to accessibility services and they should be able
to obtain the event source. Also accessibility ids are guaranteed to be unique in the window.
Added a package scoped findViewByAccessibilityId method that dives into nested root namespaces.
2. Added accessibility support to the AnalogClock.
bug:5405934
Change-Id: I84edcb554bae41aafcbbc2723c5e62c1ef8a6ddf
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
1. Some accessibility evenents should not and were not dispatched for
text population but there was no centralized location for enforcing
this - rather the system was firing them in a specific way or there
were conditions in a few places enforcing that. Now this is centralized
and clean.
2. Updated the documentation with some new event types the were lacking.
3. Explicitly stated in the documentaition which events are dispatched to
the sub-tree of the source for text populatation.
bug:5394527
Change-Id: I86e383807d777019ac98b970c7d9d02a2f7afac6
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