100 Commits
Author SHA1 Message Date
Nick Bourdakos e4f25b54c6 Internal
PiperOrigin-RevId: 919352057
2026-05-21 18:01:33 -07:00
Nick Bourdakos 2a09838b61 Remove the need for WebRtc stub
PiperOrigin-RevId: 917974575
2026-05-19 12:46:45 -07:00
Nick Bourdakos 269af7126e Internal
PiperOrigin-RevId: 917918107
2026-05-19 10:53:29 -07:00
Nick Bourdakos b66eebfef4 Remove the need for WebRtcSocket stub
PiperOrigin-RevId: 915477372
2026-05-14 09:48:59 -07:00
Nick Bourdakos 5a846d9155 Remove WebrtcPeerId stub implementation.
PiperOrigin-RevId: 915097446
2026-05-13 15:42:45 -07:00
Nick Bourdakos 92f17e2daa Update Abseil-cpp SwiftPM dependency.
PiperOrigin-RevId: 876437516
2026-02-27 15:21:16 -08:00
Nick Bourdakos 6c0d7af5f3 Fix Package.swift and remove protoc from github actions
PiperOrigin-RevId: 856459928
2026-01-14 19:57:10 -08:00
Nick Bourdakos a0a9a65c4f Remove google-toolbox-for-mac from Nearby Package.swift.
PiperOrigin-RevId: 856299845
2026-01-14 11:42:07 -08:00
Nick Bourdakos 9a25fc22ff Convert certificate ID bytes to a hex string for device ID when mac address is not available
PiperOrigin-RevId: 846851458
2025-12-19 13:43:56 -08:00
Nick Bourdakos 14e14bc0a2 Flag change
PiperOrigin-RevId: 846843939
2025-12-19 13:18:32 -08:00
Nick Bourdakos 9adcbb5941 Wi-Fi Direct Service Implementation(8)
PiperOrigin-RevId: 839323466
2025-12-02 10:18:00 -08:00
Nick Bourdakos 9357295089 webrtc
PiperOrigin-RevId: 834019952
2025-11-18 16:42:12 -08:00
Nick Bourdakos 9bda0031be Remove flag
PiperOrigin-RevId: 833502090
2025-11-17 14:42:48 -08:00
Nick Bourdakos a241cbb7ac webrtc
PiperOrigin-RevId: 833487914
2025-11-17 14:05:55 -08:00
Nick Bourdakos 595c8d3452 Remove flag
PiperOrigin-RevId: 829568582
2025-11-07 14:02:20 -08:00
Nick Bourdakos 74f3e1e638 Remove flag
PiperOrigin-RevId: 829543714
2025-11-07 12:49:54 -08:00
Nick Bourdakos 8792c2d027 Finalize flag
PiperOrigin-RevId: 829508348
2025-11-07 11:14:01 -08:00
Nick Bourdakos 2563ce876e Remove flag
PiperOrigin-RevId: 829477374
2025-11-07 09:57:27 -08:00
Nick Bourdakos 76975540a4 Finalize flag
PiperOrigin-RevId: 829467226
2025-11-07 09:25:24 -08:00
Nick Bourdakos d6da1706c9 Update flags
PiperOrigin-RevId: 808693428
2025-09-18 12:39:34 -07:00
Nick Bourdakos ae94fa2cdc Refactor SPM
PiperOrigin-RevId: 808549949
2025-09-18 06:23:33 -07:00
Nick Bourdakos 6cf792c9b2 Update Abseil SPM dependency
PiperOrigin-RevId: 806372541
2025-09-12 11:56:00 -07:00
Nick Bourdakos 2b209579f3 Update flags
PiperOrigin-RevId: 803124024
2025-09-04 12:12:37 -07:00
Nick Bourdakos 0bad8b0c98 Ensure parent directories exist before creating output files on Apple
PiperOrigin-RevId: 800443625
2025-08-28 06:40:05 -07:00
Nick Bourdakos 804e1a429c Flags
PiperOrigin-RevId: 796468419
2025-08-18 09:58:48 -07:00
Nick Bourdakos bff02013c9 Add implementation for log file path
PiperOrigin-RevId: 794256202
2025-08-12 13:52:47 -07:00
Nick Bourdakos 2f8ef203f7 Delete EntryPointTest.swift
PiperOrigin-RevId: 794217354
2025-08-12 12:16:50 -07:00
Nick Bourdakos 4c5637203b Dispatch FireNow to a background queue to avoid blocking UI
PiperOrigin-RevId: 793875585
2025-08-11 18:28:04 -07:00
Nick Bourdakos dc0633c0f8 Internal change
PiperOrigin-RevId: 723164767
2025-02-04 11:28:56 -08:00
Nick Bourdakos 3caae8d58d Remove compatible_with from Bazel targets
PiperOrigin-RevId: 698102508
2024-11-19 12:19:39 -08:00
Nick Bourdakos 2786145f74 Fix proto imports for Fast Pair
PiperOrigin-RevId: 698083007
2024-11-19 11:21:06 -08:00
Nick Bourdakos 01a4c7967e No-op the disconnect method in the BLE GATT client
PiperOrigin-RevId: 696171997
2024-11-13 09:54:23 -08:00
Nick Bourdakos fb3227ae7d Always use the OS device name for iOS and macOS devices
PiperOrigin-RevId: 689609981
2024-10-24 20:03:04 -07:00
Nick Bourdakos ad2e6e3436 Update generated flags header
PiperOrigin-RevId: 688767938
2024-10-22 19:01:26 -07:00
Nick Bourdakos cc205590ab Fix Apple platform implementation bug for SendRequest
PiperOrigin-RevId: 685269857
2024-10-12 15:38:05 -07:00
Nick Bourdakos 1a87241ffd Implement GattClient#Disconnect for Apple implementation of BLEv2
PiperOrigin-RevId: 679218551
2024-09-26 11:09:30 -07:00
Nick Bourdakos 149366bd12 Fix a bug that prevented switching from everyone mode to temporary everyone mode
PiperOrigin-RevId: 673949109
2024-09-12 12:11:18 -07:00
Nick Bourdakos 5e53ac62d5 Update formatting of connections mediums support tables 2024-03-27 23:02:20 -04:00
Nick Bourdakos 32fc3f7c10 Fix spelling of Wi-Fi
PiperOrigin-RevId: 611532710
2024-02-29 11:11:55 -08:00
Nick Bourdakos 5fb7f69830 Expose NearbyFlags through Objective-C package so BLE v2 can more easily be enabled in the Swift SDK
PiperOrigin-RevId: 600790011
2024-01-23 08:04:03 -08:00
Nick Bourdakos 4bdb5000ee Fix broken link
PiperOrigin-RevId: 597606304
2024-01-11 11:16:37 -08:00
Nick Bourdakos 981ad214cd Add BLEv2 as an option for point-to-point and star strategies (currently this is only supported by cluster)
PiperOrigin-RevId: 563202701
2023-09-06 13:40:29 -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 aa0c06257f Add macOS as an OS type
PiperOrigin-RevId: 561959449
2023-09-01 08:19:11 -07:00
Nick Bourdakos 16c6ef924b Fix iOS BLE bugs and crashes
PiperOrigin-RevId: 561695661
2023-08-31 10:37:46 -07:00
Nick Bourdakos 965cc0ecbc Add implementation for async BLE start scan/advertise
PiperOrigin-RevId: 559863656
2023-08-24 14:07: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 034865481a Sanitize incoming file names
PiperOrigin-RevId: 559175545
2023-08-22 11:37:02 -07:00
Nick Bourdakos 9998093366 Add Objective-C++ BLE Medium wrapper
PiperOrigin-RevId: 558278732
2023-08-18 16:37:09 -07:00
Nick Bourdakos 7933842c29 Add BLE Medium
PiperOrigin-RevId: 557933813
2023-08-17 14:17:28 -07:00
Nick Bourdakos 07a94a950d Add Objective-C++ GATT client wrapper
PiperOrigin-RevId: 557925490
2023-08-17 13:48:48 -07:00
Nick Bourdakos 4aa52b45f9 Add GATT client
PiperOrigin-RevId: 557919250
2023-08-17 13:27:39 -07:00
Nick Bourdakos 9d2cfc19c9 Add Objective-C++ GATT server wrapper
PiperOrigin-RevId: 552636264
2023-07-31 17:20:14 -07:00
Nick Bourdakos c1d74120a0 Add initial BLEv2 Bluetooth Adapter
PiperOrigin-RevId: 551922301
2023-07-28 12:32: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
Nick Bourdakos a42cdc7346 Move Server Socket and its dependencies to their own files
PiperOrigin-RevId: 551330682
2023-07-26 15:21:46 -07:00
Nick Bourdakos de3f638129 Extract BLE code into its own target
PiperOrigin-RevId: 551074383
2023-07-25 20:23:59 -07:00
Nick Bourdakos 0f8e5283a4 Add GATT server
PiperOrigin-RevId: 549080231
2023-07-18 12:37:23 -07:00
Nick Bourdakos 99de15aef5 Delete deprecated connections/clients/ios package
PiperOrigin-RevId: 547960446
2023-07-13 16:29:49 -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
Nick Bourdakos 12f9512a19 Use IOS_LATEST for the test runner to prevent Xcode 14.3 issues
PiperOrigin-RevId: 541053739
2023-06-16 17:37:39 -07:00
Nick Bourdakos 8fc16247d3 Fix potential deadlock by running timer callback in another thread
PiperOrigin-RevId: 538469916
2023-06-07 19:16:08 +00: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
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 17ba32c68b Fix a macOS bug with web request when decoding data
PiperOrigin-RevId: 532940555
2023-05-17 16:07:38 -07:00
Nick Bourdakos ae35b1a242 Internal change
PiperOrigin-RevId: 532215519
2023-05-15 13:56:22 -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
Nick Bourdakos 8886b99dde Refactor the preferences repository to be a Windows implementation detail of the preferences manager
PiperOrigin-RevId: 531086202
2023-05-10 21:26:32 -07:00
Nick Bourdakos 182ebad725 Use push and pop to add back the CreateMutex Windows macro to avoid issues in Windows app code.
PiperOrigin-RevId: 530668276
2023-05-09 11:36:06 -07:00
Nick Bourdakos ebab912fb6 Fix heap-use-after-free issue in fake timer
PiperOrigin-RevId: 530644090
2023-05-09 10:15:09 -07:00
Nick Bourdakos 58772e95f9 Internal change
PiperOrigin-RevId: 529464527
2023-05-04 11:24:39 -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
Nick Bourdakos 472a1d847b Fix logging bug
PiperOrigin-RevId: 523910721
2023-04-12 23:40:50 -07:00
Nick Bourdakos ddea50e013 Fix Package.swift
PiperOrigin-RevId: 523907283
2023-04-12 23:17:27 -07:00
Nick Bourdakos c919ed73a9 Update custom save path logic to include parent folder and prevent duplicate names from overwriting other files.
PiperOrigin-RevId: 522123924
2023-04-05 12:31:06 -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 f7edb0c858 Add Apple implementation for device info
PiperOrigin-RevId: 521834323
2023-04-04 12:27:43 -07:00
Nick Bourdakos d6f66237b0 Update Apple implementation to cancel the timer before calling the callback
This fixes a crash where the Timer is destroyed as soon as the callback is called, so Timer::Stop can't be safely called.

