Add a simple ring buffer and use it for holding TFLite model inputs.
Bug: 167946763
Test: atest libinput_tests
Change-Id: I7e50d38ed0c593aebc5fdc6af4b25868505d48bc
diff --git a/include/input/TfLiteMotionPredictor.h b/include/input/TfLiteMotionPredictor.h
index ff0f51c..704349c 100644
--- a/include/input/TfLiteMotionPredictor.h
+++ b/include/input/TfLiteMotionPredictor.h
@@ -23,7 +23,8 @@
#include <optional>
#include <span>
#include <string>
-#include <vector>
+
+#include <input/RingBuffer.h>
#include <tensorflow/lite/core/api/error_reporter.h>
#include <tensorflow/lite/interpreter.h>
@@ -83,11 +84,11 @@
private:
int64_t mTimestamp = 0;
- std::vector<float> mInputR;
- std::vector<float> mInputPhi;
- std::vector<float> mInputPressure;
- std::vector<float> mInputTilt;
- std::vector<float> mInputOrientation;
+ RingBuffer<float> mInputR;
+ RingBuffer<float> mInputPhi;
+ RingBuffer<float> mInputPressure;
+ RingBuffer<float> mInputTilt;
+ RingBuffer<float> mInputOrientation;
// The samples defining the current polar axis.
std::optional<TfLiteMotionPredictorSample> mAxisFrom;