Commit Graph

3698 Commits

Author SHA1 Message Date
Svetoslav Ganov
0f4d5df5d8 Merge "View's visibility to the user not checking predecessor alpha." into jb-mr1-dev 2012-11-05 17:03:37 -08:00
Svetoslav Ganov
11f19f15ea View's visibility to the user not checking predecessor alpha.
1. A view is visible to the user if is attached to a visible window,
   its visibility is VISIBLE, its alpha is not zero, all its
   predecessors have visibility VISIBLE and non zero alpha, the
   view is not fully covered by predecessors and is within the
   screen.

   The function that computes whether a view is visible for
   accessibility purposes was not taking into account the
   predecessors' alpha.

bug:7454355

Change-Id: I7609f4366da260091d68e5b25832498843fd3d0a
2012-11-02 16:39:16 -07:00
Svetoslav Ganov
f74d0c39b6 Merge "Polish user selector accessibility." into jb-mr1-lockscreen-dev 2012-11-02 15:55:11 -07:00
Svetoslav Ganov
fc9c4cd51b Polish user selector accessibility.
1. The current user was not announced as such.

2. The event for a user switch was not sent.

Change-Id: Ib3caf1f9e93ea1f0b5450246601bc37f416be6da
2012-11-02 15:32:25 -07:00
Svetoslav Ganov
a94c3194ff Cannot click on partially visible views in touch exploration.
1. In touch exploration mode the system clicks in the center of the
   accessibility focus rectangle. However, if this rectangle is only
   partially shown on the window or on the screen the system may not
   be able to perform the click, if the accessibility focus center
   is not on the screen, or click on the wrong window, if the access
   focus center is outside of the window.

   This change clips the rectangle to the window bounds which and the
   display bounds. This will ensure no clicks are sent to the wrong
   window and no clicks are sent outside of the screen.

bug:7453839

Change-Id: I79f98971e7ebcbb391c37284467dc76076172c5f
2012-11-01 16:27:05 -07:00
Romain Guy
3d1728c03a A new clock widget to create lock screen appwidgets
This new widget replaces DigitalClock. It listens to all the correct
system events and offer the ability to customize the formatting
patterns in 12-hour and 24-hour modes. It also supports fixed
time zones to create world clocks.

One more step towards becoming ClockOS!

Change-Id: I677e5dfca8cd8c8d1f8c49e54d7507f4d1885bf4
2012-10-31 20:31:58 -07:00
Fabrice Di Meglio
68b14054b9 Merge "Revert "Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)"" into jb-mr1-dev 2012-10-26 18:01:55 -07:00
Fabrice Di Meglio
bb4b601673 Revert "Fix bug #7325234 LayoutParams are not resolved correctly (Settings apps looks broken on Manta in Arabic)"
This reverts commit 6bf6eb7d5f.
and also fbc21e126f

I have also removed all unnecessary calls to resolveLayoutDirection(int). This is possible as
we are resolving layout params on every child of a ViewGroup as of commit
fcc3348f61

Change-Id: I262a375b03fcc3c9261cbe2edebb6ec42ec2e186
2012-10-26 17:13:33 -07:00
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