input: handle change in std::span::size type

The pre-standardized version of std::span in external/libcxx had a
ptrdiff_t size, but the finalized std::span has a size_t size instead.
Also, the std::span::index_type typedef is renamed to size_type. Use an
old-style constructor call to implicitly coerce the size value to the
proper type.

Insert a cast to avoid a signedness comparison warning.

Bug: b/175635923
Test: treehugger
Change-Id: I96ccf6d5b54d4118b096f97c901073b4fc2f6f9f
Merged-In: I96ccf6d5b54d4118b096f97c901073b4fc2f6f9f
diff --git a/libs/input/MotionPredictor.cpp b/libs/input/MotionPredictor.cpp
index 3037573..abcca34 100644
--- a/libs/input/MotionPredictor.cpp
+++ b/libs/input/MotionPredictor.cpp
@@ -176,12 +176,13 @@
     int64_t predictionTime = mBuffers->lastTimestamp();
     const int64_t futureTime = timestamp + mPredictionTimestampOffsetNanos;
 
-    for (int i = 0; i < predictedR.size() && predictionTime <= futureTime; ++i) {
+    for (size_t i = 0; i < static_cast<size_t>(predictedR.size()) && predictionTime <= futureTime;
+         ++i) {
         const TfLiteMotionPredictorSample::Point point =
                 convertPrediction(axisFrom, axisTo, predictedR[i], predictedPhi[i]);
         // TODO(b/266747654): Stop predictions if confidence is < some threshold.
 
-        ALOGD_IF(isDebug(), "prediction %d: %f, %f", i, point.x, point.y);
+        ALOGD_IF(isDebug(), "prediction %zu: %f, %f", i, point.x, point.y);
         PointerCoords coords;
         coords.clear();
         coords.setAxisValue(AMOTION_EVENT_AXIS_X, point.x);