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:
Evan Rosky
2023-05-10 18:22:11 -07:00
parent bbfaff3024
commit ef06550fb9

View File

@@ -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;