History log of /frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d3ec507160eec964f687d3b03b0f126b3394e95f 29-Apr-2016 Jorim Jaggi <jjaggi@google.com> Fix minimized dock stack for translucent activity over home task

Previously, we only looked at whether home task is going away or
getting visible. This doesn't work anymore, as we also need to
un-minimize docked stack if another task is visible with translucency
over the home task.

Change-Id: I993f58a25d99d2ef9f562f7d1587c2dec0d05142
Fixes: 28434466
Fixes: 27906038
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
363ab98fced07bf7647355367be9e6ef76751450 27-Apr-2016 Jorim Jaggi <jjaggi@google.com> Fix regression with docking from recents transition

Because we move the task to the front in startRecentsActivity, we
always overrode the app transition type. Instead, we should remove
this logic and keep a flag whether the animation was prolonging was
finished already. If it was finished already, don't start the
prolonging when starting the transition.

Bug: 27154882
Change-Id: I1cd9e323867726ebd4b131ed5c13c3834d0f1107
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
a20eeda52951021da758fefba7bf956c9c9d15a2 21-Apr-2016 Jorim Jaggi <jjaggi@google.com> Fix a few weird state issues from race-conditions

- When starting another transition while the dock transition
is already set, always override that because that transition
starts prolonged animations which will never be ended.
- Only dock if we get a good UP event.

Bug: 28257206
Change-Id: Icabfcf475f419696d2bcff8fbb53cf3b29dedd69
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
b20247636b0e0a75edcd327a047b9ea7a9d21b77 06-Apr-2016 Winson <winsonc@google.com> Disable landscape aspect-scaled behavior for TV.

Bug: 27923205
Change-Id: Ibe45ba62a9de9c03480844235efc97e8b8299e61
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
1f458fb6a1fbb8ec693d10f195b99310bcfd34d0 26-Mar-2016 Jorim Jaggi <jjaggi@google.com> More transition fixes

- Set correct clip mode for clip reveal animation
- When moving downwards on a curved path, go down first and then
horizontal.

Bug: 27154882
Bug: 27607141
Bug: 26559810
Change-Id: I0efc073990f7b6a88746ca1e5c68b1fdb0db116d
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
0907200095ec73e71c6520580a9b82126058ddf2 26-Mar-2016 Jorim Jaggi <jjaggi@google.com> Fix thumbnail disalignment on curved paths

Bug: 27607141
Change-Id: I146deaa6ce049f27165a236b3aef95b9d4694ced
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
c69bd2246f4ec5000591fdc381f84cd90be85b7f 15-Mar-2016 Jorim Jaggi <jjaggi@google.com> Implement transition for docking task in recents #6

- Use a future to provide the app thumbnail so the app can restart
in parallel when recents draws the bitmap (extremely expensive).
- Don't call startRecents from AM when recents is already running - this
messes up the transition information.
- Make sure to put the task into resizing mode if it needs to be restored
from the disk.
- Some minor fixes for the transition animation spec.
- Add NO_MOVE_ANIMATION to recents flags to prevent wallpaper
flickering.

Bug: 27607141
Change-Id: I7d0c75b88775ab467927b8cf94303ddb60222e7f
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
787e9dd6c81a2db27cd002ca6672be4279cabe88 15-Mar-2016 Jorim Jaggi <jjaggi@google.com> Implement transition for docking task in recents #5

- Move task along a curved path.

Bug: 27607141
Change-Id: I945071de55efed0d327b68045e48fea6989adf63
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
8448f339f9207aa1e554b1a1e537ce269462807a 14-Mar-2016 Jorim Jaggi <jjaggi@google.com> Implement transition for docking task in recents #4

Convert aspect scaled animations from using scaling to achieve
the translation to use translation animations directly. We set
the pivot point to the middle of the thumbnail and then manually
translate the surface.

This will allow us to use curved motion in transition when docking
a task from recents.

Bug: 27607141
Change-Id: I5ef3bf2352baace2a3829097d2d7da8f04857ec6
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
de63d441d7daf0503bcc6d5fd3f4f7efe06e23d3 14-Mar-2016 Jorim Jaggi <jjaggi@google.com> Implement transition for docking task in recents #3

- Implement clipping for thumbnail.

Bug: 27607141
Change-Id: Ic3ba0acf685341ad715fae1601fad5eba1a93e44
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
192086eb8aff3fb873a7e03ade0b81652aacf25f 11-Mar-2016 Jorim Jaggi <jjaggi@google.com> Implement transition for docking task in recents #1

