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
Change-Id: I624fb3bd59e3c314edc3b1facf424c306e95b71e
2 files changed