summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/BoundsAnimationController.java19
1 files changed, 7 insertions, 12 deletions
diff --git a/services/core/java/com/android/server/wm/BoundsAnimationController.java b/services/core/java/com/android/server/wm/BoundsAnimationController.java
index b5e706710823..5dc88b37e445 100644
--- a/services/core/java/com/android/server/wm/BoundsAnimationController.java
+++ b/services/core/java/com/android/server/wm/BoundsAnimationController.java
@@ -410,7 +410,7 @@ public class BoundsAnimationController {
@VisibleForTesting
boolean animatingToLargerSize() {
// TODO: Fix this check for aspect ratio changes
- return (mFrom.width() * mFrom.height() <= mTo.width() * mTo.height());
+ return (mFrom.width() * mFrom.height() < mTo.width() * mTo.height());
}
@Override
@@ -453,16 +453,10 @@ public class BoundsAnimationController {
boolean moveFromFullscreen, boolean moveToFullscreen,
@AnimationType int animationType) {
final BoundsAnimator existing = mRunningAnimations.get(target);
- // animateBoundsImpl gets called twice for each animation. The second time we get the final
- // to rect that respects the shelf, which is when we want to resize. Our signal for fade in
- // comes in from how to enter into pip, but we also need to use the to and from rect to
- // decide which animation we want to run finally.
- boolean shouldResize = false;
- if (isRunningFadeInAnimation(target)) {
- shouldResize = true;
- if (from.contains(to)) {
- animationType = FADE_IN;
- }
+
+ if (isRunningFadeInAnimation(target) && from.width() == to.width()
+ && from.height() == to.height()) {
+ animationType = FADE_IN;
}
final boolean replacing = existing != null;
@SchedulePipModeChangedState int prevSchedulePipModeChangedState =
@@ -523,9 +517,10 @@ public class BoundsAnimationController {
// Since we are replacing, we skip both animation start and end callbacks
existing.cancel();
}
- if (shouldResize) {
+ if (animationType == FADE_IN) {
target.setPinnedStackSize(to, null);
}
+
final BoundsAnimator animator = new BoundsAnimator(target, animationType, from, to,
schedulePipModeChangedState, prevSchedulePipModeChangedState,
moveFromFullscreen, moveToFullscreen, frozenTask);