Commit Graph

2788 Commits

Author SHA1 Message Date
Svetoslav Ganov
af8978226f Merge "AccessibilityNodeInfo.getActionSymbolicName() is missing A11y focus actions." into jb-dev 2012-04-30 17:39:47 -07:00
Svetoslav Ganov
fb68fdb9c6 Merge "Accessibility should not change input focus behavior." into jb-dev 2012-04-30 17:39:24 -07:00
Svetoslav Ganov
e9bda15f87 AccessibilityNodeInfo.getActionSymbolicName() is missing A11y focus actions.
1. The new actions were not added to this helper method so it was
   throwing an InvalidArgumentException.

bug:6421059

Change-Id: I132348a50bb900ee19b95cc92c26ce47609ccb1c
2012-04-30 16:55:24 -07:00
Svetoslav Ganov
cf8a3b8224 Accessibility should not change input focus behavior.
1. Removed a change in the input focus behavior I forgot
   to take out when submitted the main accessibility focus
   patch. Ugh..

bug:6320098

Change-Id: Id7942e8aac64ba4bf6df7e19f733fa70b368d1bb
2012-04-30 16:50:14 -07:00
Jamie Gennis
b40696cc21 Surface: add JNI plumbing for setActiveRect.
Bug: 6299171
Change-Id: If26e63ebe7def645626af251bed899ff9389f8e5
2012-04-30 15:35:37 -07:00
Jamie Gennis
459e459ef9 Merge "TextureView: don't call onSTAvailable due to setST" into jb-dev 2012-04-30 15:29:33 -07:00
Dianne Hackborn
1e945c4fda Merge "Add system insets to windows." into jb-dev 2012-04-30 14:04:36 -07:00
Jamie Gennis
8a34d6800e TextureView: don't call onSTAvailable due to setST
This change makes TextureView skip calling the onSurfaceTextureAvailable
callback when setSurfaceTexture is used to change the TextureView's
SurfaceTexture.

Change-Id: Ie08f72f157c3bfce3215076b21994026ef66d88d
2012-04-30 13:54:38 -07:00
Svetoslav Ganov
2f87014ea2 Merge "Enabling accessibility focus only if explore by touch is on." into jb-dev 2012-04-30 12:41:15 -07:00
Svetoslav Ganov
0e8fd5eddb Merge "Populating accessibility node info with supported actions." into jb-dev 2012-04-30 12:40:49 -07:00
Svetoslav Ganov
10890607f8 Merge "Fixing crash in ViewGroup.dispatchPopulateAccessibilityEvent" into jb-dev 2012-04-30 12:39:25 -07:00
Svetoslav Ganov
18dcf2f1cd Merge "Fixing crash when drawing accessibility focus indicator." into jb-dev 2012-04-30 12:38:06 -07:00
Svetoslav Ganov
07b726c86b Enabling accessibility focus only if explore by touch is on.
1. Now we will enable the accessibility focus only if Explore by
   Touch is enabled. Enabling this feature allows a blind user to
   touch the screen and set the accessibility focus at this
   location as well as get spoken feedback. Also an accessibility
   service can move the accessibility as a result of user gestures
   detected only if Explore by Touch is enabled. Since we will
   handle some gestures by default if not accessibility service
   does so to provide reasonable built-in navigation of the UI
   by "objects" we need the accessibility focus functionality.

bug:6383361

Change-Id: I13ce6072a90f5838c7656379788144c99a772bf0
2012-04-30 12:25:31 -07:00
Dianne Hackborn
5c58de3a52 Add system insets to windows.
This will be used to determine which parts of a window a completely
hidden by system UI elements (status bar, nav bar, system bar) so
that they can be clipped out from rendering.

Change-Id: I2c6c6ac67dbdfeed82d2c089ef806fb483165bd9
2012-04-30 12:11:43 -07:00
Svetoslav Ganov
cfcff98ab3 Populating accessibility node info with supported actions.
1. The system does not allow performing an accessibility action
   on an accessibility node info unless it explicitly states it
   supports that action. Adding the new accessibility actions
   to the info emitted by a view.

bug:6407647

Change-Id: I8dad1dc60ec68b4da5ed2349a1366a88820175a1
2012-04-28 15:31:15 -07:00
Svetoslav Ganov
d7910dd42a Fixing crash in ViewGroup.dispatchPopulateAccessibilityEvent
1. There was a double call to recycle of a pooled instance
   which was causing an exception. Removed an unnecessary call.

bug:6408689

Change-Id: Ic74b743c6be28ca95ab84b15f28edb5bc95f0a88
2012-04-28 15:23:51 -07:00
Svetoslav Ganov
1d74df2266 Fixing crash when drawing accessibility focus indicator.
1. Added a lacking null check for the accessibility node
   info returned by an accessibility node provider. If
   the provider implementation is not correct this may
   happen.

