Attach PipSnapshotContentOverlay in PipTransition

Similar to what's in PipTaskOrganizer, we try to apply the snapshot
overlay when entering PiP, which was missing in PipTransition with
shell-transition being on.

Video: http://recall/-/aaaaaabFQoRHlzixHdtY/cII9Y55L2gdPRhhweur6KT
Bug: 283822454
Test: manual, see Video
Change-Id: I9041a808f0842e005659f59327a56802a02168a4
This commit is contained in:
Hongwei Wang
2023-05-22 11:53:14 -07:00
parent b03c480d4b
commit 9cc74e288f

View File

@@ -53,6 +53,7 @@ import android.os.SystemProperties;
import android.view.Surface;
import android.view.SurfaceControl;
import android.view.WindowManager;
import android.window.TaskSnapshot;
import android.window.TransitionInfo;
import android.window.TransitionRequestInfo;
import android.window.WindowContainerToken;
@@ -880,6 +881,14 @@ public class PipTransition extends PipTransitionController {
} else {
animator.setColorContentOverlay(mContext);
}
} else {
final TaskSnapshot snapshot = PipUtils.getTaskSnapshot(
taskInfo.launchIntoPipHostTaskId, false /* isLowResolution */);
if (snapshot != null) {
// use the task snapshot during the animation, this is for
// launch-into-pip aka. content-pip use case.
animator.setSnapshotContentOverlay(snapshot, sourceHintRect);
}
}
} else if (enterAnimationType == ANIM_TYPE_ALPHA) {
animator = mPipAnimationController.getAnimator(taskInfo, leash, destinationBounds,