Commit Graph
510 Commits
Author SHA1 Message Date
Janusz Sobczak e46b19c798 Use the MAC address as peripheral name
We use BlePeirpheral::GetName()` as a mac address.

PiperOrigin-RevId: 541010558
2023-06-16 14:54:42 -07:00
Anay Wadhera 5737b867ed implement startlisteningforincomingconnections
PiperOrigin-RevId: 540707703
2023-06-15 15:31:08 -07:00
Guogang Li 839dd086fd Fixed crash when initializing Bluetooth watcher
PiperOrigin-RevId: 540650297
2023-06-15 12:02:49 -07:00
Juliet Levesque aee56f0729 [Nearby Connections] Add CancellationFlag::Uncancel
Add CancellationFlag::Uncancel and on calls to ClientProxy::AddCancellationFlag, if a flag is already in the map, uncancel it. This will address the case when users use NC to share/receive a file, then cancel in the middle because the wrong file was selected, and  then re-do right after. Without this change, the second share/receive process will be seen as cancelled with cancellation flags enabled. However this change will uncancel the flag which is added in RequestConnection and OnConnectionInitiated in the NS flow.

PiperOrigin-RevId: 540633470
2023-06-15 11:07:44 -07:00
Guogang Li 0c1d5e7e23 Applied flags to Wi-Fi Hotspot parameters
PiperOrigin-RevId: 540432082
2023-06-14 18:00:52 -07:00
Guogang Li 5ae556499b Fixed the deadlock issue in hotspot
PiperOrigin-RevId: 540283852
2023-06-14 08:52:59 -07:00
hai007 00ab9fef62 Load the AccountManager in the WebRTC code.
PiperOrigin-RevId: 540036925
2023-06-13 12:20:28 -07:00
Janusz Sobczak ca60afa007 Add robust gatt client
PiperOrigin-RevId: 539817203
2023-06-12 18:29:59 -07:00
Janusz Sobczak 4f73e87a6f Improve device lost handling
Handle the error case when the platform calls device_lost_cb without calling device_discovered_cb first.

PiperOrigin-RevId: 539791976
2023-06-12 16:28:01 -07:00
Juliet Levesque 6f69e97421 [Nearby Connections] Stop 3 AttemptsToConnect over BluetoothClassic for CancellationFlag
CancellationFlags will be used to prevent crashes during the shutdown of Nearby Connections from pending tasks taking too long during the shutdown period. By using CancellationFlags, we can prevent the retries occuring during the Shutdown by short-circuiting an in flight AttemptToConnect, and checking for Cancellation before retries.

Because BluetoothClassic does not use futures, the short circuit only requires a check after ConnectToService, and returning an empty
socket.

PiperOrigin-RevId: 539755631
2023-06-12 14:05:36 -07:00
Juliet Levesque 240159e872 [Nearby Connections] Stop 3 AttemptsToConnect over WebRTC for CancellationFlag
CancellationFlags will be used to prevent crashes during the shutdown of Nearby Connections from pending tasks taking too long during the shutdown period. WebRTC using 3 x 10s retries to connect, which means we are potentially waiting for 30 seconds of retries to execute during shutdown (which is longer than the 10s duration alloted for Core shutdown).

By using CancellationFlags, we can prevent the retries occuring during the Shutdown by short-circuiting an in flight AttemptToConnect, and checking for Cancellation before retries.

PiperOrigin-RevId: 539690403
2023-06-12 10:16:36 -07:00
hai007 39e54e8a0c Automated visibility attribute cleanup.
PiperOrigin-RevId: 539527095
2023-06-11 20:09:41 -07:00
Janusz Sobczak 0f59872587 Reset ble peripheral with gatt server
The ble_peripheral is invalid when gatt server is unregistered.

PiperOrigin-RevId: 538932998
2023-06-08 17:24:06 -07:00
Janusz Sobczak 472fba64ae Add const in ReadCharacteristic prototype
PiperOrigin-RevId: 538891905
2023-06-08 14:30:03 -07:00
Guogang Li ae900f0baf Added flag to enable GATT on non-extended device
PiperOrigin-RevId: 538851144
2023-06-08 11:56:24 -07:00
Guogang Li df31f7810c Added flag to control GATT enable/disable
PiperOrigin-RevId: 538631107
2023-06-07 17:05:16 -07:00
Nick Bourdakos 8fc0d93ce1 Fix potential deadlock by running timer callback in another thread
PiperOrigin-RevId: 538469916
2023-06-07 06:37:21 -07:00
Guogang Li 8e280832bf Added timeout to discover GATT and BT service
PiperOrigin-RevId: 538352588
2023-06-06 19:07:10 -07:00
Janusz Sobczak 903071e001 Improve BLE peripheral lifecycle
Keep all discovered and explicitly created BLE peripherals in the same
collection.
The peripherals are removed when they haven't been used for a while.

PiperOrigin-RevId: 538349622
2023-06-06 18:44:44 -07:00
Chun Zhang f8a8fb74c7 TaskRuner uses SingleThreadExecutor instead of MultiThreadExecutor(1)
PiperOrigin-RevId: 538325409
2023-06-06 16:43:05 -07:00
Qin Wang ba740c9a5c Implement RetroactivePairingDetector
PiperOrigin-RevId: 538319791
2023-06-06 16:18:38 -07:00
Dave MacLachlan 1d68d2fe10 Remove unneeded noRetainObjectArgs
PiperOrigin-RevId: 537896949
2023-06-05 09:25:58 -07:00
Janusz Sobczak a41c96571f Use string_view in BluetoothUtils::ToNumber
PiperOrigin-RevId: 537428550
2023-06-02 15:51:34 -07:00
Guogang Li 5740dcccbb Fixed internal issues found in test
PiperOrigin-RevId: 537340986
2023-06-02 10:07:33 -07:00
Janusz Sobczak 7c9b517d76 Implement G3 GattServer::Stop
PiperOrigin-RevId: 537149080
2023-06-01 15:45:21 -07:00
Qin Wang 3dd893dd4c Implement FastPairPairer to handle the pairing process
PiperOrigin-RevId: 537124512
2023-06-01 14:07:22 -07:00
hai007 8e9ecdabc1 Automated visibility attribute cleanup.
PiperOrigin-RevId: 536823891
2023-05-31 14:29:22 -07:00
Janusz Sobczak a5060a3c18 Call gatt disconnect callback in tests
PiperOrigin-RevId: 536737632
2023-05-31 09:33:52 -07:00
Guogang Li 996f86d93f Fixed the issue start/stop BLE advertisement
PiperOrigin-RevId: 536599497
2023-05-30 22:02:19 -07:00
Edwin Wu 6060bc1856 Fixs Mac address containing non-hex digit.
PiperOrigin-RevId: 536562911
2023-05-30 18:20:30 -07:00
Guogang Li 72f74f3698 Fixed discovery issue in BLE V2
PiperOrigin-RevId: 536557212
2023-05-30 17:48:00 -07:00
Chun Zhang 5e4222e930 Remove location/nearby/cpp/sharing/implementation/logging/logging.h from
third_party.

PiperOrigin-RevId: 536384493
2023-05-30 06:49:53 -07:00
hai007 4527c42480 Remove location/nearby/cpp/sharing/implementation/logging/logging.h from
third_party.

PiperOrigin-RevId: 535697014
2023-05-26 13:15:32 -07:00
Chun Zhang 45c679bc20 Remove location/nearby/cpp/sharing/implementation/logging/logging.h from
third_party.

PiperOrigin-RevId: 535684317
2023-05-26 12:21:32 -07:00
Janusz Sobczak 3adb98a5ff Introduce scanning sessions
FastPairScanner::ScanningSession and ScannerBroker::ScanningSession separate
the lifetime of FastPairScanner/ScannerBroker from the lifetime of scanning
sessions. This simplifies the cleanup.
PiperOrigin-RevId: 535675988
2023-05-26 11:50:54 -07:00
Hai Shang ecca9c1d19 Add windows impl for StartScanning
PiperOrigin-RevId: 534901836
2023-05-24 10:47:06 -07:00
Eiden Kim 27267f57b8 Fix the crash dump path to get from local app data.
PiperOrigin-RevId: 534220487
2023-05-22 16:29:45 -07:00
Nick Bourdakos 3c72e4f40c Fix EXC_BAD_ACCESS crash when calling payload delegate methods.
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
2023-05-21 19:19:18 -07:00
Chun Zhang c9884f6218 Migrate AccountManager from location/nearby to third_party/nearby
PiperOrigin-RevId: 533915507
2023-05-21 17:37:15 -07:00
Guogang Li fee648aa91 Fixed an issue in scheduled executor
PiperOrigin-RevId: 533306328
2023-05-18 18:10:48 -07:00
hai007 2a9af32a44 Fix crash caused by invalid preferences
PiperOrigin-RevId: 533179434
2023-05-18 10:47:24 -07:00
Nick Bourdakos 17ba32c68b Fix a macOS bug with web request when decoding data
PiperOrigin-RevId: 532940555
2023-05-17 16:07:38 -07:00
Janusz Sobczak 1c9dd093f1 Fix retroactive pairing test
PiperOrigin-RevId: 532853830
2023-05-17 11:35:48 -07:00
Guogang Li 7027f50d28 Applied thread flag to network layer
PiperOrigin-RevId: 532831254
2023-05-17 10:28:29 -07:00
Juliet Levesque 8a78212bb8 [Nearby Connections] Check for shutdown before accessing ClientProxy.
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
2023-05-16 14:54:20 -07:00
Chun Zhang a925ed1072 Move FakeAuthenticationManager from location to third_party.
PiperOrigin-RevId: 532237745
2023-05-15 15:04:03 -07:00
Crisrael Lucero 01c8e1ed05 Convert absl::string_view to const std::string&
PiperOrigin-RevId: 531634295
2023-05-12 16:40:50 -07:00
hai007 b9a4d98e25 Add WebRtcMedium implementation for Windows.
PiperOrigin-RevId: 531631988
2023-05-12 16:29:40 -07:00
Chun Zhang b07700629d Replace std::string with absl::string_view
PiperOrigin-RevId: 531607615
2023-05-12 14:39:48 -07:00
Janusz Sobczak f1f15bd967 Use canonical MAC address in tests.
PiperOrigin-RevId: 531601021
2023-05-12 14:12:25 -07:00