Merge "[RESTRICT AUTOMERGE] Ignore small source rect hint" into rvc-dev
This commit is contained in:
@@ -387,7 +387,8 @@ public class PipTaskOrganizer extends TaskOrganizer implements
|
|||||||
final Rect currentBounds = mTaskInfo.configuration.windowConfiguration.getBounds();
|
final Rect currentBounds = mTaskInfo.configuration.windowConfiguration.getBounds();
|
||||||
|
|
||||||
if (mOneShotAnimationType == ANIM_TYPE_BOUNDS) {
|
if (mOneShotAnimationType == ANIM_TYPE_BOUNDS) {
|
||||||
final Rect sourceHintRect = getValidSourceHintRect(info, currentBounds);
|
final Rect sourceHintRect = getValidSourceHintRect(info, currentBounds,
|
||||||
|
destinationBounds);
|
||||||
scheduleAnimateResizePip(currentBounds, destinationBounds, sourceHintRect,
|
scheduleAnimateResizePip(currentBounds, destinationBounds, sourceHintRect,
|
||||||
TRANSITION_DIRECTION_TO_PIP, mEnterExitAnimationDuration,
|
TRANSITION_DIRECTION_TO_PIP, mEnterExitAnimationDuration,
|
||||||
null /* updateBoundsCallback */);
|
null /* updateBoundsCallback */);
|
||||||
@@ -401,14 +402,17 @@ public class PipTaskOrganizer extends TaskOrganizer implements
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the source hint rect if it is valid (if provided and is contained by the current
|
* Returns the source hint rect if it is valid (if provided and is contained by the current
|
||||||
* task bounds).
|
* task bounds and not too small).
|
||||||
*/
|
*/
|
||||||
private Rect getValidSourceHintRect(ActivityManager.RunningTaskInfo info, Rect sourceBounds) {
|
private Rect getValidSourceHintRect(ActivityManager.RunningTaskInfo info, Rect sourceBounds,
|
||||||
|
Rect destinationBounds) {
|
||||||
final Rect sourceHintRect = info.pictureInPictureParams != null
|
final Rect sourceHintRect = info.pictureInPictureParams != null
|
||||||
&& info.pictureInPictureParams.hasSourceBoundsHint()
|
&& info.pictureInPictureParams.hasSourceBoundsHint()
|
||||||
? info.pictureInPictureParams.getSourceRectHint()
|
? info.pictureInPictureParams.getSourceRectHint()
|
||||||
: null;
|
: null;
|
||||||
if (sourceHintRect != null && sourceBounds.contains(sourceHintRect)) {
|
if (sourceHintRect != null && sourceBounds.contains(sourceHintRect)
|
||||||
|
&& sourceHintRect.width() > destinationBounds.width()
|
||||||
|
&& sourceHintRect.height() > destinationBounds.height()) {
|
||||||
return sourceHintRect;
|
return sourceHintRect;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
Reference in New Issue
Block a user