- When the docking transition is happening, defer updating
the bounds of the home stack until the transition is done.
This is to preserve the scrim which is drawn in the recents
activity.
- Use the PROLONG_AT_START infrastructure to hide the task
in recents when starting the app transition.
- When recents finally get resized at the end of the transition,
reset it's draw state so we don't move the old surface around,
and the new surface gets drawn at the new position, to avoid
flickering.
- Remove hack around not layouting docked divider if it's not
visible, it's not needed anymore and resulted in a wrong
initial position.
- Fix animation selection for docked stack divider.
- Make sure win.moved() always gets called.

Bug: 27607141
Change-Id: I76c35f09461f044a90e2c88335008284b5839cc0
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
941a1f81b0f50ff219a38476ffdba062b81d2fc4 25-Mar-2016 Winson Chung <winsonc@google.com> Merge "Don’t scale task thumbnails." into nyc-dev
217009356efa2b854ab3981dff8d315a0d679c73 25-Mar-2016 Winson <winsonc@google.com> Don’t scale task thumbnails.

- Changing task view thumbnail layout. In portrait, scale the thumbnail
to width for portrait screenshots, and apply the same scale to
landscape screenshots. In landscape, scale screenshots up to 1:1, and
tweak the app transition to clip the sides instead of scaling.
In both orientations, fill with the background color in the remaining
space.
- Moving some resources related to the title bar to be calculated
programmatically so that we can have different header bar sizes which
completely overlap the action bar in the screenshot in each
orientation.
- Constraining the task stack width in landscape to portrait

Bug: 27504677
Change-Id: Ic9b6fdde6dd728d9f2d20a8b89c05b3a350edfbf
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
6a7c90a12b5e5250e0350d35ca6547b26630653f 11-Mar-2016 Jorim Jaggi <jjaggi@google.com> Implement clip modes during animation

Introduce modes how surfaces are clipped to the stack bounds
during transitions.

Use setFinalCrop to implement STACK_CLIP_AFTER_ANIM.

Add logic to determine which stack clip mode to use.

Bug: 26559810
Change-Id: I8edc47de3aaf1ef12055cefd8ceb8df536c5109a
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
f97ed9271fef192f5411206e781eb3519c144ace 19-Feb-2016 Jorim Jaggi <jjaggi@google.com> Improve maximizing dock/clip reveal animation

There was a very visible hole at the end of the transition when both
the docked stack expands and the other app is doing a clip reveal
animation, but only if the app had to travel a far distance to
meet it's target rectangle.

To fix this, we interpolate between two animation curves for maximizing
divider: One is the original curve, and the other one is an adjusted
one which simulate if the divider would start at the edge of the app
surface that plays the clip reveal animation. At the start of the
animation, we use the original curve, but then about in the middle of
the animation we interpolated towards the adjusted curve, so the divider
meets the edge of the app surface that plays the clip reveal animation,
eliminating that gap while still preserving the overall motion.

Bug: 27154882
Change-Id: I37716588f88ddc643ed6176c2ccd56ca174e8919
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
8fe7e0a88ecc4a995a3a86b2ef60143fb0ffa1b0 13-Feb-2016 Jorim Jaggi <jjaggi@google.com> Fix clip reveal animation in docked window case

- Move ClipRectTB/LRAnimation to wm package, because that's the only
place we use it.
- Extend ClipRectTBAnimation to combine it with translation animation
so the clipping gets applied after the translation.
- Fix clip reveal transitions when a window is docked.
- Make the docked divider minimizing animations synchronized with clip
reveal animation.

Bug: 27154882
Bug: 22174716

Change-Id: If5c94c777f3b51c6f53f6f34cc261bf3439cfc88
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
42625d1bc7ef99c4d4435e8cdebfe3eee57b8d97 12-Feb-2016 Jorim Jaggi <jjaggi@google.com> New behavior for docked stack when going home

- We keep the docked stack visible when home task is visible even
though it's not resizable.
- We introduce the a new concept called "minimizing" the docked stack,
which happens when going home. In this state, the docked stack is
clipped of almost completely.
- To achieve that, we introduce TaskStackBoundsAdjustController,
which adjusts the bounds of the docked stack when minimized. Also,
migrate the IME handling to this new class.
- We also need to inform SysUI that it is now minimized so it can
remove the drag affordance on the divider, and also make it a bit
smaller.
- When we detect an app transition, we check whether the home stack
gets visible/invisible. We then start an animation which runs in
sync with the normal app transition. For that we introduce
DockedStackDividerController.animate(), which performs the animation.

