History log of /frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
75b55d0846159543aafc1b7420915497fce9b3f1 04-Dec-2014 Svetoslav <svetoslavganov@google.com> Notify accessibility for window changes after an app animation end.

Accessibility layer keeps track of the introspectable windows. These
windows are received from the window manager which computes them after
an interesting window transition. The window manager was not sending
the windows to the accessibiltiy manager after an app animation is
completed and as a result the window location reported to accessibility
service was wrong which also resulted in wrong visible to user state
for the nodes in the window.

bug:18517058

Change-Id: I21d65a4e0c0dff9474f7cc47ea819ace5ac1e465
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
f8d77da969edc2f191d349f7d9a30d02edcbd388 11-Nov-2014 Jorim Jaggi <jjaggi@google.com> Improve lockscreen launch animations

- Add a timeout so if WindowManager "forgets" to tell that the
activity has drawn, we still unlock after 3 seconds, so the user
is not completely stuck.

- Use the screen height instead of the window height for the
translation animation.

- Don't run the animation if the attached window is not null. The
animation from the attached window will influence the transformation
as well, so there is no need to run an additional animation in this
case (apps with SurfaceView's had broken unlock transitions because
of this).

- If the starting window needs to go away while the unlock transition
is running, modify the existing animation such that it fades out in
the same transition.

Bug: 15991916
Change-Id: Ia5dfa31e1bc0d5745fe228e1daf08e268733b6f1
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
44f60cca7bb31e2f9b4b7bf25bb2e0cfb0e3e1e1 07-Nov-2014 Jorim Jaggi <jjaggi@google.com> Fix lockscreen launch animations once and for all

In SysUI, make sure not to dismiss Keyguard multiple times when just
waiting for a deferred dismissal, so WindowManager doesn't get
multiple calls to keyguardGoingAway.

Change heuristics how notifying Keyguard about activity drawn works.
Always notify Keyguard after executing an app transition, and notify
it also when not doing a transition after a startActivity call.

For that to work, update AppWindowToken.startingDisplayed also when
the window is displayed, but force hidden because of Keyguard.

Further, handle the case correctly when a window gets added during
the Keyguard exit animation by overriding the start time for the
animation of that new window. Also don't apply a transition animation
for a window when executing keyguard exit animation, so by removing
a starting window we don't break this animation.

Last but not least, tell Keyguard to start exiting immediately if
animations for exiting are disabled, like when going to phone/camera
on lockscreen. Before, we always had a delay of 1 second because we
waited for the timeout.

Bug: 1599196
Bug: 18272544
Change-Id: I596b2489f814b934abd256e16079d3d3f326e209
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
42d04db459e5a510c8c815c38e17e419c3e3b404 06-Nov-2014 Craig Mautner <cmautner@google.com> More fixes for keyguard animations.

Add a state machine for calling comeOutOfSleepIfNeededLocked() so
that it is only called after the lockscreen has started dismissing
but not before resumeTopActivityLocked(). Also keep
resumeTopActivityLocked() from being called from
comeOutOfSleepIfNeededLocked() recursively.

Have starting windows count towards notifying the keyguard that a
window has been drawn.

Do not update wallpaper animations based on their not being included
in the windows being animated if there are no windows being animated.

And always improve logging.

Fixes bug 15991916.

Change-Id: I0d21c5337f0e89d9eacc8dab2cdaa52fec43ac0b
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
9128396982233d6af49613231100f1bc4b6c477b 05-Nov-2014 Winson Chung <winsonc@google.com> Merge "Fixing crash in recents window transition. (Bug 18246975, 18159006)" into lmp-mr1-dev
276a6eb879801e7e7988ecb0e6f29241e9a52724 05-Nov-2014 Craig Mautner <cmautner@google.com> When keyguard exits use same anim for all windows

The entering animations were only applied to the incoming windows
one time. If those windows weren't drawn yet then they never had
an animation assigned.

Furthermore if a starting window was drawn in time it would get the
animation but its main window would not get it if it weren't drawn.
Even if an animation were assigned later they wouldn't be synced
with each other.

This change creates a single animation which is shared by all
incoming windows. As windows are drawn they can then animate with
the starting window.

(Also refactorings to eliminate redundant code and unnecessary
variables.)

