Change PiP stash scoring to distance moved

When there are multiple possible stashing positions for a PiP,
before we chose the one that displaces the PiP by the least area
(dx * height + dy * width).
With eg. very tall expanded PiPs, this can lead a large dy to be
preferred over a small dx because of the big height multiplier,
causing the PiP to move a 'greater distance'.
This change makes the stashing position with the least `dx + dy`
preferred.

Bug: 226579596
Test: manual
Change-Id: I29f74a2bec670c3a3219c6d50bf1102a41d42b6b
This commit is contained in:
Robert Horvath
2022-03-25 18:07:44 +01:00
parent 7e5c2bd608
commit 06bab93a1a

View File

@@ -399,7 +399,7 @@ class TvPipKeepClearAlgorithm(private val clock: () -> Long) {
return stashCandidates.minByOrNull {
val dx = abs(it.left - bounds.left)
val dy = abs(it.top - bounds.top)
dx * bounds.height() + dy * bounds.width()
return@minByOrNull dx + dy
}!!
}