Bug: 27137961
Change-Id: I8623bc73cc6872bf28c5b1b8d5795974576811b2
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
c6c89a82144f59475242c75d67529fed943ae30b 29-Jan-2016 Jorim Jaggi <jjaggi@google.com> Fix transition to recents in docked mode

Transition for non-compatible apps will be handled in a separate CL.

Change-Id: I9c474f7aa394e4f3eacd1845c78bee5874bd8a59
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
84fa3351a21b37d02fafd634a8de65cf6cd04c4d 26-Jan-2016 Filip Gruszczynski <gruszczy@google.com> Animate pinned stack resizing.

This introduces animating of stack bounds within window manager
module. It also uses this type of animation when moving an activity from
fullscreen stack to pinned stack.

Bug: 25672053
Change-Id: I75914a685d10021f8a7535b47ef12b6920b3fd5e
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
565a9dfcc0d18ac3fb2e47522dfaec1a2ce53600 22-Jan-2016 Filip Gruszczynski <gruszczy@google.com> Fix thumbnail header animation to follow the app window.

Bug: 25822325
Change-Id: I14c4d877d493cd4fc9397b551099990c31fd471e
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
198dcbf5231761b7b644d9d7fbceb23e1f0f9aec 18-Jan-2016 Filip Gruszczynski <gruszczy@google.com> Fix several small logging issues.

This includes:
1) invert HIDE_STACK_CRAWLS to SHOW_STACK_CRAWLS so it's immediately
clear from the config file that something is enabled (if anything is
true).
2) Merge stack collection code into a method, so we can remove the
repeated code.
3) Remove copying of some constants in AppTransition and just import
them directly.

Change-Id: I3190ee0a5963720ac6285b4f48b2705e84f04ab5
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
4cbc315305379b0892cc4fb347d7050f3058f81e 07-Dec-2015 Filip Gruszczynski <gruszczy@google.com> Fix thumbnail header animations in freeform to recents.

The thumbnail header animations were constructed based on opening apps,
in this case Recents. This is obviously wrong, but used to work because
there was only one closing app in non-multi window world.

For the animation to work correctly, i.e. each thumbnail have its own
header animation, we need to correctly construct animations for either
opening apps or closing apps (depending on the transition type we are
seeing).

The CL also refactors handleAppTransition into smaller methods.

Bug: 24913782
Change-Id: I9f30a53d2f90f0628bb8c6238b2d0f35592b8f63
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
0bd180d8880b3d1b9677f154c034a2af840b4796 08-Dec-2015 Filip Gruszczynski <gruszczy@google.com> Improve debugging setup for window manager package.

This moves debug flags to a dedicated class and also provides a
mechanism to either have fine grained tags or one common tag for easier
grepping the logcat. This mimicks the approach in activity manager
package.

Change-Id: Ie8c08b9a3d8b182335ee5547ee05d21b5933db6b
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
65193999dab0d35811b346fef7ddd87498b56508 24-Nov-2015 Jorim Jaggi <jjaggi@google.com> Clear spec future when clearing transition

Sometimes I still see an old recents animation when the transition
failed before. I believe this is because we don't clear the future
when clearing the transition.

Change-Id: Ia9415fa68c8e472c15fabccaf788762186d2d35e
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
e3264d887085114f91cefc8e2977adf77dc42e2a 21-Nov-2015 Filip Gruszczynski <gruszczy@google.com> Fix thumbnail aspect invisible in single freeform to recents transition.

Change-Id: Ib73b436c5b201539ec279725467185f59d07a8b9
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
96daf32e4ed40619419ddef1cf96a870a3c0f193 19-Nov-2015 Filip Gruszczynski <gruszczy@google.com> Fix crash when docking from recents.

The crash was happening because we were sending a future from sysui, but
that future would always return null animation specs when docking. This
makes it returns proper specs in that case. However, we need to still
protect ourselves from null specs when executing the future.

Bug: 25765339
Change-Id: I02d842ea31503169f6e053a1695d8896d2e4d97c
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
1a4dfe593aafda057ac9cb3086b84588d88cd09f 15-Nov-2015 Filip Gruszczynski <gruszczy@google.com> Synchronize recents to freeform transition.