Fixes bug 15991916.

Change-Id: I844d102439b6eda8c912108431916e04b12f7298
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
ab79fce2e71b6816b2b88b826ca723b3591f1e26 05-Nov-2014 Winson Chung <winsonc@google.com> Fixing crash in recents window transition. (Bug 18246975, 18159006)

The recents transition requires synchronizing the thumbnail header (the bar
that animates on top of the window that is being scaled/cropped) and the
application window. This change simplifies the code and removes the notion
of having another animator manage the same surface, and instead ensures that
the thumbnail animation has the same duration and that the thumbnail animation
is deferred and cleaned up one frame after the app transition is complete.

Change-Id: If8f348afccf59327187e8498eb451ba066600a41
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
9c79504225f60c72c947220b6aca928f11279e1c 29-Oct-2014 Craig Mautner <cmautner@google.com> Add enter-animation-done callback for system windows

Existing hidden methods allow activities to be notified when their
windows have completed animating in. This change adds that capability
to system windows using a ViewTreeObserver callback since system
windows lack an activity token.

The first subsystem to use this is the UserSwitchingDialog which was
previously using a 250 msec timeout to dismiss the dialog. That
deadline was often missed leaving the user with no dialog on the
screen during the transition.

Fixes bug 16661752.

Change-Id: I70789e0d9c07112f275e76fb82850926305f290d
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
49a2edf92ab9b02762a2c183809fdee55b0fcf40 25-Sep-2014 Craig Mautner <cmautner@google.com> Call Surface.release() for starting windows

If the window maanger received BinderDied for a starting window
before activity manager then it would null
AppWindowToken.startingWindow and not go through the
PhoneWindowManager.removeStartingWindow call later. That meant that
Surface.release() was never called from
ViewRootImpl.dispatchDetachedFromWindow(). Which in turn meant that
graphics memory was being leaked.

This change notifies the PhoneWindowManager to go through the
removeStartingWindow path when the starting window gets removed for
any reason.

This change also ensures that scheduleRemoveStartingWindow is
always called with the window manager lock held.

Fixes bug 17381033.

Change-Id: Ic6860d0e1410c9bb5053d85ae21a08b11f573b6d
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
0ed82e2c21f861ac4e1e6ae3f3fa821886a55a41 20-Sep-2014 Dianne Hackborn <hackbod@google.com> Work on issue #17381033: Program icon and shortcut disappear after...

...running monkey test overnight [FACTORY ROM BLOCKER]

Add surface tracing to debug output.

Change-Id: I65f7fc90c51b0805f7e0090141c33d6b60ccb3b4
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
ce4a0cf9cee73a2d6b1444d15d663e564a12593a 15-Sep-2014 Adrian Roos <roosa@google.com> Properly redispatch systemUiVisibility flags

Fixes two bugs introduced by change
I7bd32531130d199c0734ffcb800194e77b7e16c3:

When the system window insets consumed by DecorView
change as a result of changing flags, the insets must
be redispatched to the hierarchy.

Also fixes a bug where, as a result of removing the wrong
implication of the SYSTEM_UI_FLAG_LAYOUT_STABLE flag by
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS, the status bar was
being forced to black when returning from recents.

Bug: 17489047
Bug: 15046646
Change-Id: I127b0ff3b17c4873a7c28d67020f84298ed09db2
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
41a7b7911eb7f1253c9037e70a6ffca9c535898d 12-Sep-2014 Craig Mautner <cmautner@google.com> Add null checks to WindowState.getStack() calls.

Fixes bug 12786011.

Change-Id: I7fed856f8c96eec47df0912cea9bce705ecf690a
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
bb8c4834613207cf880e8491b33eb495cc268548 09-Sep-2014 Dianne Hackborn <hackbod@google.com> Merge "Add new wallpaper features for insets and offsets." into lmp-dev
067e5f68b9216b233df1c6529db182ff9b2887ab 08-Sep-2014 Dianne Hackborn <hackbod@google.com> Add new wallpaper features for insets and offsets.

Issue #17394151: WallpaperService / Engines need to get notified
of WindowInsets

Issue #17394203 Wallpapers need a system API to be shifted in order
to support burn in protection

Adds a new API on WallpaperManager to set additional offsets to
make wallpapers extend beyond the display size.

