1. Copied the default NumberPicker layout to sw-600dip
i.e. in the layouts for tablets and changed the
layout to fit on the screen. No mini calendar on
phones - you need an microsope to see it.
2. Fixed a two pixel off erroro in NumberPicker noticable
when the scroll wheel fades away.
bug:4259424
Change-Id: I07a73faff1e95dffd30424cc8addd35f2fe30e8f
- use ViewGroup inheritance if defined
- use different heuristics (inherit, firstStrong, anyRtl, ltr, rtl)
- add more unit tests
Change-Id: Ic1325aa7d9e4689b181e0a2d08b7dd7fb3f0dbeb
1. Added scrolling accessibility event to provicde feedback
when a view is scrolled.
Note: We need scroll events for ICS since even though we have
touch exploration the user does not know when something
is scrollable and not feedback is provided while scrolling.
bug:4902097
2. Added a text selection change event to provide feedback
for selection changes including cursor movement.
Note: We need the text selection change events for ICS since
even though the IME supports navigation in text fields
the user receives no feedback for the current selection/
cursor position.
bug:4586186
3. Added a scrollable property to both AccessibilityEvent and
AccessibilityNodeInfo. The info has to describe the source
in terms of all properties that make sense for accessibility
purposes and the event has this property (kinda duplicated)
since clients will aways want to know if the source is
scrollable to provided clue to the user and we want to avoid
pulling the info of the source for every accessibility event.
Change-Id: I232d6825da78e6a12d52125f51320217e6fadb11
previous code was comparing to the unconverted CharSequence, so
it's never going to find a match if the string is mixed case
Change-Id: Ifd537d9781b7da1a2328f01b6f2f3229ca7d950b
- X is visible only if there is text, or we need a way to close a
search field that is iconified by default.
- Search dialog (legacy) has a back button to the left.
- Hitting X on a non-focused search view will bring it into focus
and show the keyboard if necessary.
Change-Id: I5a30bb08adcf84639a922a9e13be1d1562f714e6
1. The query string was not converted to lower case during search
for infos with text.
bug:4818098
Change-Id: Ie4ba8ac2632072bdd71070ec8fd24ca255560ac0
Also:
. Cater for components that are GONE.
. Include code to draw component bounds and margins when in DEBUG mode.
Change-Id: I688f8b638469eb11987ebb207b7db1dc953e84e7
Also included bugfix from Winson: arcs wre not being cleared in invalidateStructure() so
state wasn't properly cleared when children were added after the first layout operation.
Change-Id: I7b46eadd955bd74b7bb3e4dad2f47ed3f092ff63
- update Callback2 interface
- update Gravity.getAbsoluteGravity() and Gravity.apply() to be more generic
by changing "boolean isRtl" parameter to "int layoutDirection"
- fix BiDiTests for RTL FrameLayout
Change-Id: I97bb456c22d5fd3ecb34f08564ce4dbed37e7459
Using a finalizer for this is kind of gross but it is robust.
We could try to hook onDetachedFromWindow() on the View
but that would introduce additional lifecycle management to
the adapter since a View could potentially be detached and then
reattached, so we might need to recreate the handler, etc.
Ideally this code should probably be changed to use AsyncTask.
Change-Id: I9ad5fff388411619363e4a075ed0244966b38726
1. Added a new event type for notifying client accessibilitiy
services for changes in the layout. The event is fired at
most once for a given time frame and is delivered to clients
only if it originates from the window that can be interrogated.
2. Exposed the findByText functionality in AccessibilityNodeInfo.
This is very useful for an accessibility service since it allows
searching for something the user knows is on the screen thus
avoiding touch exploring the content. Touch exploring is
excellent for learning the apps but knowing them search is
much faster.
3. Fixed a bug causing an accessibiliby service not to receive
the event source in case of more than one service is registered
and one of them does not have paermission to interrogate the window.
The same event was dispatched to multiple services but if one
of them does not have interrogation permission the event is
modified to remove the source causing subsequent serivices not
to get the later.
4. Moved the getSource setSource methods to AccessibilityRecord
instead in AccessibilityEvent.
5. Hiden some protected members in AccessibilityRecod which should
not be made public since getters exist.
6. Added the View absolute coordinates in the screen to AccessibilityNodeInfo.
This is needed for fast computation of relative positions of
views from accessibility - common use case for the later.
7. Fixed a couple of marshalling bugs.
8. Added a test for the object contract of AccessibilityNodeInfo.
Change-Id: Id9dc50c33aff441e4c93d25ea316c9bbc4bd7a35
Moved so they can be used by both system service and Settings UI, since
they both work with data usage cycles. Still covered by tests.
Change-Id: I01c0c4db6da9457dd867c9167d31a5f9f8e5f5d9
Exception on device rotation due to a removed test for existing selection.
onPreDraw is called for the PhoneWindow, updating container position, but before
the popup window is layout. Added a flag to force a new update after the layout.
Change-Id: I0f833c689a367ef76144230df28afa48db9ad950
1. Views are represented as AccessibilityNodeInfos to AccessibilityServices.
2. An accessibility service receives AccessibilityEvents and can ask
for its source and gets an AccessibilityNodeInfo which can be used
to get its parent and children infos and so on.
3. AccessibilityNodeInfo contains some attributes and actions that
can be performed on the source.
4. AccessibilityService can request the system to preform an action
on the source of an AccessibilityNodeInfo.
5. ViewAncestor provides an interaction connection to the
AccessibiltyManagerService and an accessibility service uses
its connection to the latter to interact with screen content.
6. AccessibilityService can interact ONLY with the focused window
and all calls are routed through the AccessibilityManagerService
which imposes security.
7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos
based on some criteria. These API go through the AccessibilityManagerServcie
for security check.
8. Some actions are hidden and are exposes only to eng builds for UI testing.
Change-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c