Commit Graph
28 Commits
Author SHA1 Message Date
hai007 a2d018cd87 Add nullability annotation
PiperOrigin-RevId: 637062647
2024-05-24 16:19:04 -07:00
Guogang Li 387a51b260 internal update
PiperOrigin-RevId: 619595164
2024-03-27 11:25:55 -07:00
Nick Bourdakos 197d3f8476 Fix weave bug for payloads that exceed the maximum write length
PiperOrigin-RevId: 563185164
2023-09-06 12:39:47 -07:00
Nick Bourdakos 16c6ef924b Fix iOS BLE bugs and crashes
PiperOrigin-RevId: 561695661
2023-08-31 10:37:46 -07:00
Nick Bourdakos 91fb4a9a3e Add stop advertising and stop scanning BLE implementation for Apple platforms
PiperOrigin-RevId: 559838443
2023-08-24 12:45:23 -07:00
Nick Bourdakos 387393f1d6 Delete old BLE code for Apple platforms
PiperOrigin-RevId: 559515626
2023-08-23 12:54:15 -07:00
Nick Bourdakos 7933842c29 Add BLE Medium
PiperOrigin-RevId: 557933813
2023-08-17 14:17:28 -07:00
Nick Bourdakos 4aa52b45f9 Add GATT client
PiperOrigin-RevId: 557919250
2023-08-17 13:27:39 -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
Nick Bourdakos 0f8e5283a4 Add GATT server
PiperOrigin-RevId: 549080231
2023-07-18 12:37:23 -07:00
Nick Bourdakos e0b2e176c8 Add Objective-C GATT characteristic container.
PiperOrigin-RevId: 547954006
2023-07-13 16:05:18 -07:00
Dave MacLachlan 1d68d2fe10 Remove unneeded noRetainObjectArgs
PiperOrigin-RevId: 537896949
2023-06-05 09:25:58 -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
Nick Bourdakos 6958edb8cc Fix Wi-Fi LAN bug where frames with all zero bytes were being sent
This was causing the receiving device to consistently (~9/10 times) get stuck in the "waiting for other device to accept" state.

PiperOrigin-RevId: 531295543
2023-05-11 13:45:48 -07:00
Anay Wadhera f21b1e7089 internal change
PiperOrigin-RevId: 529179617
2023-05-03 13:32:34 -07:00
hai007 6b25d430d9 copybara update
PiperOrigin-RevId: 528861897
2023-05-02 12:48:09 -07:00
Nick Bourdakos 84f480fdd1 Fix IP address bug where 4 byte version wasn't converted to dotted decimal form
Introduces a tested `GNCIPAddress` class to make it more explicit of which IP address format is being used at call sites to prevent similar issues in the future.

PiperOrigin-RevId: 528572993
2023-05-01 14:20:12 -07:00
Eiden Kim aea5b223d3 Create min iOS and test runner under third_party/nearby for common test target.
PiperOrigin-RevId: 527754820
2023-04-27 19:52:01 -07:00
hai007 5dfe7094c3 Update unit test minimum IOS version to 13.7
PiperOrigin-RevId: 527738714
2023-04-27 18:09:15 -07:00
Eiden Kim b0985c70b4 Update iOS unit test min version to have IOS_MINIMUM_OS
PiperOrigin-RevId: 527675057
2023-04-27 13:56:15 -07:00
Nick Bourdakos 1d2b0272d3 Fix crash when closing Wi-Fi LAN server socket
PiperOrigin-RevId: 521883606
2023-04-04 15:36:43 -07:00
Nick Bourdakos 179c67291c Remove old Wi-Fi LAN package
PiperOrigin-RevId: 510349290
2023-02-16 23:36:10 -08:00
Nick Bourdakos 949d882727 Add discovery/connect implementation for Wi-Fi LAN medium that uses the Network framework
PiperOrigin-RevId: 510221769
2023-02-16 13:03:21 -08:00
Nick Bourdakos 60d021b5f2 Add initial implementation for Wi-Fi LAN medium that use the Network framework
PiperOrigin-RevId: 508784614
2023-02-10 16:47:27 -08:00
Nick Bourdakos a96760b977 Add implementation for Wi-Fi LAN server socket that use the Network framework
PiperOrigin-RevId: 508517597
2023-02-09 17:21:26 -08:00
Nick Bourdakos fc3bf91485 Add implementation for Wi-Fi LAN sockets that use the Network framework
PiperOrigin-RevId: 507922710
2023-02-07 16:54:11 -08:00
Qin Wang ed9890957f Upgrade minimum_os_version to 13.0
PiperOrigin-RevId: 504597125
2023-01-25 10:23:19 -08:00
Nick Bourdakos 07998a05ed Change "ios" package name to "apple" since its usage isn't limited to iOS
PiperOrigin-RevId: 497046967
2022-12-21 18:09:42 -08:00