Commit Graph
652 Commits
Author SHA1 Message Date
Nick Bourdakos 9d2cfc19c9 Add Objective-C++ GATT server wrapper
PiperOrigin-RevId: 552636264
2023-07-31 17:20:14 -07:00
Richard Levasseur 0d58ead61c Internal change
PiperOrigin-RevId: 552574409
2023-07-31 13:22:20 -07:00
Nick Bourdakos c1d74120a0 Add initial BLEv2 Bluetooth Adapter
PiperOrigin-RevId: 551922301
2023-07-28 12:32:27 -07:00
Guogang Li eb5f8aed10 Fixed WI-FI hotspot stuck issue during close
PiperOrigin-RevId: 551703821
2023-07-27 18:57:27 -07:00
Nick Bourdakos 0a13ce51f4 Make GNCBLEGATTServer thread safe
Fixes an issue where if a characteristic is created and then updated with a non-nil value, and a new characteristic under the same service is added, then when the service is re-added the old characteristic will be permanently cached and the dynamic reads will stop working.

This also eliminates the issue when characteristics are created concurrently, since service additions are batched, if the service addition fails then only one of the characteristics will know that it failed to get added.

This change also introduces the nuance of "success" does not mean the CoreBluetooth method has completed successfully, but instead means that the intended state has been recorded and the class will do its best to maintain that state. For example, a successful "start advertising" call means that we have the advertisement cached and we will start advertising as soon as we can (like BT transitions from off to on) and will do our best to keep advertising (like BT transitions from on to off to on again).

PiperOrigin-RevId: 551660634
2023-07-27 15:40:30 -07:00
Janusz Sobczak 974d4b357c Skip SDP check for FP rfcomm connection on Windows
The SDP checks fails but rfcomm connection works.
Skipping the SDP check does not seem to have any ill side effects.

PiperOrigin-RevId: 551370531
2023-07-26 18:15:44 -07:00
Nick Bourdakos a42cdc7346 Move Server Socket and its dependencies to their own files
PiperOrigin-RevId: 551330682
2023-07-26 15:21:46 -07:00
Thomas Van Lenten 7e1f286d93 Don't compile utils.mm twice.
PiperOrigin-RevId: 551315072
2023-07-26 14:25:24 -07:00
Nick Bourdakos de3f638129 Extract BLE code into its own target
PiperOrigin-RevId: 551074383
2023-07-25 20:23:59 -07:00
Janusz Sobczak c6d96b5971 Fix minor defects
Fixes use-after-free and NPE errors.

PiperOrigin-RevId: 551042892
2023-07-25 17:20:31 -07:00
Janusz Sobczak dfdb5a6405 Fix crash in BleV2MediumTest::StartScanningTmp
This fixes flakiness in the tests.

PiperOrigin-RevId: 551009093
2023-07-25 15:09:47 -07:00
Guogang Li 99c5e19f3f internal update
PiperOrigin-RevId: 550729573
2023-07-24 18:15:44 -07:00
Anthony Rueda 37b9119615 [Presence] Extend shared credential proto with int64 secret id field
PiperOrigin-RevId: 550661806
2023-07-24 13:48:54 -07:00
Janusz Sobczak 225eab6505 Fix race condition in BluetoothSocket
The change is for tests only.

PiperOrigin-RevId: 550023162
2023-07-21 12:42:59 -07:00
Janusz Sobczak 2e1ed2b465 Fix wifi test flakiness
PiperOrigin-RevId: 549683201
2023-07-20 11:06:44 -07:00
Crisrael Lucero 0e44ed626d Refactor crypto/ directory into crypto_cros/ and crypto/
PiperOrigin-RevId: 549467911
2023-07-19 17:12:52 -07:00
Guogang Li e5fdddec6d internal update
PiperOrigin-RevId: 549461047
2023-07-19 16:43:10 -07:00
Anay Wadhera d6d5310389 Weave port [8/n]: Introduce server socket implementation
PiperOrigin-RevId: 549446494
2023-07-19 15:43:57 -07:00
Guogang Li c6566b00c7 internal update
PiperOrigin-RevId: 549351164
2023-07-19 10:15:19 -07:00
Janusz Sobczak 281032ee78 Fix flakiness in TaskRunnerImpl
PiperOrigin-RevId: 549119512
2023-07-18 14:55:19 -07:00
Nick Bourdakos 0f8e5283a4 Add GATT server
PiperOrigin-RevId: 549080231
2023-07-18 12:37:23 -07:00
Anay Wadhera 2dcfe66f2e update device provider api for multi-identity auth
PiperOrigin-RevId: 548767413
2023-07-17 12:30:34 -07:00
Anay Wadhera 484a740aec fix data race in client socket test
PiperOrigin-RevId: 548761683
2023-07-17 12:08:27 -07:00
Anay Wadhera 1bcb70c8b9 fix data races in weave socket test
PiperOrigin-RevId: 548173466
2023-07-14 11:17:33 -07:00
Guogang Li a72be2bc8c internal update
PiperOrigin-RevId: 547982511
2023-07-13 18:21:18 -07:00
Nick Bourdakos 96348b6ba7 Add BLE conversion utils
PiperOrigin-RevId: 547958170
2023-07-13 16:20:04 -07:00
Nick Bourdakos e0b2e176c8 Add Objective-C GATT characteristic container.
PiperOrigin-RevId: 547954006
2023-07-13 16:05:18 -07:00
hai007 48184e6b4d Add IfChange annotation to ensure the proto sync between 3rd party and the server copy.
PiperOrigin-RevId: 547953571
2023-07-13 16:01:55 -07:00
Janusz Sobczak 9f42452386 Fix PCP handler cleanup
All tasks in base_pcp_handler must complete before
p2p_cluster_pcp_handler is destroyed to prevent use-after-free errors.

