Swap z-order of tasks for default wallpaper-open animation
the defaulthandler's wallpaper-open animation reverses the
normal closing/opening task dynamic: normally we animate OPEN
as the opening-task appearing over closing; however, for the
wallpaper-open case (which presumably assumes that the "opening"
task is a 3p launcher), we actually animate the closing task
closing over the opening-task. This requires the z-order to be
swapped.
Bug: 279680678
Test: use 3p launcher and 3-button nav. open an app. press "home"
button.
Change-Id: I37362c1ade5ee786ed93b0544d37b6b38a549f04
This commit is contained in:
@@ -435,6 +435,23 @@ public class DefaultTransitionHandler implements Transitions.TransitionHandler {
|
||||
backgroundColorForTransition =
|
||||
uiContext.getColor(R.color.overview_background);
|
||||
}
|
||||
if (wallpaperTransit == WALLPAPER_TRANSITION_OPEN
|
||||
&& TransitionUtil.isOpeningType(info.getType())) {
|
||||
// Need to flip the z-order of opening/closing because the WALLPAPER_OPEN
|
||||
// always animates the closing task over the opening one while
|
||||
// traditionally, an OPEN transition animates the opening over the closing.
|
||||
|
||||
// See Transitions#setupAnimHierarchy for details about these variables.
|
||||
final int numChanges = info.getChanges().size();
|
||||
final int zSplitLine = numChanges + 1;
|
||||
if (TransitionUtil.isOpeningType(mode)) {
|
||||
final int layer = zSplitLine - i;
|
||||
startTransaction.setLayer(change.getLeash(), layer);
|
||||
} else if (TransitionUtil.isClosingType(mode)) {
|
||||
final int layer = zSplitLine + numChanges - i;
|
||||
startTransaction.setLayer(change.getLeash(), layer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
final float cornerRadius;
|
||||
|
||||
Reference in New Issue
Block a user