Commit Graph

2107 Commits

Author SHA1 Message Date
Dianne Hackborn
38e29a61d0 Fix issue #5242779: Device not responding to touch on unlock screen
Rework how we decide when it is okay to turn on the screen by having
the policy call back to the power manager when it knows the lock screen
has been drawn.

Change-Id: Ie8f3f72111dcf7f168723e6dce24e0343b4afe5d
2011-09-18 14:52:52 -07:00
Adam Powell
4b86788003 Bug 5244365 - Prevent views from receiving multiple onAttachedToWindow
calls.

If a View is added to a ViewGroup during the ViewGroup's
onAttachedToWindow method, the child can receive two calls to
onAttachedToWindow. Guard against this.

Change-Id: I845d0cb2c9172071eee1eadc6bc2dd282ee0ef43
2011-09-16 13:01:01 -07:00
Dianne Hackborn
4f59f8be0e Fix issue #5300880: setSystemUiVisibility() always triggers a surface reallocation
Change-Id: Ia0a9d8acba6b62ef095e4c615099466c52eec8e4
2011-09-15 15:27:59 -07:00
Dianne Hackborn
df82905cf3 Merge "Update the public APIs for finding views by text to optionally use content description." 2011-09-14 22:33:54 -07:00
Jeff Brown
93578af23e Merge "Velocity Tracker II: The Revenge of Velocity Tracker Bug: 5265529" 2011-09-14 21:27:25 -07:00
Svetoslav Ganov
ea515aeafa Update the public APIs for finding views by text to optionally use content description.
1. Added flags to the search method to specify whether to match text or
   content description or both.

2. Added test case for the seach by content description.

3. Updated the code in AccessibilityManager service to reflect the latest
   changes there so test automation service works - this is the fake
   service used for UI automation.

Change-Id: I14a6779a920ff0430e78947ea5aaf876c2e66076
2011-09-14 19:40:33 -07:00
Dianne Hackborn
ec537457cd Fix issue #5155678: Portrait > Landscape full-screen transition...
...mode cuts off screen rendering

The code for limiting application window sizes to not include the
navigation bar was dead.  Now it is back.

Change-Id: Ic0bde56e3300fd0d9d225e19d8de2766d07e8780
2011-09-14 19:19:55 -07:00
Jeff Brown
b59ab9f41f Velocity Tracker II: The Revenge of Velocity Tracker
Bug: 5265529

Rewrote the velocity tracker to fit a polynomial curve
to pointer movements using least squares linear regression.
The velocity is simply the first derivative of this polynomial.

Clients can also obtain an Estimator that describes the
complete terms of the estimating polynomial including
the coefficient of determination which provides a measure
of the quality of the fit (confidence).

Enhanced PointerLocation to display the movement curve predicted
by the estimator in addition to the velocity vector.

By default, the algorithm computes a 2nd degree (quadratic)
polynomial based on a 100ms recent history horizon.

Change-Id: Id377bef44117fce68fee2c41f90134ce3224d3a1
2011-09-14 19:16:37 -07:00
Dianne Hackborn
1f903c3b57 Fix issue #5283365: Rotating the device to portrait mode, hides the keyboard partly
PhoneWindowManager now takes full responsibility for deciding where the
navigation bar goes.  This gets rid of a bunch of race conditions with
determining layout while the nav bar is moving itself at the same time
the window manager is computing a new configuration.

Note that this breaks the "nav bar on left" option.  The current nav
bar code could also be cleaned up some more to completely drive its
behavior based on onSizeChanged() happening during relayout.

Change-Id: I1651d74c3464ba0d588aab3049e099c78420146a
2011-09-14 17:56:40 -07:00
Christopher Tate
ff87be5966 Merge "Fix bug 5297302 - Remember to release surface after starting drag" 2011-09-13 14:28:05 -07:00
Dianne Hackborn
180c48489f Fix issue #5309443: Ninjump crashes on boot with...
...java.lang.IllegalArgumentException: Window type can not be
changed after the window is added

