Be forgiving with accidental horizontal scroll

An accidental horizontal touch, due to vertical fling on the -1 screen
could lead to imperceptible change in zoom, and send a frame to client
composition. This CL adds extra padding to overlay scroll amount, to
avoid these accidental gestures.

Bug: 211245940
Test: https://ui.perfetto.dev/#!/viewer?trace_id=3260c116-c578-6dad-e047-0a327b7d346c
Change-Id: Id05e482c79c1dcc2e1ba73baf8a4a4101797bbd2
This commit is contained in:
Lucas Dupin
2022-01-28 14:58:02 -08:00
parent 46728f6481
commit b9f7e269a9

View File

@@ -294,6 +294,11 @@ public class DepthController implements StateHandler<LauncherState>,
}
public void onOverlayScrollChanged(float progress) {
// Add some padding to the progress, such we don't change the depth on the last frames of
// the animation. It's possible that a user flinging the feed quickly would scroll
// horizontally by accident, causing the device to enter client composition unnecessarily.
progress = Math.min(progress * 1.1f, 1f);
// Round out the progress to dedupe frequent, non-perceptable updates
int progressI = (int) (progress * 256);
float progressF = Utilities.boundToRange(progressI / 256f, 0f, 1f);