diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/AppTransition.java | 20 | 
2 files changed, 17 insertions, 9 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java index 0e42a54c98da..4cfdc3d1f417 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java +++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsImpl.java @@ -733,11 +733,7 @@ public class RecentsImpl implements ActivityOptions.OnAnimationFinishedListener              Task toTask = new Task();              TaskViewTransform toTransform = getThumbnailTransitionTransform(stackView, toTask,                      windowOverrideRect); -            // When using a grid layout, the header is already visible on screen at the target -            // location, making it unnecessary to draw it in the transition thumbnail. -            Bitmap thumbnail = stackView.useGridLayout() -                    ? mThumbTransitionBitmapCache.createAshmemBitmap() -                    : drawThumbnailTransitionBitmap(toTask, toTransform, +            Bitmap thumbnail = drawThumbnailTransitionBitmap(toTask, toTransform,                              mThumbTransitionBitmapCache);              if (thumbnail != null) {                  RectF toTaskRect = toTransform.rect; diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java index 24f9eb705a3b..d8e0b0b84281 100644 --- a/services/core/java/com/android/server/wm/AppTransition.java +++ b/services/core/java/com/android/server/wm/AppTransition.java @@ -925,9 +925,9 @@ public class AppTransition implements Dump {          float scaleW = appWidth / thumbWidth;          getNextAppTransitionStartRect(taskId, mTmpRect);          final float fromX; -        final float fromY; +        float fromY;          final float toX; -        final float toY; +        float toY;          final float pivotX;          final float pivotY;          if (shouldScaleDownThumbnailTransition(uiMode, orientation)) { @@ -940,6 +940,12 @@ public class AppTransition implements Dump {              toY = appRect.height() / 2 * (1 - 1 / scaleW) + appRect.top;              pivotX = mTmpRect.width() / 2;              pivotY = appRect.height() / 2 / scaleW; +            if (mGridLayoutRecentsEnabled) { +                // In the grid layout, the header is displayed above the thumbnail instead of +                // overlapping it. +                fromY -= thumbHeightI; +                toY -= thumbHeightI * scaleW; +            }          } else {              pivotX = 0;              pivotY = 0; @@ -988,7 +994,10 @@ public class AppTransition implements Dump {              // This AnimationSet uses the Interpolators assigned above.              AnimationSet set = new AnimationSet(false);              set.addAnimation(scale); -            set.addAnimation(alpha); +            if (!mGridLayoutRecentsEnabled) { +                // In the grid layout, the header should be shown for the whole animation. +                set.addAnimation(alpha); +            }              set.addAnimation(translate);              set.addAnimation(clipAnim);              a = set; @@ -1007,7 +1016,10 @@ public class AppTransition implements Dump {              // This AnimationSet uses the Interpolators assigned above.              AnimationSet set = new AnimationSet(false);              set.addAnimation(scale); -            set.addAnimation(alpha); +            if (!mGridLayoutRecentsEnabled) { +                // In the grid layout, the header should be shown for the whole animation. +                set.addAnimation(alpha); +            }              set.addAnimation(translate);              a = set;  |