Change-Id: I4e34622c99d721fa214fd534a9bbfc8006184770
2011-09-13 12:39:25 -07:00
Christopher Tate
8f73b5dfac Fix bug 5297302 - Remember to release surface after starting drag
Forgetting to release it was "safe" in that GC would eventually
tidy it up anyway, but in the meantime it was possible for a user to
do lots of drag operations, racing ahead of the progress of the garbage
collector, and wind up with drags failing because we'd run out of
surface slots due to all the piled up stale drag shadows.

Change-Id: I7ac93b13cc9996dda04a404571fbc44cb4314694
2011-09-12 18:33:45 -07:00
Dianne Hackborn
ab0f485e64 Fix problems where we were allocating TypedArray when not needed.
Fixes up some recycling of TypedArray objects to reduce the
number we need to allocate during inflation etc.

Change-Id: I948dccc052997779001eaa99db2a710b04be01ae
2011-09-12 17:04:32 -07:00
Svetoslav Ganov
bd5c9768c4 Merge "Adding accessibility delegate mechanism for backwards compatibility support." 2011-09-12 16:58:13 -07:00
Svetoslav Ganov
031d9c1389 Adding accessibility delegate mechanism for backwards compatibility support.
1. Added an AccessibilityDelegate class in View which can be set by
   a client that wants to cutomize accessibility behavior via
   composition as opposed to inheritance. Insead overriding a new method in
   View thus being bound to the API version that introduced this
   method a developer can conditionally inject the accessibility
   customization if the platform API version is heigh enough. The
   developer will have to override the method of interest of the
   delegate. The default implementation of the delegate methods is
   the same as that of View in the case that there is no delegate
   set. If a delegate is set calling an accessibility related method
   on View will be handed off to the corresponsing method of the
   delegate.

bug:5259555

Change-Id: I00e750e22e5e7164a1b571cb3d12ecaf4ab93db4
2011-09-12 15:42:19 -07:00
Dianne Hackborn
fe75cb342e Merge "Fix inflating of animations." 2011-09-11 13:07:24 -07:00
Chet Haase
6a6977e872 Merge "Fix 5266335: bad DIRTY/invalidation logic" 2011-09-11 12:58:45 -07:00
Dianne Hackborn
8962028b6e Fix inflating of animations.
Need to define attributes for animation set, to have correct indices.

Also small fixes elsewhere.

Change-Id: If596147e8aee4ebffe4e184872070341eff6df73
2011-09-11 12:47:45 -07:00
Chet Haase
f186f30a7c Fix 5266335: bad DIRTY/invalidation logic
The DIRTY flag is used to track which elements of the view hierarchy need
to be redrawn on the next drawing operation. This flag is set on the parent
hierarchy of a view when that view is invalidated. There is an optimization for
opaque views that tells the parent that it is dirty, but that it need not
redraw its own content because the view will cover it (since it is opaque).

This dirty-opaque logic breaks down in the current code because we only set
these dirty flags on the parent hierarchy, not on the view itself. In the situation
raised by this bug, we would invalidate the parent container directly (which does
not case the dirty flag to be set), then we would invalidate a child of that view.
Because the child is opaque, the DIRTY_OPAQUE flag would be set on the parent
container. This would cause us, in the later rendering process, to skip the
drawing on that parent container, assuming that it was only asked to be redrawn
because of its opaque child's invalidation.

The fix is to now set the DIRTY flag on an invalidated view, not just on its parent
hierarchy. The DIRTY_OPAQUE logic will avoid setting the opaque flag on views/parents
that are already marked DIRTY, thus an invalidated parent will be correctly drawn
during the drawing process.