Recents to freeform animation must hang on the first frame and inform
Recents to hide its views. This mirrors the transition from freeform
to Recents, where the animation needs to hang on the last frame.

We need a special window flag for recents to force a redraw after the
animation launches. At this point Recents will become not visible
from the perspective of the activity manager, which would prevent
further drawing. We make recents ignore that and instead depend on
window visibility which will change after recents exit animation
finishes.

Bug: 24913782
Change-Id: Ief743b7e6fcebb3d8789d4745fb122ac607c1cf0
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
f74359d6067ab4188f9e014f121bd893573e4add 11-Nov-2015 Filip Gruszczynski <gruszczy@google.com> Fix thumbnail animation appearing on going home transition.

We were not dilligent enough about clearing old state in AppTransition,
so parts of old overrides would bleed to the new state. In order to
improve the situation, we have now a single clear method, that will
clear all state that should be restricted to a single transition.

Bug: 25630796
Change-Id: Icb402d05aaa2d1bd356d55e43502442d8fd8cd23
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
4310241ace41aaf6aee81c6e098246e59ebbabad 11-Nov-2015 Jorim Jaggi <jjaggi@google.com> Don't crash in AppTransition if future returns null

Change-Id: I7e101439093062d8976d74639229a7206308ad22
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
7cc7b08a40c1eb5b231cafc8c663312a7f8f19e1 10-Nov-2015 Jorim Jaggi <jjaggi@google.com> Make sure callback is only called once

Because we set it already in the future, it was called already
when we fetched the contents of the future, because it looked
like we overrided the callback. Instead, don't do callbacks
when calling the future, and save the callback in a separate
field.

Bug: 25568693
Change-Id: I8b7fd4248a2336470f8b7e12b64b0577dee96f6f
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
7248c568a01b4215380b0ca5d0e9583535ff2cf1 09-Nov-2015 Filip Gruszczynski <gruszczy@google.com> Fix no thumbnail animation from app to recents.

Bug: 25584190

Change-Id: Ifdb7e51f077ddeff907c1e23c925cd374ed794b0
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
2f7d292596bdba15e441046e3a2e047f37d6ea59 29-Oct-2015 Jorim Jaggi <jjaggi@google.com> Supply app transition specs with a future

Because we retain activity surfaces now, the app transition specs
which were calculated/generated after the onPause() call when going
from recents -> app were too slow. Instead, supply a cross-process
future, which gets fetched when the window manager is about to be
ready to execute the app transition. In practice, this still gets
executed immediately after the onPause call.

If we have a retained surface, this adds some latency, but since we
absolutely need the specs to execute the transition, we have that
latency no matter where exactly we generate the specs.

If we don't have a retained surface, the specs are not calculated on
the critical path, so it's faster.

Bug: 19940527
Change-Id: I80d2c6f6b3a6568a70339619ecefbc3bd8409bd8
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
14b4e57c1ba427f07186dbff8491242162028c71 04-Nov-2015 Filip Gruszczynski <gruszczy@google.com> Remove blink during the freeform -> recents transition.

We achieve the desired result by prolonging the last frame of the
animation until recents tells that it drew its content. The CL also
includes cleanup that moves code that depends heavily on WindowState
fields into that class.

Bug: 24913782
Change-Id: I5ee5b18504dd4a86c24033d17eca21cd31936bca
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
1a5203dfd5264104db018b8a09d50075b1af9b2d 30-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Hide recents during freeform to recents animation.

Bug: 24913782
Change-Id: I6a5d3a638640571a902e095c4c0650b88eea0fb6
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
d64ef3ef33c50a03b4be3b2baaa93aab7319fca8 28-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Freeform to recents app transition.

Bug: 24913782

Change-Id: I54fcbe38c51e5d75fa5ad2cb38de89d371b47bed
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
541f92cb19438678abfa888f1821ec2df334844b 26-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Clean up and document app transition animation loading.

We had three different sources of information about where the
animated window will start/end: appFrame, containingFrame,
containingWidth/Height. We can merge these into one, because
containingWidth/Height can be calculated from containingFrame and
appFrame is actually used only once and the containingFrame is not
used in the same scenario.

Also, documentation about the frames and insets. The rest is fairly
simple, but frames and insets need explanation of how they are used.

Finally, simplify naming.

Bug: 25246833