Insets are now reported to wallpapers, to use as they may. This
includes information about the above offsets, so they can place
their content within the visible area. And to help with this, also
expose the stable offsets APIs in WindowInsets which is also very
useful information for the wallpaper.

Another new API on WallpaperManager to set a raw offset to apply
to the wallpaper window, forcing it to move on the screen regardless
of what the wallpaper is drawing.

Fix wallpapers when used with overscan enabled, so they still extend
out across the entire screen. Conveniently, the above new window
insets information is very useful for this case as well!

And a new wallpaper test app for all this stuff.

Change-Id: I287ee36581283dd34607609fcd3170d99d120d8e
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
6f61204bcaa05ed846f67fd63769f63518e9ae85 07-Sep-2014 Craig Mautner <cmautner@google.com> Lock down window manager while changing opacity

Surfaces were being modified after destroy(). The check for mSurface
being null was not done while holding window the window manager lock.
This change adds locking to the surface modification methods.

Fixes bug 17383628.

Change-Id: I12ebbddc0f2cd7b43659370fac2c4fb053999bb5
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
78505d8d096af2981fb39f1a03f9025fd04add77 02-Sep-2014 Craig Mautner <cmautner@google.com> Account for scaling effects when cropping

When a scaled window inherits the crop from an attached animating
window the scaling must be accounted for or the crop will obscure
the scaled window.

In the case of the bug that this CL fixes, the SurfaceView containing
a video was scaled down from 1920x1080 by a factor of 0.562 to fit in
1080 width. The crop applied to the window was 1080 but this was passed
to surfaceflinger which ended up cropping the width to 608 due to the
scaling.

Applying the scaling factor to the crop rectangle fixes this bug.

Fixes bug 16334217.

Change-Id: Iafefe43d3696d9fbff01a3666096348468a41e1a
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
868d74536e60914acb4f63d11e2d32417b78382e 28-Aug-2014 Chris Craik <ccraik@google.com> Force translucency for inset windows

bug:17289912

Change-Id: Ic800f07bce78e0a3538a6afd7ec293d9f8ddad9d
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
a4ccb86ddc8f9f486aee25fb836f4aff97bf7679 23-Aug-2014 Winson Chung <winsonc@google.com> Multiple performance changes to speed recents invocation/app launching time. (Bug 16987565)

- Reverting changes to the existing thumbnail transition to prevent breaking applications
that currently depend on that transition. As a result, we need to create a new, hidden,
aspect-scaled thumbnail transition, and instead use that thumbnail to animate the
recents header so that we don't have to wait to do that inside the Recents activity.

In order for this to work, we also have to ensure that the thumbnail surface destruction
is synchronized with the application that is currently closing (when going down to
recents) or opening (when coming back up). The current thumbnail is destroyed when the
animation ends, but that can be at least 1 frame before the surface for the animating
window is destroyed. We change this by deferring destruction of this thumbnail window
to the animation that is being closed.

Especially on the way up, not having to wait for us to hide the header before doing the
transition up can save us the duration of that first animation (> 100ms).

