The window manager now maintains and reports a new formal
"overscan insets" for each window, much like the existing
content and visible insets. This is used to correctly
position the various UI elements in the various combination
of layout options. In particular, this allows us to have
an activity that is using fitSystemWindows to have the content
of its UI extend out to the visible content part of the screen
while still positioning its fixed UI elements inside the
standard content rect (and the entire window extending all
the way into the overscan area to fill the screen as desired).
Okay, maybe that is not written so clearly. Well, it made
my head hurt too, so suffer!
The key thing is that windows now need to know about three
rectangles: the overall rectangle of the window, the rectangle
inside of the overscan area, and the rectangle inside of the
content area. The FLAG_LAYOUT_IN_OVERSCAN option controls
whether the second rectangle is pushed out to fill the entire
overscan area.
Also did some improvements to debug dumping in the window
manager.
Change-Id: Ib2368c4aff5709d00662c799507c37b6826929fd
Allow fullscreen windows to specify crossfade or jumpcut animations
that override the default rotation animation. Only if the incoming
and outgoing topmost windows are fullscreen and both specify the
same animation to use.
Fixes bug 8182773.
Change-Id: I6b3c0020d7bd2cdfba5c66189e114ec62cd54fcf
This was just casting and calling the float version anyways, which Java does
automatically.
Bug: 8153162
Change-Id: If2f99995ff38b92e40777896baf6694786031898
bug:8037003
-Merges replay methods
-Bounds checking for DrawBitmapMesh, DrawRects and DrawDisplayList
-Use clip as bounds for otherwise unbounded draw operations
Clip-as-bounds is correct for drawColor and functor, but other draw
operations (pos text, text on path, and layers) still need true bounds
calculation
Change-Id: I5d5149d2c624f01e3fe46628bf156e835e69b9d5
External bug: http://code.google.com/p/android/issues/detail?id=49379
Drawing was previously wrapped in a try/finally block which was silently
swallowing user code exceptions. For instance, if a View throws a
NullPointerException in its onDraw() method, the previous implementation
would silently crash in native code.
This change extracts the section that builds display lists into a new
method that does not contain any try/finally block.
In addition, this change logs any exception thrown while drawing
display lists.
Change-Id: I0abffa4c9183d41aac8b0f8442813e56b957f08f
The exposed APIs are slightly simpler than the full APIs used internally.
Only APIs useful to applications are exposed.
Change-Id: Ie03014628d40ad5ef63dedbc52ce3def84429d54
The window manager now keeps track of the overscan of
each display, with an API to set it. The overscan impacts
how it positions windows in the display. There is a new set
of APIs for windows to say they would like to go into the
overscan region. There is a call into the window manager to
set the overscan region for a display, and it now has a
concept of display settings that it stores presistently.
Also added a new "wm" command, moving the window manager
specific commands from the "am" command to there and adding
a new now to set the overscan region.
Change-Id: Id2c8092db64fd0a982274fedac7658d82f30f9ff
Eliminate the short period of time between the tap timeout and long
press causing onSingleTapConfirmed not to be dispatched when apps
expect.
Bug 8124095
Change-Id: I9841ab2a8eb3fee7d57e744e1c8e0e42e108d5f6
SurfaceControl is the window manager side; it can
control the attributes of a surface but cannot push buffers
to it. Surface on the other hand is the application (producer)
side and is used to push buffers to the surface.
Change-Id: Ib6754c968924e87e8dd02a2073c7a447f729f4dd
# Via Android (Google) Code Review (1) and Romain Guy (1)
* commit '10c0aa246d9b2633c6cb4e5b714abb0031a4f4cd':
Implement support for drawBitmapMesh's colors array
Bug #7146141
This new cache is used in a similar way to LayerCache. It helps
reuse already allocated stencil buffers and thus avoid churning
memory on every frame.
Change-Id: I19551d72da52c40039e65904563600e492c8b193
This reverts commit 6c0307dd0a, reversing
changes made to a2cd828b74.
Conflicts:
packages/SystemUI/res/values-sv/strings.xml
Change-Id: Ia178efe8b14751583d47b2826bfe3d3d5463dd2e
Previous code incorrectly included pivot point in calculation, which
resulted in offset rectangle
Issue #8178031 getHitRect() incorrect when view is transformed
Change-Id: Ie6c4c51614577d208016584cf1bf4eed570f730d
Loading of the resource id name was unnecessarily complex and
was generating spam in the log as a result.
bug:8153518
Change-Id: Ib2c1118fd36b86ba8ce803ba3190fa01ab06e8c3
- add RTL apis to ViewParent
- remove awful and performance bottleneck casts in View during LayoutDirection,
TextDirection and TextAlignment resolutions.
Change-Id: I92a56b16382e13c28c1dad35f6f205620eb01bfe
- Following disable and reenable of the WindowOrientationListener
the state was the same as before. State should be reset to default.
- Provide a Handler to the sensor task to deliver events on the
same Thread that WindowManagerPolicy operates on.
- Expand lock protection to all of WindowOrientationListener.
- Move WindowOrientationListener to policy package.
- Make SensorEventListenerImpl non-static.
Fixes bug 7964531.
Change-Id: I17cecf3d0b6d125cb3e4d7350c3adb3f62b684bd