Change-Id: I0accc2f23792bca4e1b9941007c6249745e023ce
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
20070371f37db12d6f3e22763a0fbde4abdb2841 26-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Merge "Align the freeform to docking animation."
2dfcf840aa5d99aceab969e99a76625a12aa9b56 25-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Align the freeform to docking animation.

It was not aligned, because we didn't take into account that the
docked window will be cropped by the status bar and navigation
bar. We need to account for that when creating the animation.

Bug: 24913915
Change-Id: Idb82eefa14d65fe3bf6b25a9bd94c12dc8cbe648
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
dd2ff841d35e89c181416d37656f614b5ee27543 25-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Fix recents <-> full screen animations in landscape.

Somewhere along the way we lost the accounting for system decorations
when calculating the crop of the application window during the
recents to/from full screen app transition. This is necessary,
otherwise the animation starts/ends with a black navigation bar and
there is no sense of continuity with the recents thumbnail.

Change-Id: I75bc77cc4badca40b7c59ded39e0d4f72e36c739
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
828613605cff46930ba6e634a1547442f3908e6d 16-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Improve docked & freeform task to front app transition.

Current transition animation assumes that it will go into fullscreen
mode. This makes it aware of the docked stack and makes it translate
from the click position to the final position. It also is aware of the
freeform bounds, so it can translate from the click position to the
freeform position.

Bug: 24913915
Change-Id: Idd42369e3ea86f85de851e2797ca9cef4b3842c2
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
efd3d1b41f5c9ced2b6eed4ab6f95a267bcde9f2 14-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Fix misaligned from and to recents animation.

Because of the small translation that accounts for the status bar, the
animating window gets cropped at the beginning of from recents and at
the end of to recents animation.

Change-Id: I36878c6ff84903db05335890b03199878174c5af
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
e95b0aef6d259ff9322bd9a34e36e61737844eee 30-Sep-2015 Filip Gruszczynski <gruszczy@google.com> Improve visibility and layering of dock divider.

We adjust the visiblity of the divider now after every layout.

The divider was far too high in the priority list, based on the wrong
assumption that as a part of the system UI it needs to be constantly
visible. It should stay at the same level as applications, because it's
almost as a part of application.

Layering gets improved by having the relaunch animation receive zorder
top, just as if it was entering. The window that is being replaced fakes
this too, since it's not being animated, but should share the behavior.

Bug: 24500829

Change-Id: Iad3369a5ab6721b1bf7a94e8979dcf33e0805c7f
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
49b80afaf9e71d6b5d4cab26f1459d84d1070f19 24-Sep-2015 Filip Gruszczynski <gruszczy@google.com> Entry animation for docking windows.

We achieve the animation in the same way we would do that for maximizing
windows. We preserve the exiting window of relaunched activity until the
activity adds a new one. Then we animation the new window from the
bounds of the old window to the dock bounds.

This mostly reuses existing infrastructure for maximize animations, but
unfortunately needs scaling. The before window might be have one
dimension larger than after window and using cropping is not sufficient.

Change-Id: I9538ba983a0af1e64ea48aad6836173d6fd25f3b
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
24966d4789c7a2054650ec1a5ed7450f0d691224 06-Sep-2015 Filip Gruszczynski <gruszczy@google.com> Refactorings for Window Manager module.

Following improvements were applied:
* extract code from a very large method
WindowSurfacePlacer.performSurfacePlacementInner into
WindowsurfacePlacer.applySurfaceChangesTransaction; smaller methods
are easier to understand;
* WindowStateAnimator.showSurfaceRobustlyLocked can be privatized, it
is only called from one place; also there is unnecessary check for
whether mSurfaceControl is not null;
* prepareAppTransition code can be mostly moved into AppTransition;
it calls mostly methods from this class; as a result some methods
from AppTransition can be privatized;
* requestTraversalLocked can be moved into WindowSurfacePlacer, which
allows mTraversalScheduled to be a private field inside the placer;
this way WindowSurfacePlacer can nicely control and hide the need for
layouts.

Change-Id: I99006c859ef224f5dad933f5c15d2cb2b9738a9e
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
d143142f3d26564feda324968b0469c0f600f0ad 08-Sep-2015 Filip Gruszczynski <gruszczy@google.com> Fix thumbnail animation when going into fullscreen.

The fullscreen case depends on the default animation to be set, but only
multi window specs array was used.

Change-Id: I873bcf4168be76f8af66b2a1f50ba3e7e0969f6c
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
55a309f8e2a972a2f0ef0cd86736d3c2f47a75f6 05-Sep-2015 Filip Gruszczynski <gruszczy@google.com> Maximize animation when activity is relaunched.