- Other optimizations:
* No longer creating a new stack view on each transition to calculate the target rect
* Removing unnecessary call to get the thumbnail when transitioning up/down (the actual
window does its own animation.
* We reduced numerous system calls per task by adding a flag to ignore home-stack tasks
and caching the activity label and icon (and task description icon). These caches
follow the same eviction schemes as the thumbnail and icon cache.

- Also tweaked the touch slop for the nav bar swiping gesture to prevent conflicting with
tapping on home (Bug 17109581)

Change-Id: Ica697aad788051a9203edd9351c583e1cb038a71
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
d47ad033c35b2b69fc0be2073c682c30c855c124 15-Aug-2014 Adrian Roos <roosa@google.com> Fix bars jumping to black on activity launch

During animations, the wallpaper crop is the
union of the start and end crop. This prevents
the system bars from jumping to black when an
activity with opaque bars is launched.

Bug: 16441036
Change-Id: Ic0f3bc2e83b9830514a3456a27ae6f23716f3240
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
76a1623afc170a13923b68f3256057d8adeb7937 08-Aug-2014 Jorim Jaggi <jjaggi@google.com> Preparations for lockscreen launch animations

- Update unlock animations to new spec to make the consistent with
lockscreen launch animations.
- Introduce disappearing motion for security views which runs before
we actually dismiss Keyguard.
- If a window is running the un-force-hide animation, treat as it
would have the wallpaper flag set so the wallpaper stays until
the animation is completely done.
- Run an animation on the wallpaper if the wallpaper is going away.

Bug: 15991916
Bug: 16234603
Bug: 15326120
Change-Id: I063aa4f269ddcf75b9a705e90f0c3056b541b642
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
c2f20b66fd28c10e2ec8654bd74cb501eb7f837b 08-Aug-2014 Amith Yamasani <yamasani@google.com> No need to send PRE_BOOT_COMPLETED for new users

Since the primary purpose is to upgrade databases, no need
to send this broadcast. If system apps care to be informed early
on new user creation, USER_INITIALIZE is an early broadcast.

Also remove some logs that spew when switching users.

Bug: 16846465
Change-Id: Ibd7f8630ce1f41f8cadbda616de05844b127d1a8
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
7699651ec4fb38efb868c075dfbe10ddc19a1d6a 24-Jul-2014 Antoine Labour <piman@google.com> Merge "WindowManager: fix clipping" into lmp-dev
7db8687d579c47ca5e45f3c50d39f0b324d11c22 24-Jul-2014 Antoine Labour <piman@google.com> WindowManager: fix clipping

The animation code has some logic to avoid committing a new clip rect
when it hasn't changed. However, when we destroy the SurfaceControl and
recreate it later, we failed to reset the cached value, so if the clip
rect hasn't changed, we never set it on the new SurfaceControl.

This patch resets the cached value when creating the SurfaceControl.

Change-Id: I355576709834dd80994c7564330a234b182800e6
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
d2a1eec400128f39e1b223a720a88dbd395f3e6e 09-Jul-2014 Sander Alewijnse <salewijnse@google.com> Add Device Policy API to disable screen capture.

WindowManager will set secure flag on SurfaceControl for
all windows of a flagged user to prevent screen capture.
API is consistent with the camera disable API.

Change-Id: Ib180f67f1ad827b6f4aca2af615274256cce58f4
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
4a0ffb004a62595b6aac598445908013ab9d9915 15-Jul-2014 Adrian Roos <roosa@google.com> Fix windows not showing when SHOW_WHEN_LOCKED changes

Removes WindowStateAnimator's copy of the window flags, which was
not updated when they changed.

Bug: 15574002
Change-Id: I1ca3f8d5b521727fcb8da14ff1f8231e47b1e9b9
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
49a22e82025ea947d81681a0abb7ef00600eac3b 13-Jul-2014 Alan Viverette <alanv@google.com> Add window elevation for dialogs, clean up surface insets API

BUG: 13211941
Change-Id: I9d605d0b2fb24f9bf8e73fbecd520b6b52ae5751
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
ccb11e183763db5cbaca96abe461adf480ed8e44 09-Jul-2014 Alan Viverette <alanv@google.com> Add API for specifying popup window shadows and shadow insets

BUG: 14569120
BUG: 13211941

Change-Id: Ia21596b25a0471344d42d59377074f67fce00042
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
eb94fa7975b1e8742f3b00cec6bd4f9d6b329e3a 04-Jun-2014 Dianne Hackborn <hackbod@google.com> Improvements to low power mode.

Add new public API for monitoring low power mode.

BatteryService now puts device in to low power mode when
battery level is low.

Window manager now watches low power mode to turn off
animations.

Modifying the animator scale now gets propagated to all
processes.

Change-Id: I8fa566994764ddd4e1977631e28381ab9409f8ee
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
e30e02f5d9a9141c9ee70c712d4f9d52c88ea969 28-May-2014 Dianne Hackborn <hackbod@google.com> Add system layer for voice interaction services.

New window layer that voice interaction service windows
go in to. Includes a new voice-specific content rectangle
that voice activities are placed in to.

Add specific animations for this layer, sliding down from
the top (though this can be customized by the voice interaction
service).

Also add the concept of activities running for voice interaction
services for purposes of adjusting the animation used for them,
again sliding from the top, but not (yet?) customizable by the
voice interaction service.

Change-Id: Ic9e0e8c843c2e2972d6abb4087dce0019326155d
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
3eeb4e6e40e2c23a0bcfe24937688bd437c15e2a 19-May-2014 Adrian Roos <roosa@google.com> Fix cropping for fullscreen windows

Bug: 15046646
Change-Id: I526c0044e3715a4096373b8bbbdbd0c864be2df9
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
a79501cd3843149f0759bd53d310cf97d4ee1c8d 27-Mar-2014 Craig Mautner <cmautner@google.com> am af89d7e2: am bffd4d43: Merge "Check return values for null." into klp-modular-dev

* commit 'af89d7e21f5d7cbe74ff4ce014d8ab2db1a6fc27':
Check return values for null.
d3849f54158bf1a370b9462b30ee36c15e7b02ea 27-Mar-2014 Craig Mautner <cmautner@google.com> Check return values for null.

When a Display has been removed there is a delay until all of its
windows have been removed. Therefore there is a possibility that
WindowState.getDisplayContent() returns null. Guard against that
possibility.

Fixes bug 13616765.

Change-Id: Ia2074d293b0e1bd4ca2cd14aeb4a2cc09ed9f41e
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
0bfae1063a9db09338dd87c3656445b439da5898 21-Mar-2014 Winson Chung <winsonc@google.com> Merge "Adding workaround for the status bar not reporting the correct system decor rect."
96d970c93e0ed639f0639a1ea17bb98acc703ff1 21-Mar-2014 Winson Chung <winsonc@google.com> Adding workaround for the status bar not reporting the correct system decor rect.

Change-Id: I2ea089e9d41deb2ac2a266694ac65d58830856f5
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
7bcdb33d859ffb70f235cc8e0f22a0598194ddf8 21-Mar-2014 Winson Chung <winsonc@google.com> Merge "Adding support for clipping window transition for alternate recents."
399f62052a88e5e7628b7312637ae54fbbaa4bec 19-Mar-2014 Winson Chung <winsonc@google.com> Adding support for clipping window transition for alternate recents.

Change-Id: Ic7df4e6c0396afc794ffc21694814c0a93f20f31
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
8e3feb15c5aec2c72b0ef120a1da325e1e8f0dda 24-Feb-2014 Svetoslav <svetoslavganov@google.com> Added accessibility APIs for introspecting interactive windows.

1. The old introspection model was allowing querying only the active window
which is the one the user is touching or the focused one if no window is
touched. This was limiting as auto completion drop downs were not inspectable,
there was not way to know when the IME toggles, non-focusable windows were
not inspectable if the user taps them as until a screen-reader starts
introspecting the users finger is up, accessibility focus was limited to
only one window and the user couldn't use gestures to visit the whole UI,
and other things I can't remember right now.

The new APIs allow getting all interactive windows, i.e. ones that a
sighted user can interact with. This prevents an accessibility service
from interacting with content a sighter user cannot. The list of windows
can be obtained from an accessibility service or the host window from an
accessibility node info. Introspecting windows obey the same rules for
introspecting node, i.e. the service has to declare this capability
in its manifest.

When some windows change accessibility services receive a new type
of event. Initially the types of windows is very limited. We provide
the bounds in screen, layer, and some other properties which are
enough for a client to determined the spacial and hierarchical
relationship of the windows.

2. Update the documentation in AccessibilityService for newer event types.

3. LongArray was not removing elements properly.

4. Composite accessibility node ids were not properly constructed as they
are composed of two ints, each taking 32 bits. However, the values for
undefined were -1 so composing a 64 long from -1, -1 prevents from getting
back these values when unpacking.

5. Some apps were generating inconsistent AccessibilityNodeInfo tree. Added
a check that enforces such trees to be well formed on dev builds.

6. Removed an necessary code for piping the touch exploration state to
the policy as it should just use the AccessibilityManager from context.

7. When view's visibility changed it was not firing an event to notify
clients it disappeared/appeared. Also ViewGroup was sending accessibility
events for changes if the view is included for accessibility but this is
wrong as there may be a service that want all nodes, hence events from them.
The accessibility manager service takes care of delivering events from
not important for accessibility nodes only to services that want such.

8. Several places were asking for prefetching of sibling but not predecessor
nodes which resulted in prefetching of unconnected subtrees.

9. The local AccessibilityManager implementation was relying on the backing
service being ready when it is created but it can be fetched from a context
before that. If that happens the local manager was in a broken state forever.
Now it is more robust and starts working properly once the backing service
is up. Several places were lacking locking.

bug:13331285

Change-Id: Ie51166d4875d5f3def8d29d77973da4b9251f5c8
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
edb67190d65659ff1da563f1d081d9429bd31a31 18-Mar-2014 Wonsik Kim <wonsik@google.com> Merge "Revert "VideoPlaneView initial implementation""
475e3f0e887cd23d3107acc06d29d440c60fbecf 17-Mar-2014 Wonsik Kim <wonsik@google.com> Revert "VideoPlaneView initial implementation"

This reverts commit 5f8aa4142919b3001fd2621f7acd5f609a5129a5.

Change-Id: I161748f365512c5e24acba2c3d9ebd9405fa8e3f
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
a9499d704c1a196b1c0bf8317b71e4f7ddd3f75d 27-Feb-2014 Wonsik Kim <wonsik@google.com> Merge "VideoPlaneView initial implementation"
5f8aa4142919b3001fd2621f7acd5f609a5129a5 18-Feb-2014 Wonsik Kim <wonsik@google.com> VideoPlaneView initial implementation

Note that eventually VideoPlaneView should not inherit from SurfaceView.

Remove a few trailing spaces too.

Change-Id: Ia0a461169d560435a827861be2cc15f1e3ee68fa
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
95da1087ed3c7b9983b571bc5409827ae390f15f 25-Feb-2014 Craig Mautner <cmautner@google.com> Clean up activities and displays when done

More maintenance fixes.

Fix bug 13157352.

Change-Id: Ic86d39a84452a1cf1dc1762cec517b419ad0a852
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
c2c0a61cf5f779b4726f089f28d966c03ccbba54 21-Feb-2014 Craig Mautner <cmautner@google.com> Add copyright notice to files missing them.

Fixes bug 13121968.

Change-Id: Ifd86581178e7e98bd72b832020e7c8379d40b2de
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
71dd1b63436e9cdd5cbd2d42cd5841d497da8238 19-Feb-2014 Craig Mautner <cmautner@google.com> Set the new SurfaceControl opaque flag.

Converts surfaces from transparent to opaque and opaque to transparent
without creating a new surface. Uses the new SurfaceControl.setOpaque
method.

Fixes bug 12387406.

Change-Id: I669c064e622e211b00b1585183a488d5b3f4b778
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
9ef471f7f2f59de032d7cb9c3c7241486109979e 07-Feb-2014 Craig Mautner <cmautner@google.com> Don't remove Activities and Tasks until animation done

Just like stacks and displays, activities and tasks need to stick
around until animations have completed.

Change-Id: I54fe8f6855d60cbc3a25cbc6e762defd5ac50bf5
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
1bf2b873470d2ba8a4ac218da73516cc2b20aa76 06-Feb-2014 Craig Mautner <cmautner@google.com> Defer detach until animations are complete.

Allowing the detach of ActivityStack from DisplayContent to happen
immediately was causing all sorts of problems associated with not
having a Display to complete the animations.

Waiting for animations to complete before either the detach or the
display removal fixes those problems.

Change-Id: I8a5663bfac5c3c1084ff4fcc451e0e38e8080265
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
df88d73092c62a1a3cd2b2056ca63ae2e70cc238 27-Jan-2014 Craig Mautner <cmautner@google.com> Add IIntentSender to ActivityContainer.startActivity

PendingIntents and IntentSenders can now be launched. Still does not
work once the host activity has been paused and resumed.

Window manager TaskStacks now exist independently of Displays and app
windows persist after Displays are removed below them. Attaching the
stack to a new Display does not yet restore the windows to it.

Fixes bug 12747909.

Change-Id: I509007ee23fda400b353f483cf6ecce08177763b
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java
9158825f9c41869689d6b1786d7c7aa8bdd524ce 22-Nov-2013 Amith Yamasani <yamasani@google.com> Move some system services to separate directories

Refactored the directory structure so that services can be optionally
excluded. This is step 1. Will be followed by another change that makes
it possible to remove services from the build.

Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
/frameworks/base/services/core/java/com/android/server/wm/WindowStateAnimator.java