SensorJumpFilter: Don't mark WARP_*_MOVE for direction change with small delta

Considering the following X position sequences:

8,  9, 10,  9, 10, 11, 12  (1F move)
10, 10, 10,  9, 10, 11, 12  (1F still)

Due to the sensor limitaion, we will get the direction change
10->9->10 even though the finger is moving in one direction
in the 1F move case and trying to keep the position unchaned
in the 1F still case.

In case of 1F move, we don't want to marke the second 10 as WARP
due to the direction change since in Box Filter a WARP position
will be set as the new box center and if so the following 11, 12
won't cause movement since they are within the new box. So we use
no_warp_min_dist_move_ to filter out direction change with really
small delta to not be marked as WARP.

Notice this kind of direction change is also often seen in 1F still
case, in which we would expect the existing box would bound the
following 11 and 12 correctly.

BUG=chromium-os:33671
TEST=1.Unittests pass.
     2.Logs in 33671 pass.
     3.1F stationary is not worse.

Regression tests:

parrot1.2/small-direction-change  |  success (0.0690)  |  success (1.0000)  | +0.9310
snow1.3/top_edge_move             |  success (0.9653)  |  success (0.9934)  | +0.0281
lumpy/base_move                   |  success (0.9960)  |  success (0.9836)  | -0.0124

Change-Id: I753062aae83321d7c73832baaf06be2e276de4a9
Reviewed-on: https://gerrit.chromium.org/gerrit/31528
Commit-Ready: Yufeng Shen <miletus@chromium.org>
Reviewed-by: Yufeng Shen <miletus@chromium.org>
Tested-by: Yufeng Shen <miletus@chromium.org>
2 files changed