Commit Graph

2754 Commits

Author SHA1 Message Date
Jeff Brown
69b2be163d Add yet more keyboard layouts.
Bug: 6110399
Change-Id: I8e2ce1cd350dddb006df51286e127dce65a8117f
2012-04-25 18:17:21 -07:00
Philip Milne
8f94ec1565 Merge "Fix for layout debug mode." 2012-04-24 19:42:25 -07:00
Philip Milne
604f440dfd Fix for layout debug mode.
Change-Id: I0d02aa4cf7e18c2bbb01a3296e573f2f9de60bf1
2012-04-24 19:32:31 -07:00
Svetoslav Ganov
9ca10c8c3c Merge "Adding explicit text traversal granularities and actions for web navigation." 2012-04-24 19:27:13 -07:00
Svetoslav Ganov
b7ff3255c6 Adding explicit text traversal granularities and actions for web navigation.
1. The granularities for traversing the text content of an accessibility
   node info are now predefined constants and custom ones will not be
   supported. This is the simplest solution - we can always add namespaced
   user defined ones (unlikely).

2. Added actions for traversing web content. These actions can be used by
   an accessibility service to transparently drive the JavaScript based
   screen reader that is used for handling web content.

3. Added a new accessibility event type for traversing the content of a
   view. This event is needed to announce to the user what is the next
   element, i.e. the one next to the cursor, after the view's text was
   traversed.

bug:5932640
bug:6389591

Change-Id: I144647da55bc4005c64f89865ef333af8359e145
2012-04-24 18:49:15 -07:00
Jim Miller
e4cd3b0d95 Merge "Fix 6299832: Add search target swipe action to navigation bar on phones" 2012-04-24 18:32:37 -07:00
Jim Miller
e898ac59db Fix 6299832: Add search target swipe action to navigation bar on phones
This adds a feature to swipe upward on the navigation bar to invoke
voice search on phones.

Change-Id: I462076fd43b1c66c5bf624f00b297c6d3414a19a
2012-04-24 17:25:46 -07:00
Mathias Agopian
80193e7748 Merge "add a (hidden) api on Surface to query if the consumer is running behind the producer" 2012-04-24 17:24:07 -07:00
Svetoslav Ganov
0430ce9085 Merge "Removing hierarchical accessibility focus directions." 2012-04-24 16:08:05 -07:00
Mathias Agopian
c14bacf1fb add a (hidden) api on Surface to query if the consumer is running behind the producer
Change-Id: I71ec1602f66a4850b130893fc7017b5b1ac1b647
2012-04-24 15:50:27 -07:00
Philip Milne
b2b15716d8 Merge "Promote layout debugging code from GridLayout to ViewGroup." 2012-04-24 11:36:54 -07:00
Gilles Debunne
0b7d747e90 Merge "Editor uses a SpanWatcher to track EasyEditSpans" 2012-04-24 11:27:32 -07:00
Svetoslav Ganov
76f287e416 Removing hierarchical accessibility focus directions.
1. The accessibility focus directions are not needed since an
   accessibility service just get the root, first child, next
   sibling, previous sibling and call execute the action to
   give it accessibility focus. Now the accessibility node
   info tree is properly ordered taking into account layout
   manager directions for both layout manager that we report
   and ones that we have determined as not important for
   accessibility. Also the position of a node info are ordered
   properly based on their coordinates after all transformations
   as opposed to child index.

bug:5932640

Change-Id: I994a8297cb1e57c829ecbac73a937c2bcbe0bac7
2012-04-23 20:48:24 -07:00
Romain Guy
ba6be8a62d Prevent WebView from crashing when detached from the window
Bug #6365056

WebView enqueues a functor in the hardware renderer to handle
animations and this functor is called at a later time by the
hardware renderer. However, the functor was not removed from
the queue when WebView was removed from the window. This could
cause the hardware renderer to attempt to execute an invalid
functor and lead to a crash.

Change-Id: I9d38e80f3fdc5e29d4d0cdfa1e893c251a954508
2012-04-23 20:29:31 -07:00
Gilles Debunne
c62589cbec Editor uses a SpanWatcher to track EasyEditSpans
Will also fix Bug 6344997