Change-Id: Ib5e014a125a4f5168f6a5a3166e941474659aca5
2011-09-11 11:06:06 -07:00
Svetoslav Ganov
fd19906b50 Merge "Inter process interrogation ocassionally gets stuck." 2011-09-09 18:57:35 -07:00
Svetoslav Ganov
6bc5e53001 Inter process interrogation ocassionally gets stuck.
1. There was a bug that was not handling correctly the
   case for which the interrogator requests an accessibility
   node info and the message describing how to fetch the
   latter for the same process case was delivered after the
   code that checks whether the message is there in order to
   dispatch it is executed. Now the message handling is done
   correctly - the caller checks if the message is present and
   if so processes it, otherwise the caller sleeps and is
   interrupted if such a message arrives.

bug:5138933

Change-Id: I4c2940b46c9a52a51c5ee48b83ca6811489765d6
2011-09-09 18:52:26 -07:00
Romain Guy
1ef3fdbe04 Go faster!!!!
The less we do, the faster we draw.

Change-Id: I7bbc3908b36d8ae295ea3e61ef71fd9ee2187970
2011-09-09 15:34:49 -07:00
Dianne Hackborn
7b8d7cb59c Merge "Pull animation attributes out of main view class." 2011-09-09 15:27:44 -07:00
Dianne Hackborn
ddb715b238 Pull animation attributes out of main view class.
These are now in a separate class that is only allocated when
needed by the view.

Change-Id: I9601bb43b3b4bfdabd982b02f7cd7534437b8ac3
2011-09-09 14:43:39 -07:00
Jeff Brown
1d50a2c068 Merge "Adjust layers for system overlays." 2011-09-09 11:06:25 -07:00
Ken Wakasa
8b83a72976 Fix a bug in InputMethodSubtype constructor
bug: 5249480

Change-Id: I707e45cc0606dae7824c478ab586fc24d3f417f8
2011-09-09 20:56:29 +09:00
Jeff Brown
bfcb60ab0f Adjust layers for system overlays.
Prevent system overlays from showing above the notification bar.

Allow secure system overlays to be fullscreen, for the pointer
location view.

Show the drag layer above the notification bar.

Change-Id: Ic8d663792a243cca2cd9952d241d001e0357d551
2011-09-08 18:53:42 -07:00
Romain Guy
e080af3754 Save/restore display lists' canvas properly
Change-Id: Ic016f0215f9fe5c67af98f059ecce4ed94994810
2011-09-08 15:05:26 -07:00
Svetoslav Ganov
aacbf9111b Merge "Not visible view should not be announced or interacted with." 2011-09-07 18:24:25 -07:00
Svetoslav Ganov
0b0a41d8e2 Not visible view should not be announced or interacted with.
1. Some invisible views' text was reported by accessibility events.

2. Accessibility actions could have been perfromed on invisible views.

bug:5264355

Change-Id: I68184fb436a3e10e947ec6f1eae02aa3d0d1cb7f
2011-09-07 18:06:06 -07:00
Fabrice Di Meglio
e3238c9805 Merge "Code cleaning" 2011-09-07 16:46:24 -07:00
Adam Powell
8fc54f9b28 Fix build
Change-Id: I9efe13a7647088402c6759399a96de7831df964b
2011-09-07 16:43:53 -07:00
Fabrice Di Meglio
2b04cef9b4 Code cleaning
- removing CharCount TextDirectionHeuristic references

Change-Id: I8cdc03b0d7bd610c7b8224073ffedd89b8953c63
2011-09-07 16:37:13 -07:00
Fabrice Di Meglio
b6e43268f9 Merge "Hide RTL related APIs" 2011-09-07 16:14:41 -07:00
Fabrice Di Meglio
2273b1e4ea Hide RTL related APIs
Change-Id: Idda458fcdebe7afeb9b95e328e552fcbc7939157
2011-09-07 16:06:49 -07:00
Chet Haase
a7e88d688b Merge "Add end functionality to LayoutTransition" 2011-09-07 14:59:52 -07:00
Chet Haase
36d3b9ddc4 Merge "Clarify AnimationSet docs and behavior" 2011-09-07 14:40:29 -07:00
Chet Haase
d56c695175 Add end functionality to LayoutTransition
This new hidden API is called by ViewRootImpl when there is a pending
transition but the parent window is not visible.

