PiP: Animate resize even if the bounds are the same.

On PiP resize animation, we have callbacks that show menu, set PiP to
the correct state, etc. Even if the bounds are the same (which is
possible if the user has resized the largest possible bound and taps on
it), we should still just let the animator do its job so all the
post-animation callbacks are correctly executed.

Bug: 158859217
Test: Resize PIP to max, wait for a new video to come in (current video
finishes playing), tap on PIP - menu displays

Change-Id: I37e669918434b9cfa1cd24356170ddb760092b00
This commit is contained in:
Ben Lin
2020-06-12 18:05:40 -07:00
parent 7775314ff8
commit 0a6d6154b3

View File

@@ -491,10 +491,11 @@ public class PipMotionHelper implements PipAppOpsListener.Callback,
Log.d(TAG, "resizeAndAnimatePipUnchecked: toBounds=" + toBounds
+ " duration=" + duration + " callers=\n" + Debug.getCallers(5, " "));
}
if (!toBounds.equals(mBounds)) {
mPipTaskOrganizer.scheduleAnimateResizePip(toBounds, duration, mUpdateBoundsCallback);
setAnimatingToBounds(toBounds);
}
// Intentionally resize here even if the current bounds match the destination bounds.
// This is so all the proper callbacks are performed.
mPipTaskOrganizer.scheduleAnimateResizePip(toBounds, duration, mUpdateBoundsCallback);
setAnimatingToBounds(toBounds);
}
/**