Commit Graph

2802 Commits

Author SHA1 Message Date
Craig Mautner
602290a011 Merge "Retain current visibility when copying layoutparam" into jb-dev 2012-05-04 08:01:59 -07:00
Craig Mautner
3fe38c0e73 Retain current visibility when copying layoutparam
The LayoutParams members, systemUiVisibility and
subtreeSystemUiVisibility are derived values rather than app-generated
values. When copying LayoutParams members make sure these values are
not overwritten.

Overwriting them was causing the STATUS_BAR_DISABLE_XXX flags to be
overwritten exposing elements that should have remained hidden.

Fixes bug b6374541.

Change-Id: Iaae4b4167e1b148bbdba4d05f473844f7fa3bf8d
2012-05-03 17:28:09 -07:00
Jeff Brown
e19dbd9f9d Merge "Separate the internal and external display rotations." into jb-dev 2012-05-03 11:56:25 -07:00
Adam Powell
f27ba974d5 Merge "JB API cleanup; ActionMode and View docs" into jb-dev 2012-05-03 10:58:48 -07:00
Adam Powell
785c447b2b JB API cleanup; ActionMode and View docs
Bugs 6435315, 6434937

Add ActionMode#getTitleOptionalHint() and extend documentation for
View#hasTransientState/setHasTransientState

Change-Id: I2049fb79864c33b34e3bbd13df32861e308c99ad
2012-05-02 21:27:15 -07:00
Svetoslav Ganov
7a5f3e4048 Merge "Virtual nodes are always important for accessibility." into jb-dev 2012-05-02 17:45:58 -07:00
Jeff Brown
93de746e55 Separate the internal and external display rotations.
When attached to an HDMI touch screen, the input system needs
to know the size and rotation of the external display independent
of the internal display.  The size was already being reported
separately but not the rotation.  The inconsistency can cause problems
if the internal display's natural rotation is portrait but
the external display's natural rotation is landscape.

Change-Id: Id344f04c1ba032625f6265766be66f9ddaa2cc0b
2012-05-02 16:29:42 -07:00
Svetoslav Ganov
52a623700f Virtual nodes are always important for accessibility.
1. Virtual nodes should be made important since the implementer of
   the tree represented by the nodes decides which node to report.
   In the case with native widgets we decide in the framework but
   in the case of the node provider, the implementer of the latter
   makes the call. Hence, if a node in not important the provider
   should not report it in the first place. The issue this patch
   solves is to allow events from virtual nodes to be propagated
   to the accessibility services.

bug:6432588

Change-Id: Ie01f84e9e0ef2280da934b98283962a5db38abc2
2012-05-02 14:19:41 -07:00
Chet Haase
fe5984f43a Merge "Corrects invalidation logic for layered views" into jb-dev 2012-05-02 11:56:56 -07:00
Chet Haase
810a8676df Corrects invalidation logic for layered views
A bug in the invalidation logic meant that changes to a view
would not cause parents in the view hiearchy that were set to have
a layer (e.g., View.LAYER_TYPE_HARDWARE) to get invalidated properly.
So even though the child view was all set to recreate its display list
according to the property change, the layer in the tree above it would stay
as-is, meaning that the change would not show up on the screen.

Issue #5887530 DropTarget text does not change color with the icon

Change-Id: Ie6eac4f406d172cb437822d9fe76340ab2afaf1c
2012-05-02 10:44:33 -07:00
satok
e849230f44 Merge "DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition" into jb-dev 2012-05-02 01:41:23 -07:00
satok
1bc0a49e3c DO NOT MERGE : Backport I5723f627ce323b0d12b Reduce window resizing during IME transition
Bug: 5137498
Change-Id: Ieb8fd700d193eddaa31b0c5ebd8c7f7885586372
2012-05-02 17:30:45 +09:00
Jeff Brown
0632b35b68 Merge "Improve handling of built-in keyboard." into jb-dev 2012-05-01 18:39:00 -07:00
Jeff Brown
daa3753a04 Improve handling of built-in keyboard.
The window manager policy made some incorrect assumptions about the
meaning of the Configuration.keyboard field.  We need to be more
careful about distinguishing between built-in and external keyboards.

Most of this change is to move the determination of the parts of
the Configuration related to input devices into the WindowManagerService
leveraging new features of the InputManagerService to good effect.

Then we plumb through the flag that indicates whether a device
is internal or external so that we can be more particular about
how the lid switch effects changes to the Configuration.

Bug: 6424373
Change-Id: I36a1c22ade35e578955465a25940a33f227b9763
2012-05-01 16:34:20 -07:00
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