Commit Graph

3690 Commits

Author SHA1 Message Date
Fabrice Di Meglio
07ce0ca265 Merge "Fix bug #7419054 TextView Drawables resolution is broken in RTL mode" into jb-mr1-dev 2012-10-26 15:18:30 -07:00
Fabrice Di Meglio
1957d281ea Fix bug #7419054 TextView Drawables resolution is broken in RTL mode
- check layout direction previous value in the onResolveDrawables(int) callback
- dont do any Drawables resolution if we cannot resolve the layout direction
- also remove unnecessary call to resolveRtlPropertiesIfNeeded() in ViewGroup when
  adding a child as the call to resolveRtlPropertiesIfNeeded() will be done into
  the measure() call itself later

Change-Id: I62237af3d307dfea203f7f2865551d1c61a0e0b8
2012-10-26 10:55:02 -07:00
Jeff Brown
92130f6407 Add MediaRouter API to get presentation display.
This new API makes it possible for an application to ask on
which Display it should show a Presentation based on the currently
selected media route.

Also added a new API on DisplayManager to query displays that
support a certain category of uses.

Improved the documentation of the Presentation class to explain
how to choose an appropriate Display for presentation.

Bug: 7409073
Change-Id: Iab451215e570ae55f3718fc228303143c800fe51
2012-10-25 20:31:21 -07:00
Fabrice Di Meglio
3e297339f8 Merge "FIx bug #7414801 Should make private and final View.TEXT_DIRECTION_DEFAULT and View.TEXT_ALIGNMENT_DEFAULT constants" into jb-mr1-dev 2012-10-25 11:41:20 -07:00
Fabrice Di Meglio
72898e9828 FIx bug #7414801 Should make private and final View.TEXT_DIRECTION_DEFAULT and View.TEXT_ALIGNMENT_DEFAULT constants
- made them private and final
- fixed comment

Change-Id: Ia1d22329edb7ac26e7bcd0489770a99ad41c4f0e
2012-10-25 11:22:39 -07:00
Romain Guy
9933331506 Merge "Ensure we have a GL context before deleting View layers Bug #7391098" into jb-mr1-dev 2012-10-24 13:50:45 -07:00
Jeff Brown
f0681b34df Secure windows, secure surface views and secure displays.
Add new API to determine whether a display is secure.
Add new API to make a SurfaceView secure.
Clarify documentation.

Bug: 7368436
Change-Id: I7068c34c910e43b4bc72e43fa0dded59a25f0fe2
2012-10-23 20:37:40 -07:00
Romain Guy
bd17bd3431 Ensure we have a GL context before deleting View layers
Bug #7391098

The existing code was doing a make current to guarantee we have a
current context. This can however fail when the surface is destroyed
which could lead to GL calls without an EGL context, and therefore
potential leaks. This change fixes the issue by using a technique
found in HardwareRenderer.destroyHardwareResources(). If the surface
is not available then we use a special 1x1 pbuffer as a way to get
a valid context.

Change-Id: I716d3799bf90120d793d76e90a83956837ecd491
2012-10-23 19:17:15 -07:00
Craig Mautner
6757572b39 Merge "Add throwing InvalidDisplayException from addView." into jb-mr1-dev 2012-10-23 16:53:32 -07:00
Chet Haase
fbba753f62 Merge "Handle offscreen animations correctly" into jb-mr1-dev 2012-10-23 15:46:04 -07:00
Romain Guy
b75ade9cce Merge "Use existing display list to render the resize buffer Bug #7400903" into jb-mr1-dev 2012-10-23 15:41:42 -07:00
Craig Mautner
6018aeec27 Add throwing InvalidDisplayException from addView.
Throw an InvalidDisplayException to addView if the display being
added to has been removed. Handle this exception in Dialog.show()
by removing the view after it has been added and rethrow the
exception from there.

Add javadoc to ViewManager.addView and Presentation.show explaining
the new exception and how best to handle it.

Bug: 7368565 partially fixed. It remains for the Videos app to
handle Presentation.show throwing the InvalidDisplayException.

Change-Id: Ib4303c9b3f7bf7a0cfa95d19bd60a0c128658c48
2012-10-23 15:34:29 -07:00
Chet Haase
3561d062ff Handle offscreen animations correctly
A bug in software rendering caused animations on views that are offscreen
to not get drawn, therefore the animation doesn't continue (since old-style
animations depend on the logic in the drawing code to keep running). Fix is
to special case the isAnimating case in ViewRoot to go ahead and schedule
a traversal even if the dirty rect does not intersect with the visible region.

Issue #7396035 Animations starting offscreen don't draw run/end/draw properly (sw rendering only)

Change-Id: Iae25b3a424ddc5a16ba431ecd68cf42d5500db3f
2012-10-23 15:30:15 -07:00
Jamie Gennis
cd79b35c38 Merge "Surface: add the PhysicalDisplayInfo#secure field" into jb-mr1-dev 2012-10-23 15:22:37 -07:00
Jamie Gennis
95429c3d1b Surface: add the PhysicalDisplayInfo#secure field
Bug: 7368436
Change-Id: I38bf7bbfca354380c30da7516f628cf40416d350
2012-10-23 15:07:22 -07:00
Romain Guy
3a2d6aaf8e Use existing display list to render the resize buffer
Bug #7400903

