Commit Graph
231 Commits
Author SHA1 Message Date
Qin Wang e46bfb52d0 Define BluetoothPairing API for Nearby Platform Library and add implementation on Windows platform
PiperOrigin-RevId: 528510444
2023-05-01 10:36:59 -07:00
Guogang Li 4b27e8c446 Fixed crash during BT connection
PiperOrigin-RevId: 527656444
2023-04-27 12:47:36 -07:00
Qin Wang a605baf326 UnlockMutex before run callback
PiperOrigin-RevId: 527322194
2023-04-26 11:22:30 -07:00
Guogang Li e4c1f9aa24 Fixed the issue of using CancellationFlagListener
PiperOrigin-RevId: 526154394
2023-04-21 15:41:43 -07:00
Guogang Li ac9d6b1c55 fixed the bssid format issue
PiperOrigin-RevId: 525606245
2023-04-19 18:24:15 -07:00
Qin Wang f300012bcd Fix GATT DiscoverServiceAndCharacteristics
PiperOrigin-RevId: 525295071
2023-04-18 17:22:31 -07:00
Chun Zhang 2e7f7a7d90 Migrate PreferencesManager from location/nearby to third_party/nearby
PiperOrigin-RevId: 524900136
2023-04-17 11:23:01 -07:00
Guogang Li 49aa73bbdd Fixed bug of folder sharing
PiperOrigin-RevId: 524417795
2023-04-14 16:56:14 -07:00
hai007 6dac39292b Remove unneeded fastpair dependency.
PiperOrigin-RevId: 524369312
2023-04-14 13:18:02 -07:00
Chun Zhang 00bba36219 Migrate PreferencesRepository from location/nearby to third_party/nearby
PiperOrigin-RevId: 524185819
2023-04-13 21:19:12 -07:00
Suet-Fei Li 893da899a0 Add json external dependency for OSS Bazel Build.
PiperOrigin-RevId: 523234242
2023-04-10 15:57:18 -07:00
Guogang Li 11158cb426 Fixed crash when reporting device lost
PiperOrigin-RevId: 522615946
2023-04-07 09:36:09 -07:00
Guogang Li 461985419f Fixed the logic issue to handle peripheral in BLE v2
PiperOrigin-RevId: 522520410
2023-04-06 21:40:41 -07:00
Guogang Li 87e044fa89 Internal bug fix
PiperOrigin-RevId: 522474442
2023-04-06 17:03:47 -07:00
Guogang Li 5d4cf93aed Added thread protection to BLE V2 APIs
PiperOrigin-RevId: 522462123
2023-04-06 16:07:20 -07:00
Guogang Li 3432c829e1 Fixed crash during devices scanning
PiperOrigin-RevId: 522457603
2023-04-06 15:47:45 -07:00
Guogang Li fb4d42ad0d Harden thread pool
PiperOrigin-RevId: 522448312
2023-04-06 15:11:24 -07:00
Guogang Li 097ff07811 Added connect retry for Bluetooth
PiperOrigin-RevId: 522382120
2023-04-06 11:04:59 -07:00
hai007 c41fd2ed2a Disable broken tests.
PiperOrigin-RevId: 521949387
2023-04-04 21:31:49 -07:00
Janusz Sobczak 665b0b0e86 Add observer for pairing events.
Defines an observer for BT classic medium.
The observer is notified when a device is paired or unpaired.

PiperOrigin-RevId: 521917539
2023-04-04 18:13:07 -07:00
Guogang Li bda3a779bd Fixed the crash in Timer::Stop
PiperOrigin-RevId: 521822379
2023-04-04 11:41:44 -07:00
Guogang Li 3d752bc256 Added thread protection to BLE V2 APIs
PiperOrigin-RevId: 521774807
2023-04-04 08:49:44 -07:00
Aaron Yu 977275f069 Add mutex guards for BLE publisher and watcher member variables to improve thread safety
PiperOrigin-RevId: 521611021
2023-04-03 17:49:25 -07:00
Guogang Li d4169d0c94 Fixed an crash in Bluetooth adapter
PiperOrigin-RevId: 521164224
2023-04-01 11:32:39 -07:00
Guogang Li df9a87d524 internal cleanup
PiperOrigin-RevId: 520785471
2023-03-30 17:30:15 -07:00
Guogang Li 8a66bff097 Made observer list thread safe
PiperOrigin-RevId: 520713657
2023-03-30 12:36:11 -07:00
Guogang Li 5b94880740 Fixed some logic issues to handle BLE v2 advertisement
PiperOrigin-RevId: 520406643
2023-03-29 12:15:37 -07:00
Guogang Li b25314c34c Checked whether support BLE extended advertisement
PiperOrigin-RevId: 519848480
2023-03-27 15:41:38 -07:00
hai007 f2331cfb42 Clean up build file.
PiperOrigin-RevId: 518966242
2023-03-23 14:40:43 -07:00
Aaron Yu e232149008 Add catch(...) exceptions to catch unknown exceptions in NC bluetooth adapter
PiperOrigin-RevId: 518902703
2023-03-23 10:43:07 -07:00
Aaron Yu 59fc030843 Harden NC bluetooth adapter with try catch exceptions
PiperOrigin-RevId: 518664644
2023-03-22 13:55:27 -07:00
Nick Bourdakos cbf50a3d49 Add more visibilities
PiperOrigin-RevId: 518647351
2023-03-22 12:51:23 -07:00
Guogang Li 78145f4433 Fixed crash during devices scanning
PiperOrigin-RevId: 518127975
2023-03-20 18:03:49 -07:00
hai007 d0b258971d Remove the coroutines workaround from Nearby and drop experimental/coroutines.
In Prod LLVM release branch 515643669.1 ( cl/517696539 ) the experimental coroutines implementation is dropped. The `experimental/coroutines` header is removed.

