Merge "Animate PiP away on inset changes." into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3aac107972
@@ -612,9 +612,24 @@ public class PipController implements PipTransitionController.PipTransitionCallb
|
|||||||
new DisplayInsetsController.OnInsetsChangedListener() {
|
new DisplayInsetsController.OnInsetsChangedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void insetsChanged(InsetsState insetsState) {
|
public void insetsChanged(InsetsState insetsState) {
|
||||||
|
int oldMaxMovementBound = mPipBoundsState.getMovementBounds().bottom;
|
||||||
onDisplayChanged(
|
onDisplayChanged(
|
||||||
mDisplayController.getDisplayLayout(mPipBoundsState.getDisplayId()),
|
mDisplayController.getDisplayLayout(mPipBoundsState.getDisplayId()),
|
||||||
false /* saveRestoreSnapFraction */);
|
false /* saveRestoreSnapFraction */);
|
||||||
|
int newMaxMovementBound = mPipBoundsState.getMovementBounds().bottom;
|
||||||
|
if (!mEnablePipKeepClearAlgorithm) {
|
||||||
|
int pipTop = mPipBoundsState.getBounds().top;
|
||||||
|
int diff = newMaxMovementBound - oldMaxMovementBound;
|
||||||
|
if (diff < 0 && pipTop > newMaxMovementBound) {
|
||||||
|
// bottom inset has increased, move PiP up if it is too low
|
||||||
|
mPipMotionHelper.animateToOffset(mPipBoundsState.getBounds(),
|
||||||
|
newMaxMovementBound - pipTop);
|
||||||
|
}
|
||||||
|
if (diff > 0 && oldMaxMovementBound == pipTop) {
|
||||||
|
// bottom inset has decreased, move PiP down if it was by the edge
|
||||||
|
mPipMotionHelper.animateToOffset(mPipBoundsState.getBounds(), diff);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user