Commit Graph
622 Commits
Author SHA1 Message Date
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
Qin Wang d55caf0c4b Enable ble_medium scanning for advertisement with Fast Pair Service UUID
PiperOrigin-RevId: 544158039
2023-06-28 14:17:36 -07:00
Juliet Levesque 34128a35de [Nearby Connections] Enable Cancellation Flags
Re-enables Cancellation Flags once fixes for crashes caused by destroying the cancellation flags that are being consumed by other classes have landed.

PiperOrigin-RevId: 543857192
2023-06-27 14:46:19 -07:00
hai007 ac0af7b048 Fix g3 platform timer implementation.
PiperOrigin-RevId: 542931629
2023-06-23 12:41:41 -07:00
hai007 d91f7e6f44 Automated visibility attribute cleanup.
PiperOrigin-RevId: 542896809
2023-06-23 10:34:27 -07:00
hai007 80ddcbe0fc Fix a crash when reading file on Windows platform.
Suspect the file was corrupted when sending to receiver side. Check if it is good first, then peek. By this way, the crash maybe avoid. For further protection, add exception protection here.

PiperOrigin-RevId: 542884209
2023-06-23 09:46:59 -07:00
Anay Wadhera bb3de11104 Weave port [6/n]: Introduce Base socket implementation and connection interface.
PiperOrigin-RevId: 542872801
2023-06-23 09:00:39 -07:00
Guogang Li 72af220dae Wait for all tasks completed in thread pool
PiperOrigin-RevId: 542866176
2023-06-23 08:30:37 -07:00
Guogang Li bd30b11401 Fixed crash when stopping advertising
PiperOrigin-RevId: 542580849
2023-06-22 09:23:00 -07:00
Anay Wadhera 5da4b33824 Revert "Revert incoming connections listener changes for internal breakages."
PiperOrigin-RevId: 542381558
2023-06-21 15:36:44 -07:00
Aaron Yu 7eca4d74c6 Fix __FrameHandler3::CxxCallCatchBlock crashes at Nearby Connections layer
PiperOrigin-RevId: 542085514
2023-06-20 16:43:14 -07:00
Anay Wadhera 1973b09849 Revert incoming connections listener changes for internal breakages.
PiperOrigin-RevId: 542010849
2023-06-20 12:16:10 -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
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
Anthony Rueda c829632879 [Presence] Pass DeviceIdentityMetadata materials to PresenceDevice during advertisement decryption
PiperOrigin-RevId: 540715111
2023-06-15 16:00:50 -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
hai007 efb0fd9a0a Update Tachyon protos to allow Messaging APIs to be callable.
PiperOrigin-RevId: 540336655
2023-06-14 11:49:13 -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
Anay Wadhera 1c455e3488 introduce authentication transport function into DeviceProvider
PiperOrigin-RevId: 538909999
2023-06-08 15:41:54 -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