FastPairScanner::ScanningSession and ScannerBroker::ScanningSession separate
the lifetime of FastPairScanner/ScannerBroker from the lifetime of scanning
sessions. This simplifies the cleanup.
PiperOrigin-RevId: 535675988
To prevent invalid access of already destroyed CancellationFlag pointers, do not clear the map of CancellationFlags in ClientProxy::CancelAllEndpoints. Crashes
were caused by consumers accessing CancellationFlag::Cancelled to check if the flags were cancelled, however since the flags were destroyed by erasing the map in ClientProxy::CancelAllEndpoints, consumers are calling gabrage memory.
PiperOrigin-RevId: 535284214
Add a presence client factory and fake_presence_client to help facilitate presence client testing. This testing infrastructure is used in crrev/c/4528575 to test the nearby presence mojom interface.
PiperOrigin-RevId: 535087368
Move onwership of Fast Par Devices to a single point, FastPairDeviceRepository,
which will live inside a singleton FastPairService.
PiperOrigin-RevId: 534547186
Objective-C objects cannot be captured by reference in C++ lambdas and must always be captured by value.
This also takes a copy of the data returned from the Wi-Fi LAN reader, to prevent potential intermittent empty packet issues.
Fixes: #1702
PiperOrigin-RevId: 533925980
During the destruction of NearbyConnections, Core (which owns ClientProxy) is destructed before ServiceController (which owns EndpointManager), which means any pending tasks on the EndpointManager executor that use ClientProxy will be using
garbage memory. To fix this issue, EndpointManager::DiscardEndpoint will check
for an `is_shutdown` boolean set during ~EndpointManager before accessing
ClientProxy. The assumption is that any accessing of ClientProxy after the
destruction will be invalid.
PiperOrigin-RevId: 532581122
Changes in the compilers made it to where some includes would not be
included in some headers (see [this](https://gcc.gnu.org/gcc-13/porting_to.html#header-dep-changes) for more info) and one of those includes were `cstdint` / `stdint.h`. This commit brings the dependancy abseil-cpp to a commit that fixes that issue and included the relavent files in internel headers to fix the problem.