The previous TextWatcher mechanism was inneficient. It require an
expensive getSpans() call to retrieve all the spans and then search
for the one we're interested in in case it has been changed.

The SpanWatcher is faster, it will broadcast the add/changed/removed
events we're interested in.

Now that we can rely on SpanWatcher, use it to directly track
addition and removals of EasyEditSpans.

No unit test for this feature which require an integration with
the voice IME. Easy to test manually though.

Change-Id: Idabcacc48c479bf9868d5204c0b0ca709207ede2
2012-04-23 18:25:25 -07:00
Philip Milne
10ca24a97c Promote layout debugging code from GridLayout to ViewGroup.
Layout debugging code draws rectangles around:

1. Layout insets (red)
2. Bounds (blue)
3. Margins (magenta)

Layout debug mode is enabled with:

adb shell setprop debug.layout true

Change-Id: Ia155a2d0fbf33693a1e3c040f627ea3a534e1aff
2012-04-23 16:41:04 -07:00
Romain Guy
19f86e831e Invoke onTrimMemory with an EGL context
Bug #6369600

Change-Id: I3ded47c3688ef2f2873495392c35e898357204da
2012-04-23 15:19:07 -07:00
Chet Haase
1271e2cc80 Remove USE_DISPLAY_LIST_PROPERTIES flag
This flag was still hanging around pending any need to disable
DisplayList properties. But things seem stable, so it's time to clean up
and simplify the code.

At the same time, I reduced redundance in DisplayList dimensions. We
used to call drawDisplayList() with width/height parameters that were
used to do a clip reject. This is redundant with the DisplayList properties
that set the bounds of the DisplayList; the left/right and top/bottom properties
represent the same width/height properties formerly used in drawDisplayList().
The new approach is to not pass dimensions to drawDisplayList(), but to
instead pull those dimensions directly from the DisplayList when needed.

Change-Id: I8871beff03b1d4be95f7c6e079c31a71d31e0c56
2012-04-23 11:13:17 -07:00
Jeff Brown
7838025812 Merge "Make InputEvent.getEventTime() public." 2012-04-20 20:16:25 -07:00
Jeff Brown
b11499d2db Make InputEvent.getEventTime() public.
Also add new methods to access the event timestamp in
nanoseconds.  Hidden for now but useful for prototyping.

Bug: 6374616
Change-Id: I7030734a908e8e31a17a356debc269db7c0f0783
2012-04-20 20:11:19 -07:00
Svetoslav Ganov
d6e716dce9 Adding a couple of missing accessibility focus directions.
Change-Id: Id404155591cf3fe5f9bef3ed8fe0d03908944ce1
2012-04-20 18:40:21 -07:00
Svetoslav Ganov
122b2c32de Fixing a couple of issues I have introduces in the last patch.
1. Fix waiting for the wrong instance.

2. Fix cloning of accessibility node info.

Change-Id: Icabf0d4bc947602a32fddc6642cc787f2bc766e4
2012-04-20 17:04:23 -07:00
Svetoslav Ganov
72de206248 Merge "Adding support for traversing the content of a node info at granularity." 2012-04-20 15:26:24 -07:00
Svetoslav Ganov
aa780c1109 Adding support for traversing the content of a node info at granularity.
1. A view that creates an accessibility node info may add to the info
   a list of granularity labels. These are granularities by which the
   source view can iterate over its content. For example a text view
   may support character, word link while a web view may additionally
   support buttons, tables, etc. There are actions on accessibility
   node info to go to the next/previous at a given granularity which
   is passesed as an argument.

2. Added Bundle argument to the APIs for performing accessibility
   actions. This is generic and extensible.

bug:5932640

Change-Id: I328cbbb4cddfdee082ab2a8b7ff1bd7477d8d6f9
2012-04-20 15:12:13 -07:00
John Reck
d6b1098e1f Support fallback action if unhandled key event
Bug: 6023055

Change-Id: Ib802c4b9d1b606f9ea7a5081e30c50b5bd78e30c
2012-04-20 10:23:24 -07:00
Svetoslav Ganov
fefd20e927 Adding an opt-in mechanism for gesture detection in AccessibilityService.
1. An accessibility service has to explicitly opt in to be notified
   for gestures by the system. There is only one accessibility service
   that handles gestures and in case it does not handle a gesture
   the system performs default handling. This default handling ensures
   that we have gesture navigation even if no accessibility service
   would like to participate/customize the interaction model.

