Merge "Fixing last CL (uploaded the wrong patch)" into rvc-dev
This commit is contained in:
@@ -228,7 +228,6 @@ public class PipTaskOrganizer extends TaskOrganizer implements
|
||||
PipAnimationController.PipTransitionAnimator animator =
|
||||
mPipAnimationController.getCurrentAnimator();
|
||||
if (animator != null && animator.isRunning()) {
|
||||
System.out.println("RUNNING ANIM: anim=" + animator.getDestinationBounds() + " last=" + getLastReportedBounds());
|
||||
return new Rect(animator.getDestinationBounds());
|
||||
}
|
||||
return getLastReportedBounds();
|
||||
@@ -238,6 +237,10 @@ public class PipTaskOrganizer extends TaskOrganizer implements
|
||||
return mInPip;
|
||||
}
|
||||
|
||||
public boolean isDeferringEnterPipAnimation() {
|
||||
return mInPip && mShouldDeferEnteringPip;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers {@link PipTransitionCallback} to receive transition callbacks.
|
||||
*/
|
||||
@@ -533,12 +536,16 @@ public class PipTaskOrganizer extends TaskOrganizer implements
|
||||
// If we are rotating while there is a current animation, immediately cancel the
|
||||
// animation (remove the listeners so we don't trigger the normal finish resize
|
||||
// call that should only happen on the update thread)
|
||||
int direction = animator.getTransitionDirection();
|
||||
animator.removeAllUpdateListeners();
|
||||
animator.removeAllListeners();
|
||||
animator.cancel();
|
||||
// Do notify the listeners that this was canceled
|
||||
sendOnPipTransitionCancelled(direction);
|
||||
int direction = TRANSITION_DIRECTION_NONE;
|
||||
if (animator != null) {
|
||||
direction = animator.getTransitionDirection();
|
||||
animator.removeAllUpdateListeners();
|
||||
animator.removeAllListeners();
|
||||
animator.cancel();
|
||||
// Do notify the listeners that this was canceled
|
||||
sendOnPipTransitionCancelled(direction);
|
||||
sendOnPipTransitionFinished(direction);
|
||||
}
|
||||
mLastReportedBounds.set(destinationBoundsOut);
|
||||
|
||||
// Create a reset surface transaction for the new bounds and update the window
|
||||
|
||||
@@ -95,6 +95,10 @@ public class PipManager implements BasePipManager, PipTaskOrganizer.PipTransitio
|
||||
*/
|
||||
private final DisplayChangeController.OnDisplayChangingListener mRotationController = (
|
||||
int displayId, int fromRotation, int toRotation, WindowContainerTransaction t) -> {
|
||||
if (!mPipTaskOrganizer.isInPip() || mPipTaskOrganizer.isDeferringEnterPipAnimation()) {
|
||||
// Skip if we aren't in PIP or haven't actually entered PIP yet
|
||||
return;
|
||||
}
|
||||
// If there is an animation running (ie. from a shelf offset), then ensure that we calculate
|
||||
// the bounds for the next orientation using the destination bounds of the animation
|
||||
// TODO: Techincally this should account for movement animation bounds as well
|
||||
|
||||
Reference in New Issue
Block a user