Change-Id: Ia2e534e47b4f67c280e2de7ce99cae0202751c42
2012-10-23 13:25:13 -07:00
Romain Guy
41308e2936 Properly draw the window background on window resize
Bug #7385090

This change gets rid of two silly asumptions:
- That a layer needs to be cleared with opaque black (it shouldn't,
it's already cleared to transparent and the view will cover it up
with its own background)
- The the clip should be dirty at the beginning of a frame only
when the render target is opaque

Change-Id: I415b6d3cab196057fb0281419a53fef601a44e28
2012-10-22 20:02:43 -07:00
Jamie Gennis
23d622418b Merge "Set the secureness when creating displays" into jb-mr1-dev 2012-10-22 13:49:35 -07:00
Adam Powell
5311c4476e Remove View's long press callbacks when ACTION_CANCEL is received
Bug 7391646

Change-Id: Icd100d3eff63a54c892367fb70dec517257a01f8
2012-10-22 12:15:49 -07:00
Daniel Sandler
2dd0c3a576 Merge "New lockscreen: allow search gesture from nav bar." into jb-mr1-dev 2012-10-22 07:59:18 -07:00
Fabrice Di Meglio
d3156a2a56 Fix bug #7164967 android.view.cts.ViewGroup_MarginLayoutParamsTest#testResolveMarginsRelative failures on JO
This was a regression introduced by a previous CL.

- we actually need to let the layout params resolution goes all the time
as we dont have any "isResolved" state and a public API for doing its reset thru ViewGroup.

The current implementation is simple and works even if it is doing sometimes a bit more
than it should really do. This is a well conscious tradeoff.

Change-Id: I5c4d532331b3970dfe88f016bc305cbc4a0d83f1
2012-10-19 18:46:43 -07:00
Jamie Gennis
7bbf8163fb Set the secureness when creating displays
This change makes use of the new 'secure' argument to the
ISurfaceComposer::createDisplay method.  In this change both the overlay and
wifi displays are hard-coded to be non-secure displays.

Bug: 7368436
Change-Id: Ib65312f2adab5104d8deefbfc32af9dc106a9129
2012-10-19 18:34:35 -07:00
Daniel Sandler
d5483c3157 New lockscreen: allow search gesture from nav bar.
Show a lights-out pip if home is invisible but search is
still OK.