bug:5932640

Change-Id: Id8194293bd94097b455e9388b68134a45dc3b8fa
2012-04-19 22:08:42 -07:00
Svetoslav Ganov
749e796eb3 UI test automation cannot get the root node and gets null children.
1. The AccessibilityInteractionController was using an incorrect
   looper i.e. not the UI thread looper which was causing getting
   the root node to fail.

2. The AccessibilityNodeInfo was populated by a ViewGroup with the
   children for accessibility without checking whether these children
   are really displayed.

bug:6362875

Change-Id: I7906d89571eb9d57d10f971639f88632926dd077
2012-04-19 17:13:51 -07:00
Jeff Brown
59a422e900 Ensure that touch and hover targets are cleared when needed.
When views are removed from a view or a view is detached from
a window, we need to update the touch and hover targets appropriately.

Failing to do this resulted in a NPE while dispatching an
ACTION_HOVER_EXIT to a view that had previously been removed.
Removed views should not get input events.

Change-Id: I4af4f8e2c4028347d3f570894fd1b3b366d11455
2012-04-19 15:21:08 -07:00
Jeff Brown
00710e906b Make InputDevice.SOURCE_STYLUS meaningful.
Bug: 5424551
Change-Id: I415cb1842422e050cc41b17f5a1f13b4fab17a44
2012-04-19 15:21:08 -07:00
Dianne Hackborn
661f362a2c Merge "Add new API to find smallest/largest screen size." 2012-04-19 15:01:36 -07:00
Dianne Hackborn
68c33ca7ce Add new API to find smallest/largest screen size.
Change-Id: I790801fceaf84ee2e3b1c9d32828285ad3231d0e
2012-04-19 14:55:13 -07:00
Chet Haase
b78c284bd5 Always execute actions on the runQueue
A View that is not attached will place posted actions on the
ViewRoot's runQueue. Previously, this runQueue was only ever executed
during a layout (during performTraversals()). This works in most situations
(a View that is added to or removed from the hierarchy will force a layout
in general), but not in all cases. For example, a new View being added to
a ListView will not cause a layout, so any actions posted to that View
prior to its being attached will not be run until some indeterminate time
later when a layout happens to run.

The fix is to execute the (typically empty) runQueue on every traversal.

Issue #6366678 View.post() ignored when called on an unattached ListView item