Added a couple of missing StopDiscovery calls.

PiperOrigin-RevId: 547931350
2023-07-13 14:56:14 -07:00
Anay Wadhera 41f0b3d330 Fix use of uninitialized value error in Weave.
PiperOrigin-RevId: 547902671
2023-07-13 13:28:54 -07:00
Guogang Li 33e2fdddf4 internal cleanup
PiperOrigin-RevId: 547888600
2023-07-13 12:45:54 -07:00
Janusz Sobczak 11ed2cec74 Improve timing in OfflineServiceControllerTest
Some of the tests are flaky.
Significantly increased timeouts will give us confidence that
tests are failing due to a defect and not due to a test taking a little
bit more time than usual.

PiperOrigin-RevId: 547819011
2023-07-13 09:10:35 -07:00
Anay Wadhera f95a875cde Weave port [7/n]: Introduce Weave client socket implementation
PiperOrigin-RevId: 547812816
2023-07-13 08:45:16 -07:00
Guogang Li b113f5550d Workaround for "backward reference detected" issue
PiperOrigin-RevId: 547646854
2023-07-12 17:34:04 -07:00
Guogang Li 85a01e9636 internal refactor
PiperOrigin-RevId: 547586065
2023-07-12 13:31:57 -07:00
Janusz Sobczak d559a4a435 Fix tsan errors
Improve clean up order to prevent use-after-free errors.

PiperOrigin-RevId: 547313964
2023-07-11 15:26:43 -07:00
Guogang Li 4a71c4d2d0 Move NS implementation to third party folder
PiperOrigin-RevId: 546966492
2023-07-10 13:39:42 -07:00
Janusz Sobczak 522ac8c13e Fix threading issues in tests
The changes make thread sanitizer happy.

PiperOrigin-RevId: 546960147
2023-07-10 13:17:12 -07:00
Anay Wadhera eff0e2d3c6 Commonize callback construction for discovery.
PiperOrigin-RevId: 546934102
2023-07-10 11:35:34 -07:00
hai007 3726589865 internal change
PiperOrigin-RevId: 546900740
2023-07-10 09:51:07 -07:00
Janusz Sobczak ca9bbd3a9c Fix several race conditions
The fixes are specific to unit test environment.

PiperOrigin-RevId: 546342096
2023-07-07 11:53:50 -07:00
Anay Wadhera 4a185d0317 Add NearbyDevice::ToProto() API
PiperOrigin-RevId: 546055852
2023-07-06 12:07:01 -07:00
Janusz Sobczak 08d157399c Fix TaskRunnerImpl::PostDelayedTask
The timers were destroyed from timer's callbacks. Moving the destruction
to a separate callback fixes the issue.

PiperOrigin-RevId: 545916450
2023-07-06 02:01:03 -07:00
hai007 4f6adb3771 Fix typo
PiperOrigin-RevId: 545787602
2023-07-05 14:31:49 -07:00
Anay Wadhera 04936e0aba slight cleanup of Weave TryWriteControl()
PiperOrigin-RevId: 545755012
2023-07-05 12:32:07 -07:00
Guogang Li 92a1510158 Fixed an upgrade issue
PiperOrigin-RevId: 544778015
2023-06-30 16:44:04 -07:00
Janusz Sobczak 7a99b5e0a3 Specialize ExceptionOr<bool>
ExceptionOr<T>::ok() returns true if the value is set. This can be misleading
for boolean types.
ExceptionOr<bool> result = SomeFunction();
if (result.ok()) {
 if (result.result() {
  // Case 1: SomeFunction returned true
 } else {
  // Case 2: SomeFunction returned false
} else {
  // Case 3: SomeFunction returned an exception
}
It's easy to overlook case 2.
The specialized ExceptionOr<bool>::ok() returns false in Case 2, which allows
us to write:
if (result) {
 // SomeFunction returned true
} else {
 // SomeFunction returned false or an exception
 // result.GetException() can be used if we need to handle different exceptions
 // differenty
}

PiperOrigin-RevId: 544715641
2023-06-30 11:59:43 -07:00
Qin Wang a8b6fdee59 Implement fake GetResponse and migrate fake_http_client to third_party/nearby/internal/test
PiperOrigin-RevId: 544518775
2023-06-29 18:39:50 -07:00
Guogang Li a7ad6303ec internal bug fix
PiperOrigin-RevId: 544477173
2023-06-29 15:21:11 -07:00
Qin Wang 22c3a07677 Migrate DataManager to third_party/nearby/internal
PiperOrigin-RevId: 544395891
2023-06-29 10:31:07 -07:00