Merge "Enable ENABLE_PIP_KEEP_CLEAR_ALGORITHM for teamfood" into tm-qpr-dev

This commit is contained in:
Mateusz Cicheński
2023-03-18 00:43:08 +00:00
committed by Android (Google) Code Review
5 changed files with 12 additions and 5 deletions

View File

@@ -123,7 +123,7 @@ public class PipController implements PipTransitionController.PipTransitionCallb
SystemProperties.getLong("persist.wm.debug.pip_keep_clear_areas_delay", 200); SystemProperties.getLong("persist.wm.debug.pip_keep_clear_areas_delay", 200);
private boolean mEnablePipKeepClearAlgorithm = private boolean mEnablePipKeepClearAlgorithm =
SystemProperties.getBoolean("persist.wm.debug.enable_pip_keep_clear_algorithm", false); SystemProperties.getBoolean("persist.wm.debug.enable_pip_keep_clear_algorithm", true);
@VisibleForTesting @VisibleForTesting
void setEnablePipKeepClearAlgorithm(boolean value) { void setEnablePipKeepClearAlgorithm(boolean value) {

View File

@@ -71,8 +71,13 @@ public class PipTouchHandler {
private static final String TAG = "PipTouchHandler"; private static final String TAG = "PipTouchHandler";
private static final float DEFAULT_STASH_VELOCITY_THRESHOLD = 18000.f; private static final float DEFAULT_STASH_VELOCITY_THRESHOLD = 18000.f;
private static final boolean ENABLE_PIP_KEEP_CLEAR_ALGORITHM = private boolean mEnablePipKeepClearAlgorithm =
SystemProperties.getBoolean("persist.wm.debug.enable_pip_keep_clear_algorithm", false); SystemProperties.getBoolean("persist.wm.debug.enable_pip_keep_clear_algorithm", true);
@VisibleForTesting
void setEnablePipKeepClearAlgorithm(boolean value) {
mEnablePipKeepClearAlgorithm = value;
}
// Allow PIP to resize to a slightly bigger state upon touch // Allow PIP to resize to a slightly bigger state upon touch
private boolean mEnableResize; private boolean mEnableResize;
@@ -427,7 +432,7 @@ public class PipTouchHandler {
if (mTouchState.isUserInteracting() && mTouchState.isDragging()) { if (mTouchState.isUserInteracting() && mTouchState.isDragging()) {
// Defer the update of the current movement bounds until after the user finishes // Defer the update of the current movement bounds until after the user finishes
// touching the screen // touching the screen
} else if (ENABLE_PIP_KEEP_CLEAR_ALGORITHM) { } else if (mEnablePipKeepClearAlgorithm) {
// Ignore moving PiP if keep clear algorithm is enabled, since IME and shelf height // Ignore moving PiP if keep clear algorithm is enabled, since IME and shelf height
// now are accounted for in the keep clear algorithm calculations // now are accounted for in the keep clear algorithm calculations
} else { } else {

View File

@@ -314,6 +314,7 @@ public class PipControllerTest extends ShellTestCase {
@Test @Test
public void onKeepClearAreasChanged_featureDisabled_pipBoundsStateDoesntChange() { public void onKeepClearAreasChanged_featureDisabled_pipBoundsStateDoesntChange() {
mPipController.setEnablePipKeepClearAlgorithm(false);
final int displayId = 1; final int displayId = 1;
final Rect keepClearArea = new Rect(0, 0, 10, 10); final Rect keepClearArea = new Rect(0, 0, 10, 10);
when(mMockPipBoundsState.getDisplayId()).thenReturn(displayId); when(mMockPipBoundsState.getDisplayId()).thenReturn(displayId);

View File

@@ -173,6 +173,7 @@ public class PipTouchHandlerTest extends ShellTestCase {
@Test @Test
public void updateMovementBounds_withImeAdjustment_movesPip() { public void updateMovementBounds_withImeAdjustment_movesPip() {
mPipTouchHandler.setEnablePipKeepClearAlgorithm(false);
mFromImeAdjustment = true; mFromImeAdjustment = true;
mPipTouchHandler.onImeVisibilityChanged(true /* imeVisible */, mImeHeight); mPipTouchHandler.onImeVisibilityChanged(true /* imeVisible */, mImeHeight);

View File

@@ -480,7 +480,7 @@ object Flags {
sysPropBooleanFlag( sysPropBooleanFlag(
1110, 1110,
"persist.wm.debug.enable_pip_keep_clear_algorithm", "persist.wm.debug.enable_pip_keep_clear_algorithm",
default = false default = true
) )
// TODO(b/256873975): Tracking Bug // TODO(b/256873975): Tracking Bug