This is the first step towards maximize operation animations. It
builds upon preserving old window and starts clip+translate animation
of the new window from the frame of the old window. It mostly uses the
existing infrastructure, expanding the idea of opening apps list to
include also relaunching apps and treating maximize operation as an app
transition.

Change-Id: I7be402bd329c2fe5bf7d53a2a910532286a8b194
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
1a1d8316757e9529154e297576a574a36f5a763f 27-Aug-2015 Filip Gruszczynski <gruszczy@google.com> Fix multi window thumbnail animation to the top of the screen.

mContainingFrame might be larger than mFrame in the free form stack. We
need to use the final frame to calculate where the animation goes. Also,
instead of detecting full screen and dialog windows, we can just check
if the window is free form to determine if we should use the multi
window animation.

Bug: 23554941
Change-Id: I71969aad5d39974b3da929aeed0b29ef9a71b516
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
170192ab55812bd25124cf602042477c3ea042d1 17-Aug-2015 Filip Gruszczynski <gruszczy@google.com> Improve animating from recents to multi window state.

Previously all windows would start animating from a single thumbnail
that was clicked. Now each animates from its thumbnail, including
properly animating the thumbnail header. This involves System UI
providing information about the thumbnail setup and app transition code
using it to setup each individual animation.

Change-Id: I6f45c94af6bcbf6898b8ed757d83505af99ed6b1
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
dfb25d3fd513ccbe9a403e7b9a21c44d8382c703 14-Aug-2015 Filip Gruszczynski <gruszczy@google.com> Make thumbnail header animation match multi window thumbnail animation.

Change-Id: Ib21c7c6300d58f08132aadae3aa68439793936d2
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
71b0d2dba06bbb17b92b830c4adb795ad0211922 13-Aug-2015 Filip Gruszczynski <gruszczy@google.com> Thumbnail enter animations for multiwindow.

The multi-window differs from the full screen entrance animation by
using translation to make the window travel from the thumbnail to the
final position. It also takes into account the surface insets when
determining scaling animation. It doesn't use clipping at the moment,
but that would be a near future improvement.

Change-Id: I7f310850713448b820b9e94ac2f8fbf74563068c
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
9e2cf5be18b4a127a7e700c6bbc11d8c1d72f551 31-Jul-2015 Filip Gruszczynski <gruszczy@google.com> Make enter reveal animation be zorder top.

This fixes the bug where launcher icons become temporarily visible when
home button is pressed while other activity is starting. By having the
starting activity's animation be zoder top, it will continue to be drawn
on top of the launcher until it animates away.

Bug: 22809202
Change-Id: If5e3c09b7a5df4537c355f94e986766f77ad4943
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
35a57f81a963eaa3739cfcacd4f9f309d433487f 02-Jul-2015 Wale Ogunwale <ogunwale@google.com> Cleaned-up logic for determining clip rect for transitions animations.

Previous logic led to several edge cases which fixes sometimes broke
other edge cases. New logic uses the clip rect provided by the
transformation as-is and doesn't try to adjust it based on window
flags. Correct clip rect is set in
WindowManagerService#applyAnimationLock using the content insets
before the animation is loaded.

Bug: 21727851
Bug: 20652683
Bug: 19523205
Bug: 15046646
https://code.google.com/p/android/issues/detail?id=161362
Change-Id: I2d4ed6196edb8ee8c401fe9a242aec70d3494574
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
b00dbd47e3a69608daba6c5b8def5b8d9f359494 01-Jul-2015 Jorim Jaggi <jjaggi@google.com> Use correct starting size for clip reveal transition

Bug: 22174716
Change-Id: I807837d0c52f1e266204bb08391f8224dc3ff8c7
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
c554b77b7392b97e0f455d8276b739e16147d6df 05-Jun-2015 Jorim Jaggi <jjaggi@google.com> Skip first frame for app transitions when possible

In most of our standard app transitions, the first frame of a
transition results in the same contents on the screen. This is
inefficient, as we can directly skip to the second frame of the
transition, introduce no jank, but execute the transition 16ms
faster.

Change-Id: If58337eae5558eae3acced691ae01c769f0ec2b9
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
1d763a6d60c09e59b1aeba6a2cb009511323c08c 03-Jun-2015 Jorim Jaggi <jjaggi@google.com> Refinements for app transitions

