Protect pulled data in LatencyAggregator with a lock

The data pull happens on a binder thread, which is different from the
thread where the sketches are collected.

Before this CL, the data was modified by the puller, so it could
potentially be corrupted if the user happened to use the device at the
same time.

This is a speculative fix to the infinite loop that we are observing
inside CompactStack.

Bug: 298423577
Test: atest libinput_tests inputflinger_tests
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ad16bf27ab695919347965d917de3c1c7ed5cb0f)
Merged-In: I624fb3bd59e3c314edc3b1facf424c306e95b71e
Change-Id: I624fb3bd59e3c314edc3b1facf424c306e95b71e
2 files changed