Merge "Make PiP move away to not occlude IME when it's too big" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
c1fac95c68
@@ -65,9 +65,18 @@ public class PhonePipKeepClearAlgorithm implements PipKeepClearAlgorithmInterfac
|
|||||||
}
|
}
|
||||||
Rect pipBounds = new Rect(startingBounds);
|
Rect pipBounds = new Rect(startingBounds);
|
||||||
|
|
||||||
// move PiP towards corner if user hasn't moved it manually or the flag is on
|
boolean shouldApplyGravity = false;
|
||||||
if (mKeepClearAreaGravityEnabled
|
// if PiP is outside of screen insets, reposition using gravity
|
||||||
|| (!pipBoundsState.hasUserMovedPip() && !pipBoundsState.hasUserResizedPip())) {
|
if (!insets.contains(pipBounds)) {
|
||||||
|
shouldApplyGravity = true;
|
||||||
|
}
|
||||||
|
// if user has not interacted with PiP, reposition using gravity
|
||||||
|
if (!pipBoundsState.hasUserMovedPip() && !pipBoundsState.hasUserResizedPip()) {
|
||||||
|
shouldApplyGravity = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// apply gravity that will position PiP in bottom left or bottom right corner within insets
|
||||||
|
if (mKeepClearAreaGravityEnabled || shouldApplyGravity) {
|
||||||
float snapFraction = pipBoundsAlgorithm.getSnapFraction(startingBounds);
|
float snapFraction = pipBoundsAlgorithm.getSnapFraction(startingBounds);
|
||||||
int verticalGravity = Gravity.BOTTOM;
|
int verticalGravity = Gravity.BOTTOM;
|
||||||
int horizontalGravity;
|
int horizontalGravity;
|
||||||
|
|||||||
Reference in New Issue
Block a user