- Use refined interpolator for most of the transitions which respond
to touch faster than a normal fast_out_slow_in interpolator.
- Tune clip reveal animation: Get rid of horizontal movement, only do
slight vertical movement, and make horizontal reveal animation faster
so there is a more staggered animation to resemble an opening paper

Change-Id: Id94328906f9b194fb97d702e9b102c7aeef96bb8
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
a48eadbeb6fa34f27d6db7de51d3c01972ea2ebf 15-May-2015 Wale Ogunwale <ogunwale@google.com> Send AppTransitionFinish notification when there was no animation

Activity#onEnterAnimationComplete() is the hook that we advise app
developers to use to know when they are allowed to start drawing
(so they don't collide with the window transition animation).
However, it's not invoked if the window transition has no animation
(e.g. by calling Activity#overridePendingTransition(0,0).

Bug: 20823935
Change-Id: I5b286968b0cd3351e9a9224294d0a1e7faf8c654
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
8ebc82a63f7e4818bb615cf980b961757c8d6587 14-May-2015 Wale Ogunwale <ogunwale@google.com> Don't stop animation when starting windows app token changes

If another activity is starting while we are still animating
the starting window of the previous activity to start, we
transfer the starting window of the old activity to the one that
is currently starting so we don't have to create another starting
window and also to reduce jank from the starting window animation
appearing to restart.

However, there were several conditions that led to the starting
window animation stopping when the transfers app tokens

1. Starting window animator not been removed from the previous
app token animator causing it to finish/remove the starting window
prematurily.
2. Starting window animator not been properly added to the new
app token animator causing the animation not be be picked up.
3. WMS.mSkipAppTransitionAnimation been set to false regardless of if
an app transition was actually prepared in WMS.prepareAppTransition()
4. WMS.mSkipAppTransitionAnimation not been set to true in all cases
where the starting window transfers tokens even though we don't want the
new app to do any transition animation is the starting window is
animating.
5. New app not setting its animation to dummy animation when the next
transition should be skipped due to starting window still animating.
6. Starting window animation been cleared for the new app in
WMS.handleAppTransitionReadyLocked() even for cases where we transferred
the animation from the previous app.

Also, cleaned up some code.

Bug: 20953232
Change-Id: I714d6bdfcdaeeaac29f9d464bab9f3e9c192e937
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
80b1f64280829e7d483302c23518e9d937e7340a 22-Apr-2015 Craig Mautner <cmautner@google.com> Fix bad crop on clip reveal animation

For non-fullscreen apps the dimensions of the app window must be used
to set up the animation.

Fixes bug 18392184.

Change-Id: Ia1681e4a2cb74be2f820cb76ddc7c651a5e4aab6
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
8da976a4302cb947f841f4a995bfa5fb62ca296d 05-Mar-2015 Chet Haase <chet@google.com> Fix artifacts in clip reveal animations

clip-reveal the entire screen, not just the app window contents.
Also, account for position of window in non-fullscreen apps.

Issue #19638386 fix launch animation artifacts

Change-Id: I08bc09a89974e28af72c08ddd61bd555e5330221
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
77ba4803a510717032181e7cf0beca9d07f09733 18-Feb-2015 Jorim Jaggi <jjaggi@google.com> Add AppTransitionListener

Introduces the concept of a listener to be notified about app
transition events. The only client at the moment is window manager
which notifies activity manager about completed transitions, but this
can be used for various clients, including the status bar.

Bug: 19233606
Change-Id: Ia6fec5837b6eb4db90f3cb1c999d3f157ba6dd4a
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
682c8e509b494b8cd221d65df8f5e1f10e5f7bf1 13-Feb-2015 Dianne Hackborn <hackbod@google.com> Merge "Update voice interaction layer for new UI design."
ae6688b09649447e57468b3e7935691bc09ec9b9 12-Feb-2015 Dianne Hackborn <hackbod@google.com> Update voice interaction layer for new UI design.

Can switch from a pure overlay at the top of the screen,
to interactive mode with the voice UI drawing at the bottom
and pushing its target activity up like an IME.

Add mechanism to get assist data to the voice interaction UI.

Add some basic visualization of the assist data, outlining
where on the screen we have text.

Add a test ACTION_ASSIST handler, which can propagate the
assist data it gets to the voice interaction session so
you can see what kind of data we are getting from different
apps.

Change-Id: I18312fe1601d7926d1fb96a817638d60f6263771
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
10e23ab61b820fb3149b2f89003753d98ebd6a80 12-Feb-2015 Chet Haase <chet@google.com> Add ClipReveal window transition for application launch

Issue #19362772 Better material launch animations

Change-Id: Ic94fde910b6b5554ee954dfbbf374949f9eb189d
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
b255e49fe4cab9cae912714a009860c5c1993b33 03-Dec-2014 Winson Chung <winsonc@google.com> Ensuring that the alpha and translation animation durations are the same. (Bug 18609321)
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
044d52934e57a337665f707aa4be1d423ee3fb29 06-Nov-2014 Winson Chung <winsonc@google.com> Adding bounce animation for affiliated tasks. (Bug 16656169)

Change-Id: I39e4a57c4e6b707d15513dacde2d40c23bb05058
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.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/AppTransition.java
2e7f3bdcc9ec0b3e95b565b943ecee2210f4b937 05-Sep-2014 Winson Chung <winsonc@google.com> Removing unnecessary delays, ensuring transition thumbnail is the size of the header. (Bug. 16987565)

Change-Id: Ic104876c5fe16997eca00e0a2b3d8644c927120c
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
5c1b42e4f5d7307ad09d0d7ad094adf34650fb62 26-Aug-2014 Winson Chung <winsonc@google.com> Merge "Multiple performance changes to speed recents invocation/app launching time. (Bug 16987565)" into lmp-dev
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/AppTransition.java
3b2cd1d59fd894ac67a044c6c540fa69360a34a2 25-Aug-2014 Craig Mautner <cmautner@google.com> Update API per council requests

launchTaskBehindBackgroundAnimation => launchTaskBehindTargetAnimation
visibilityMode => transitionVisiblityMode
makeLaunchTaskBehindAnimation => makeTaskLaunchBehind
launch_task_behind_background = launch_task_behind_target

Fixes bug 16958544.

Change-Id: I3b7c791fc0671b8071a5377cf6fa878bd5861f70
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
60a729c8e93461c9446d0c8cd519b40dec01e8d8 13-Aug-2014 Winson Chung <winsonc@google.com> Adding scrim to task views. (Bug 15704955)

- Fixing issue with focus animations not happening for new views

Change-Id: I3134f25becf06db343aa30ea80cb33514cd99d06
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
bb742462781a73bb25516067c8fe6311c1c8a93e 08-Jul-2014 Craig Mautner <cmautner@google.com> Launch activity behind launching task.

Use ActivityOptions.makeLaunchTaskBehindAnimation() to launch tasks
behind the current task. Includes animations for launching and
launched tasks.

Fixes bug 16157517.

Change-Id: I0a94af70b4748592e94673b958ee824cfb3d7ec0
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
24cf152483c03dc446875c8d6440348174317bc5 29-May-2014 Winson Chung <winsonc@google.com> Updating task view style, fixing performance on enter-recents animation.

Change-Id: I42ca9296170a93a14184ae8963abbd3f0494e503
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.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/AppTransition.java
ae0844164959c2b1bf006d3fef26dbabc66c5873 20-May-2014 Winson Chung <winsonc@google.com> Fixing transition to/from Recents with full screen apps.

Change-Id: I2f400b6736581a37d38a75ee7194fc7cb6438460
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
fd08622588d5a90c11216894344e58147ff6359a 14-May-2014 Winson Chung <winsonc@google.com> Enabling alternate recents on all form factors.

Change-Id: I9dec6da7646205b72f46cedf604fadfb03cab6d4
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
5393dff555641f5666573952498e27c90fd3edca 08-May-2014 Winson Chung <winsonc@google.com> Removing the old tasks on launching recents task if they trigger a new task.

- Only kill processes when removing tasks that are not started as documents
- Tweaking thumbnail animation
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
f9f2314aa444e32b93caecd06cb4f10a71a2df39 21-Apr-2014 Winson Chung <winsonc@google.com> Enabling doc centric recents on phones.

Change-Id: If853cdcbf3fc75001060e522bce2e0d49d2ddea3
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
2820c4523cd37b4a9c5d33e558d39b798830e7e5 16-Apr-2014 Winson Chung <winsonc@google.com> Fixing the alternate recents transition on landscape views.

- This still assumes that we are taking square thumbnails.

Change-Id: I42a3d1b0505db57f815edf52cd176a3f651d5b37
/frameworks/base/services/core/java/com/android/server/wm/AppTransition.java
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/AppTransition.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/AppTransition.java