PiperOrigin-RevId: 521760888
2023-04-04 07:47:14 -07:00
Nick Bourdakos 78d5246060 Clean up spaces
PiperOrigin-RevId: 521464768
2023-04-03 08:23:30 -07:00
Nick Bourdakos 14e7832be0 Internal change
PiperOrigin-RevId: 520638739
2023-03-30 12:34:53 -07:00
Nick Bourdakos c73ebe8778 Add import comments
PiperOrigin-RevId: 520433728
2023-03-29 13:55:46 -07:00
Nick Bourdakos 64ff0ee034 Comment protos
PiperOrigin-RevId: 520349919
2023-03-29 09:00:08 -07:00
Nick Bourdakos a933a91413 Internal Change
PiperOrigin-RevId: 520165614
2023-03-28 16:26:40 -07:00
Nick Bourdakos 4ff3464679 Internal change
PiperOrigin-RevId: 519219499
2023-03-24 13:14:42 -07:00
Nick Bourdakos decdc15402 Internal change
PiperOrigin-RevId: 519204238
2023-03-24 12:06:55 -07:00
Nick Bourdakos 99298444df Use @rules_cc for cc_proto_library
PiperOrigin-RevId: 519188761
2023-03-24 12:05:19 -07:00
Nick Bourdakos e21f736588 Internal change
PiperOrigin-RevId: 519180519
2023-03-24 11:05:33 -07:00
Nick Bourdakos b5787017cf Add a PR template
PiperOrigin-RevId: 519160041
2023-03-24 09:16:15 -07:00
Nick Bourdakos ebf87cc581 Update issue template
PiperOrigin-RevId: 518676538
2023-03-22 14:40:04 -07:00
Nick Bourdakos 87af84cddd Add issue templates
PiperOrigin-RevId: 518658906
2023-03-22 13:33:59 -07:00
Nick Bourdakos cbf50a3d49 Add more visibilities
PiperOrigin-RevId: 518647351
2023-03-22 12:51:23 -07:00
Nick Bourdakos 0b3c759aa3 Remove unneeded WebRTC flags
PiperOrigin-RevId: 518629654
2023-03-22 11:44:12 -07:00
Nick Bourdakos ec025502dc Refactor WebRTC code to avoid use of select for stubs
PiperOrigin-RevId: 518491132
2023-03-22 00:25:54 -07:00
Nick Bourdakos 39df20d821 Internal change
PiperOrigin-RevId: 518186148
2023-03-20 23:51:16 -07:00
Nick Bourdakos 57dd89c34c Internal change
PiperOrigin-RevId: 518076706
2023-03-20 14:27:22 -07:00
Nick Bourdakos ced4369202 Fix README link typo
PiperOrigin-RevId: 518024831
2023-03-20 11:24:20 -07:00
Nick Bourdakos f5eac5c47d Update README
PiperOrigin-RevId: 518014725
2023-03-20 10:50:10 -07:00
Nick Bourdakos 076da722b1 Move CONTRIBUTING.md and CODE_OF_CONDUCT.md to the repo root and delete the docs directory
PiperOrigin-RevId: 517480463
2023-03-17 12:37:22 -07:00