Nearby doesn't use coroutines, but it uses libraries that depend on the existence of coroutine function definitions. Specifically, WinRT needs certain coroutine function definitions in order to compile.

Ordinarily, WinRT relied on the coroutine function definitions provided in the MSVC STL' `experimental/coroutines` header. The introduction of libc++ complicated this dependency for Nearby, because libc++' `experimental/coroutines` header took the place of the MSVC version, and (correctly, for C++17) provided none of the coroutine function definitions.

To resolve these issues, we implemented a patch of WinRT. The patch provided placeholder definitions, which allowed WinRT to pass compilation. This patch was submitted in cl/495104919. The patch was necessary to enable the Nearby migration from MSVC STL to libc++.

--

The removal of `experimental/coroutines` from libc++ makes this patch unnecessary. However, the patch will not compile without libc++' `experimental/coroutines` header.

The presence of libc++' `experimental/coroutines` header had prevented the corresponding MSVC STL' header from defining the functions for which the patch makes placeholders. Without the libc++' `experimental/coroutines` header, the MSVC STL header is employed and makes these definitions. The patch then redefines these functions, which causes a compilation failure.

--

This CL makes two changes: 1) It eliminates the patch, and 2) It eliminates the libc++ `experimental/coroutines` file from the Lexan libc++ distribution. This allows Nearby to function identically before and after the release of Lexan 515643669.1.

This change prevents a break from occurring when Lexan 515643669.1 is released.

PiperOrigin-RevId: 518119913
2023-03-20 17:20:47 -07:00
Janusz Sobczak e202af3ccc Add value parameter to future listeners
Pass the Future result to listeners as a parameter.
This makes the AddListener() API a bit more convenient.

PiperOrigin-RevId: 518040156
2023-03-20 12:15:47 -07:00
Guogang Li 465a82dc1e Avoid task execution to crash thread pool
PiperOrigin-RevId: 517980691
2023-03-20 08:53:03 -07:00
Guogang Li 12156937ee Check device name before calling update callback
PiperOrigin-RevId: 517851883
2023-03-19 20:26:56 -07:00
Guogang Li 44e6ff7bb1 Avoid task execution to crash thread pool
PiperOrigin-RevId: 517558076
2023-03-17 18:58:28 -07:00
Guogang Li 700d5c9dcc Fixed crash bug in BluetoothAdapter
PiperOrigin-RevId: 517556635
2023-03-17 18:44:51 -07:00
hai007 debe65ce54 Tidy up for cl/516905639
PiperOrigin-RevId: 517279013
2023-03-16 18:08:41 -07:00
Guogang Li f7e6deb8ab internal cleanup
PiperOrigin-RevId: 517211099
2023-03-16 13:27:26 -07:00
Qin Wang 52d41aa671 Maintain on_characteristic_changed_cb in GattCharacteristicData struct
PiperOrigin-RevId: 516972294
2023-03-15 17:19:39 -07:00
hai007 4e5f5ed341 Refactor WinRT socket to Win32 socket for Hotspot Server Socket for lower latency
PiperOrigin-RevId: 516905639
2023-03-15 13:00:02 -07:00
John Carroll 999a5e4681 Drop windows/json and use google3/third_party/json instead. Update the LICENSE file.
PiperOrigin-RevId: 516383763
2023-03-13 18:44:42 -07:00
Qin Wang 1e4497d59c Add Write Type enum to specify what type of GATT write should be performed
PiperOrigin-RevId: 515487102
2023-03-09 17:28:09 -08:00
Qin Wang 7e1ca7d458 Print out GattCommunicationStatus to help with debugging
PiperOrigin-RevId: 514809824
2023-03-07 12:38:25 -08:00
Qin Wang 0c078b3528 Convet ByteArray to std::string in ble_gatt_client
PiperOrigin-RevId: 514786088
2023-03-07 11:10:34 -08:00
Qin Wang ba8d60b8a9 Implement subscription for a GATT characteristic value changed
PiperOrigin-RevId: 513960871
2023-03-06 07:08:08 -08:00
John Carroll 4b1423d94e Adding Gatt Server tests.
PiperOrigin-RevId: 513823778
2023-03-03 07:38:56 -08:00
Guogang Li 21e8a0200c Added advertising and scanning for BLE v2
PiperOrigin-RevId: 513652877
2023-03-02 15:17:25 -08:00