Reimplement Chromium's OneEuroFilter to InputConsumer
Reimplemented Chromium's OneEuroFilter usage to InputConsumerNoResampling.
There are a few differences between Chromium's work and this CL. We
reimplemented One Euro filter an adaptive cutoff frequency low pass
made in this implementation as in the Chromium's implementation. The
class FilteredResampler filters the output of LegacyResampler using the
One Euro filter approach.
Here's the link to Chromium's to One Euro filter:
https://source.chromium.org/chromium/chromium/src/+/main:ui/base/prediction/one_euro_filter.h
Bug: 297226446
Flag: EXEMPT bugfix
Test: TEST=libinput_tests; m $TEST && $ANDROID_HOST_OUT/nativetest64/$TEST/$TEST
Change-Id: I0316cb1e81c73b1dc28dc809f55dee3a1cc0ebd2
diff --git a/libs/input/Android.bp b/libs/input/Android.bp
index e4e81ad..a4ae54b 100644
--- a/libs/input/Android.bp
+++ b/libs/input/Android.bp
@@ -217,6 +217,7 @@
],
srcs: [
"AccelerationCurve.cpp",
+ "CoordinateFilter.cpp",
"Input.cpp",
"InputConsumer.cpp",
"InputConsumerNoResampling.cpp",
@@ -230,6 +231,7 @@
"KeyLayoutMap.cpp",
"MotionPredictor.cpp",
"MotionPredictorMetricsManager.cpp",
+ "OneEuroFilter.cpp",
"PrintTools.cpp",
"PropertyMap.cpp",
"Resampler.cpp",