Invert the 2 stage LPNH logic to lower false positive triggers.

Previously, we would extend the touch slop and duration when the
standard gesture slop was passed. This would actually increase
mistriggers, because it effectively doubles the trigger slop
allowance. Additionally, it seemed to usually get aborted by
gesture nav, which takes over after the first slop is passed.

With this change, we instead break down the gesture nav slop in
half (customizable by a new config parameter). In the second half,
we double (still customizable - but expressed as a percentage to
give us more flexibility than just 2x, 3x, etc) the duration to
trigger. This means omnient will be cancelled more quickly when
starting any swipe gesture, but if the user continues to dwell in
the navbar region for an extended time, omnient will still trigger.

Bug: 334860966
Test: Manual with ENABLE_LPNH_TWO_STAGES on and logging with
adb shell setprop log.tag.NavHandleLongPress VERBOSE
Flag: EXEMPT legacy DeviceConfig ENABLE_LPNH_TWO_STAGES DISABLED

Change-Id: Ida5c8e19b414a2bf0008b78b7bf0e7d41d3ff609
2 files changed