2. Added clearing of the current accessibility focused
   node when the window focus changes. Now it is cleared
   in every case and if it happens that accessibility is
   enabled when the window gets focus, the accessibility
   focus will be properly set.

bug:6381296

Change-Id: Ieea1b07762745e6d932fc4ed4febfe77760b25b7
2012-04-28 15:14:30 -07:00
Dianne Hackborn
79c6346100 Merge "When a window is first shown only draw once while animating." into jb-dev 2012-04-27 17:42:48 -07:00
Jeff Brown
ffd6ea4523 Merge "Resample touch events on frame boundaries." into jb-dev 2012-04-27 17:31:50 -07:00
Philip Milne
65340c1682 Merge "Fixes for optical bounds feature." into jb-dev 2012-04-27 16:57:41 -07:00
Philip Milne
7a23b49a8c Fixes for optical bounds feature.
1. Make the feature opt-in (ViewGroup::layoutMode defaults to CLIP_BOUNDS) without inheritance.
2. Rename COMPONENT_BOUNDS to CLIP_BOUNDS.
3. Rename LAYOUT_BOUNDS to OPTICAL_BOUNDS.
4. Complete GridLayout implementation.
5. Change the default_gap between components to 8dp, to align with the Style Guide.

Change-Id: I8d40dfc5f4ca469f6424eb3ff60d07bec56e3a9f
2012-04-27 16:46:57 -07:00
Jeff Brown
f613da0e5f Merge "Simplify the consume before traversal heuristic." into jb-dev 2012-04-27 16:45:00 -07:00
Jeff Sharkey
5c55c40be0 Merge "Clear IMM references when window dismissed." into jb-dev 2012-04-27 16:44:22 -07:00
Jeff Brown
e19d5f0272 Merge "Use choreographer frame time to schedule animations." into jb-dev 2012-04-27 16:44:18 -07:00
Jeff Sharkey
4478de3c02 Clear IMM references when window dismissed.
Match behavior of removeViewLocked(), where InputMethodManager clears
any strong references to Views, and also clear mCurRootView. Without
this, IMM can leak a DecorView instance after the user has left the
application.

Bug: 6413553
Change-Id: Iad09cf5dbb7f6f156fd39ed243431432e00f8945
2012-04-27 16:17:43 -07:00
Romain Guy
5084e69b2c Merge "Make debug.layout usable with hw acceleration on" into jb-dev 2012-04-27 16:15:28 -07:00
Romain Guy
cbc6774ef0 Make debug.layout usable with hw acceleration on
Change-Id: I35e41f83fc5049f5ede6b8a6731800bd6da50391
2012-04-27 16:14:23 -07:00
Jeff Brown
771526c88f Resample touch events on frame boundaries.
Bug: 6375101
Change-Id: I8774e366306bb2b6b4e42b913525bf25b0380ec3
2012-04-27 15:58:42 -07:00
Romain Guy
c887843b19 Merge "New constant used by dev settings" into jb-dev 2012-04-27 15:49:59 -07:00
Romain Guy
4b8c4f886b New constant used by dev settings
Change-Id: I42f103ae8a9b9f051367c72131f0b216e200f6e0
2012-04-27 15:48:35 -07:00
Dianne Hackborn
12d3a94397 When a window is first shown only draw once while animating.
On some hardware allocating a new graphics buffer is quite
expensive, which blocks updates to the UI.  This can cause
glitches when performing window animations.

To reduce these glitches, the view hierarchy will now only
allow itself to be drawn once if its window is being shown
while the window manager is animating, not resuming draws
until it is told that the animation is done.

Change-Id: Ie15192f6fddbd0931b022a72c76ddd55ca266d84
2012-04-27 15:21:44 -07:00
Jeff Brown
330314c6fb Simplify the consume before traversal heuristic.
Calling doConsumeBatchedInput() from doTraversals() can result
in redundant attempts to consume batched input.  Instead of making
this call directly, just schedule consume batched input at the
same time as traversals are scheduled.  This should have the same
overall effect.

Bug: 6375101
Change-Id: Ie5799e6a68fedbd1978cca6d03852d9a7f1b1f64
2012-04-27 02:20:22 -07:00
Jeff Brown
20c4f87b29 Use choreographer frame time to schedule animations.
Instead of using the current uptime millis, which can exhibit
substantial jitter depending on when the code runs, use the
current frame's vsync time when performing animations.  The frame
time provides a more consistent pulse.

Bug: 6375101
Change-Id: Icf307cd8524246607db7496c6fef9a5eeb7c0439
2012-04-26 20:12:43 -07:00
Jeff Brown
97d5c41873 Remove unused pipelining optimization.
Bug: 6375101
Change-Id: I5fcbbabfafae9e1661adac7b2becc748e42c4b66
2012-04-26 15:50:31 -07:00
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