Change-Id: Idd6a0959b391fae542e675e8740b6a16f8963678
2011-09-07 10:51:00 -07:00
Chet Haase
3791dc9b1c Merge "Fix issue with LayoutTransition on non-visible windows." 2011-09-06 22:36:13 -07:00
Chet Haase
61158c621d Fix issue with LayoutTransition on non-visible windows.
There's a problem with how LayoutTransition cleans up after itself
when the target view is in a Window that is not on the screen.
The quick fix is to always start (and therefore properly end and clear)
transitions, regardless of whether the window is in the tree.

Change-Id: I23f4f4f04176f3943e5c6e1d78acba0190a96930
2011-09-06 22:19:45 -07:00
Romain Guy
2b72d93ce3 Merge "Don't destroy a window's buffers when moving it" 2011-09-06 17:02:43 -07:00
Romain Guy
f21c9b0f52 Don't destroy a window's buffers when moving it
Change-Id: Ib08608373ae4299639c1b157421ba633e4293446
2011-09-06 17:01:05 -07:00
Fabrice Di Meglio
c6fc20a91b Merge "Fix bug #5262565 Need to remove CharCount TextDirectionHeuristics" 2011-09-06 15:12:25 -07:00
Romain Guy
c529d8d8c7 Prevent crash in View.createSnapshot if getResources() returns null
Bug #5260241

Change-Id: I90b6d5a8961a6b7b50603a9f59a6e39093646bd4
2011-09-06 15:01:39 -07:00
Chet Haase
c861bd778b Clarify AnimationSet docs and behavior
Two problems fixed here:
- The docs for AnimationSet were too vague and incorrect: some properties of
Animation (such as duration) are pushed from the AnimationSet down to its children, as
the current docs say. Some other properties (such as repeatCount) are ignored. Other
properties (such as startOffset) apply to the Set itself, but not to the children.
Fix: clarify this behavior for each of the properties.
- The behavior for XML resources was just busted. We would set the various properties
(e.g., duration) and then forget that we did so, since we reset the flags that marked
their existence after we loaded the resource. In fact, the duration property was
always being reset to 0, regardless of what it was set to in the xml resource.
Fix: Make it work they way it always should have: respect the values read from the XML
resource and make them behave the same way they do when set at runtime.

Change-Id: I07d68876d2259105dc5a359501d5c656ecfaa8e5
2011-09-06 14:14:29 -07:00
Fabrice Di Meglio
e3bf88da23 Fix bug #5262565 Need to remove CharCount TextDirectionHeuristics
- update unit tests too

Change-Id: I7c518f58a9f17cb679bc3913bdd38243f7ad2195
2011-09-06 11:08:45 -07:00
satok
dbfba8560d Add a function to check auxiliary ime.
Change-Id: Ibda3d0a11c7dd77aa1304d34fc858bb7d941c626
2011-09-05 19:19:12 +09:00
Dianne Hackborn
6b0c11da5a Merge "Fix issue #5150899: Call activity takes 15MB we never get back." 2011-09-02 17:18:32 -07:00
Chet Haase
3c4ce72c4d Fix artifact with LayoutTransitions on disappearing window.
Logic in performTraversals() starts a transition running at the
proper time. But when a view's parent window goes away, this transition
may not start at that time because drawing gets canceled. But the
transition still hung off of the ViewRoot, waiting until some later
drawing operation to kick it off. This resulted in some weird animations
like the Recents panel appearing and having a single item animate off of it.

The fix is to delete pending transitions when drawing is skipped.

Change-Id: I3ab7702c16e069644a163424f977350743e2cecc
2011-09-02 16:10:43 -07:00
Dianne Hackborn
5d927c2d8e Fix issue #5150899: Call activity takes 15MB we never get back.
Persistent process can no longer use hardware acclerated drawing
when running on a low-memory device.

Change-Id: I3110335617af1c98fcede9bf41f4a1d0c20d0e87
2011-09-02 12:22:18 -07:00