Change-Id: I94e6fdd9da6bb57fd83b547f8d742cd0ddfecbd6
2012-04-19 13:39:50 -07:00
Chet Haase
563d4f2d46 Make ViewPropertyAnimator ListView-animation-capable
ViewPropertyAnimator now sets the hasTransientState flag in View to tell
it when an animation has started (and unsets it when the animation ends).
This allows ListView to retain views with transient state without recycling them,
which makes ListView item animation possible (because you can't animate a View
if it's being recycled and reused elsewhere as it moves into and out of view).

Change-Id: I75c26a7a56474a76428500afef03a80bb46e04e0
2012-04-19 11:01:27 -07:00
Chet Haase
f37d87b35b Merge "Fix init of Animation in View drawing code" 2012-04-19 09:36:49 -07:00
Chet Haase
1fb8a9e44a Fix init of Animation in View drawing code
The refactor of ViewGroup.drawChild() resulted in an error
in a new method (View.drawAnimation) where animations were being
initialized with their view dimensions instead of the parent dimensions.

Issue #6292681 RotateAnimationTest#testRotateAgainstPoint fails on JRN04
Issue #6293275 TranslateAnimationTest#testInitialize fails on JRN04

Change-Id: Ia90711cadd7a6c20fd788e5b8b18a5b28551e68c
2012-04-19 09:22:34 -07:00
Jeff Brown
83cb5807b0 Merge "Add more dead keys. Use NFC tables for composition." 2012-04-18 19:12:18 -07:00
Jeff Brown
c3643b9013 Add more dead keys. Use NFC tables for composition.
Bug: 6110399
Change-Id: I343d24df21dac2c069136b016e70e39f0feb6df9
2012-04-18 19:09:08 -07:00
Philip Milne
eaa0a04f83 Merge "Share Insets instances between views that have the same background (Drawable)" 2012-04-18 16:17:33 -07:00
Philip Milne
bbd51f1e36 Share Insets instances between views that have the same background (Drawable)
Change-Id: I47d93ccca6f553b678d25966d10d7a0a97cfa5ea
2012-04-18 16:06:27 -07:00
Jeff Brown
0b9de5336d Merge "Improve selection of dead key accent chars." 2012-04-18 15:58:54 -07:00
Jeff Brown
accce945e5 Improve selection of dead key accent chars.
The '^', '`', and '~' characters that we use for circumflex,
grave and tilde accents are ugly.  Use the appropriate printing
modifier characters instead.

Bug: 6110399
Change-Id: I53891139ed1cef3010f5319ff49df1eeb1c6feeb
2012-04-18 15:47:48 -07:00
Svetoslav Ganov
f01d3dd710 Merge "Adding some more gestures and actions for accessibility." 2012-04-18 14:14:37 -07:00
Svetoslav Ganov
005b83b0c6 Adding some more gestures and actions for accessibility.
1. Added more gesture for accessibility. After a meeting
   with the access-eng team we have decided that the current
   set of gestures may be smaller than needed considering
   that we will use four gestures for home, back, recents,
   and notifications.

2. Adding actions for going back, home, opening the recents,
   and opening the notifications.

3. Added preliminary mapping from some of the new gestures
   to the new actions.

4. Fixed a bug in the accessibility interaction controller
   which was trying to create a handled on the main looper
   thread which may be null if the queried UI is in the
   system process. Now the context looper of the root view
   is used.

5. Fixed a bug of using an incorrect constant.

6. Added a missing locking in a couple of places.

7. Fixed view comparison for accessibilityt since it was
   not anisymmetric.

bug:5932640
bug:5605641

Change-Id: Icc983bf4eafefa42b65920b3782ed8a25518e94f
2012-04-18 13:43:55 -07:00
Svetoslav Ganov
6da9677f49 Merge "Views with zero alpha are shown for accessibility." 2012-04-17 19:29:42 -07:00
Svetoslav Ganov
b3830f6737 Views with zero alpha are shown for accessibility.
1. Views that a user cannot see should not be reported for
   accessibility. The check for zero alpha was missing.

bug:6291855

Change-Id: I3cb4c19cccf0dc2427677df630d124c36bd4770b
2012-04-17 19:27:38 -07:00
John Reck
06fd472390 Merge "Fix a bug with enterTouchMode removing focus" 2012-04-17 15:37:48 -07:00
John Reck
09dd116cd3 Fix a bug with enterTouchMode removing focus
Bug: 6347083
 Fix an issue where enterTouchMode would remove focus from the
 view that already has focus and is focusableInTouchMode. This
 causes issues with WebView, as it updates internal state when
 losing and gaining focus.

Change-Id: I5c1f72cc08baf3445e2be9e0496606a53fb9929e
2012-04-17 14:29:05 -07:00
Chet Haase
7dd4a536a1 Adding new CHANGING transition to LayoutTransition.
LayoutTransition used to depend on child views being added/removed or
shown/hidden in the transition container. These evens would trigger animations
to fade the child view as well as those to animate the side-affected changes
to sibling views. This CL enables a new feature in LayoutTransition that
enables animating any changes to the layout of the children in the container
whenever a layout occurs. For example, you can change the LayoutParams of a
child view and call requestLayout() to automatically animate those changes.

This capability is not enabled by default. To enable, call the new
LayoutTransition.enableTransitionType(LayoutTransition.CHANGING) method.

Change-Id: I4d07a3b36245353b2151f0dca4f75080ab6a4592
2012-04-17 13:33:55 -07:00
satok
fbf7e1f343 Merge "Get rid of "isSentenceLevelSpellCheckSupported"" 2012-04-16 22:07:45 -07:00
Svetoslav Ganov
21d1251637 Merge "Fixing broken add focusables behavior I have introduced." 2012-04-16 19:15:27 -07:00