Change-Id: Ifc69c12296cc8e8cf7c89dd06173d7abf499a878
2012-10-19 16:48:12 -04:00
Fabrice Di Meglio
398a6713c3 Merge "Fix bug #7367429 Popup window should get its direction from it Anchor View if it can" into jb-mr1-dev 2012-10-19 11:33:01 -07:00
Romain Guy
8b946c055d Merge "Defer layer rendering to avoid stalls Bug #7326824" into jb-mr1-dev 2012-10-19 10:40:28 -07:00
Craig Mautner
0ed07a0a30 Merge "Allow getDisplayContentLocked to return null..." into jb-mr1-dev 2012-10-19 09:27:06 -07:00
Dave Burke
09a5321c60 Merge "Revert "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.""" into jb-mr1-dev 2012-10-18 21:02:13 -07:00
Dave Burke
579e14016c Revert "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.""
This reverts commit 57fca90ac6

Change-Id: I21b007a7d150a4c23f25a706cdba5cb86198198f
2012-10-18 20:41:55 -07:00
Fabrice Di Meglio
b003e28c1d Fix bug #7367429 Popup window should get its direction from it Anchor View if it can
- set the popup layout direction depending on the anchor view's layout direction
(if not defined before)
- make first pass of ViewRootImpl.performTraversals() and configuration update
not override any layout direction that could have been set before

Change-Id: I8e86ca805f0caf52c058d06aa7861df56fb862e6
2012-10-18 18:02:56 -07:00
Fabrice Di Meglio
45c77ca0f6 Merge "Fix missing @hide on ViewGroup.resolveLayoutParams()" into jb-mr1-dev 2012-10-18 16:20:36 -07:00
Fabrice Di Meglio
1e0ed6b232 Fix missing @hide on ViewGroup.resolveLayoutParams()
- as we dont need this to be public

Change-Id: Ib8de262eec26d4785b13875d59599369b06a067d
2012-10-18 16:06:52 -07:00
Fabrice Di Meglio
07f85fecdd Merge "Fix bug #7374285 GridLayout layout param margins are broken in RTL mode" into jb-mr1-dev 2012-10-18 15:23:41 -07:00
Romain Guy
7c25aab491 Defer layer rendering to avoid stalls
Bug #7326824

When a layer is taken out of the cache and initialized it gets cleared
to prepare it for future rendering. This triggers the following sequence
of operations:

glBindFramebuffer(layer.fbo)
attach texture storage to FBO
glClear()
glBindFramebuffer(defaultFbo)

The clear forces a resolve on tilers which stalls the CPU for a little
while, thus producing jank during animations. This change moves the
clear to the next frame when we know we will have to execute a resolve
anyway.

Change-Id: Ic1939c25df20ed65a4c48dc81ee549b2cd8b6ec3
2012-10-18 15:05:02 -07:00
Craig Mautner
2d5618c221 Allow getDisplayContentLocked to return null...
... and check for null returns. This prevents DisplayContent objects
from containing null Display references.

Bug: 7368565 fixed.
Change-Id: I830fb4c1349204c366193657a95a92c48ccee66c
2012-10-18 14:16:43 -07:00
Fabrice Di Meglio
fcc3348f61 Fix bug #7374285 GridLayout layout param margins are broken in RTL mode
- resolve layout params in ViewGroup when layout direction is changed
- layout param resolution is checking the previous layout direction to
check if we need to resolve

Change-Id: I70af2ad2b4ec83c2ec6c93b3ff445852500d1687
2012-10-18 13:24:03 -07:00
Justin Ho
871a6d7d4f Merge "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."" into jb-mr1-dev 2012-10-17 15:55:15 -07:00
Justin Ho
4e360f0600 Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."
This reverts commit f49d835dfe

Change-Id: If0093f23d6458e53619220fbf0aa5f844ad2c790
2012-10-17 15:54:20 -07:00
Justin Ho
4db3165793 Merge "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height." into jb-mr1-dev 2012-10-17 15:53:02 -07:00
Justin Ho
f49d835dfe This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.
This reverts commit 57fca90ac6

Change-Id: I0fe25056cd54b8852b32ae4621e048d3f5c7d555
2012-10-17 15:50:48 -07:00
Chet Haase
9911d18f0e Fix for previous commit on non-interesecting invalidations
An error in the logic meant that some valid invalidations weren't getting through,
causing Launcher (for one) to get stuck sometimes.

Change-Id: I180622623b19770cd61034a5bd7991a5e2fd0a64
2012-10-17 14:37:48 -07:00
Chet Haase
d95316e2c7 Merge "Skip drawing offscreen objects" into jb-mr1-dev 2012-10-17 12:36:24 -07:00
Chet Haase
b78ee0ef60 Skip drawing offscreen objects
Previous logic in ViewRoot would schedule and perform a draw
when it was requested by offscreen objects. The problem was that the
logic checking for an interesection between the offscreen invalidation rectangle
and the onscreen display rectangle was flawed. The fix was to use the return value
from Rect.intersect() to do the right thing and skip drawing.

Issue #7366568 Offscreen invalidates can cause useless work for framework

Change-Id: Ie4e277c695dacee39848a8a223f0c4ee34d9bb4d
2012-10-17 11:32:01 -07:00
Fabrice Di Meglio
e9a33c6098 Merge "Fix bug #7363252 Popup and Dialog UI widgets should be RTL aware" into jb-mr1-dev 2012-10-17 11:18:13 -07:00
Fabrice Di Meglio
161cfef36d Merge "Fix bug #7363015 Padding is wrong for first item in a ListPopupWindow" into jb-mr1-dev 2012-10-17 11:13:20 -07:00
Justin Ho
144d405511 Merge "Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."" into jb-mr1-dev 2012-10-17 10:50:39 -07:00
Justin Ho
57fca90ac6 Revert "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height."
This reverts commit dcf59629be

Change-Id: I27426a0ffe993973ffb0b05ce1ed3afe73fcd87d
2012-10-17 10:47:39 -07:00
Fabrice Di Meglio
cf12897cf5 Fix bug #7363252 Popup and Dialog UI widgets should be RTL aware
- set the Configuration's layout direction in ViewRootImpl instead of PhoneWindow$DecorView
- then remove unecessary API on ListPopupWindow for passing the layout direction

Change-Id: Ia2c6e4aa8cb82aed9b088bc3b8004ea0a1ded1f3
2012-10-16 20:59:04 -07:00
Fabrice Di Meglio
a7e0bcd872 Fix bug #7363015 Padding is wrong for first item in a ListPopupWindow
- when adding a View to a ViewGroup reset all RTL properties of the View
to be added instead of only resetting its layout direction

Change-Id: Idfa3acce1700c52e20ebfd4c9c4f4ecb3c1d7520
2012-10-16 20:11:19 -07:00
Jim Miller
8e6145013a Merge "This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height." into jb-mr1-dev 2012-10-16 19:22:37 -07:00
Jim Miller
dcf59629be This restores JB MR0 behavior where the framework throws an exception for improper layouts that are missing layout_width and/or layout_height.
Revert "Revert "Revert "Fix for bug 6050753."""

This reverts commit 6868d6f349

Change-Id: I8843d92dba14c82f06d9ee59517cf11b2abbbf04
2012-10-16 19:01:32 -07:00