Commit Graph
96 Commits
Author SHA1 Message Date
hai007 c78bf2b209 Automated visibility attribute cleanup.
PiperOrigin-RevId: 522116588
2023-04-05 12:00:55 -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
Janusz Sobczak c249c3079f Support fake clock in test environment
A synthetic clock helps testing (long) timeouts by allowing us to move the time
forward by an arbitrary amount.

PiperOrigin-RevId: 520407442
2023-03-29 12:19:28 -07:00
Qin Wang a62000d3a8 Add g3 platform/medium_Environment for GattConnection
PiperOrigin-RevId: 520387265
2023-03-29 11:10:07 -07:00
Nick Bourdakos a933a91413 Internal Change
PiperOrigin-RevId: 520165614
2023-03-28 16:26:40 -07:00
Janusz Sobczak adcb341190 Verify that IO on closed socket returns an error
The test implementation of BluetoothSocket::GetInputStream() would crash if
the socket was closed. That's not ideal because the caller can't verify if the
socket is open or closed.

New test verifies that GetOutputStream() and GetInputStream() always return a
valid reference.

PiperOrigin-RevId: 518722540
2023-03-22 18:04:12 -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
Anay Wadhera 69d2098ecb Weave port [1/n]: Introduce Weave packet implementation
PiperOrigin-RevId: 517526002
2023-03-17 15:44:09 -07:00
Qin Wang 86ca85b85a Migrate fake functions to third_party/nearby to help unit test
PiperOrigin-RevId: 517433481
2023-03-17 09:34:58 -07:00
Janusz Sobczak a70826dbf8 Add a timeout to Future
Future has a `Get(Duration)` method which allows us to wait synchronously until
a timeout.
Adding a timeout to the constructor allows the Future to time out
asynchronously.

PiperOrigin-RevId: 516982717
2023-03-15 18:18:54 -07:00
Guogang Li fd5430764f Created NearbyFlags to avoid create multiple classes
PiperOrigin-RevId: 516885843
2023-03-15 11:44:25 -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
Guogang Li 988847e2d6 internal change
PiperOrigin-RevId: 515350366
2023-03-09 09:01:58 -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
Qin Wang 4727861f5d Refactor GattCharactristic to support bitwise combination of Permission and Property
PiperOrigin-RevId: 513339751
2023-03-01 14:21:04 -08:00
Anay Wadhera abe68db97d Add GattServer#NotifyCharacteristicChanged to ble_v2
PiperOrigin-RevId: 512124578
2023-02-24 11:46:33 -08:00
Anay Wadhera f3ebf77ed2 Add GattClient#SetCharacteristicNotification for subscribing to a GATT characteristic
PiperOrigin-RevId: 511862183
2023-02-23 12:54:41 -08:00
Aaron Yu fc1811f966 Set g3 bluetooth adapter to be enabled by default and remove Toggle()
PiperOrigin-RevId: 509962396
2023-02-15 16:25:43 -08:00
Janusz Sobczak 5f4144cd0b Update SharedCredential definition
PiperOrigin-RevId: 507568902
2023-02-06 13:33:23 -08:00
Eiden Kim 3d9ce368ff Fixed crashpad db creation failure and changed root to CommonAppData. Changed captured Nearby Share Info to save to CommonAppData. Changed Clearcut root to CommonAppData.
PiperOrigin-RevId: 506528040
2023-02-01 23:15:22 -08:00
hai007 3cbbecd53a Change log and crash dump locations from a per user data location to a per machine common data location.
PiperOrigin-RevId: 505711827
2023-01-30 09:14:00 -08:00
Janusz Sobczak 94e70d0ddd Store consumed salts in private credentials
PiperOrigin-RevId: 505167378
2023-01-27 11:30:54 -08:00
Qin Wang a0692e6306 Migrate device_info from location/nearby to third_party/nearby
PiperOrigin-RevId: 504935151
2023-01-26 14:01:11 -08:00
Anay Wadhera c58b45eb50 Rename PublicCredential to SharedCredential and PrivateCredential to LocalCredential
PiperOrigin-RevId: 503221477
2023-01-24 12:09:21 -08:00
Janusz Sobczak f4d85f9b90 Migrate to AnyInvocable in platform code
PiperOrigin-RevId: 504104740
2023-01-23 16:04:21 -08:00
Janusz Sobczak a29be214a3 Migrate to absl::AnyInvocable in NP.
Replaces a bunch of std::function uses with absl::AnyInvocable.

PiperOrigin-RevId: 502960326
2023-01-18 13:16:29 -08:00
hai007 ea3fa0e392 Fix a bug in which an iterator is compared to an end iterator from a different hashtable.
PiperOrigin-RevId: 502652950
2023-01-17 12:10:15 -08:00
Qin Wang f94aa7548b Migrate Timer from location/nearby to third_party/nearby
PiperOrigin-RevId: 501928835
2023-01-13 13:44:17 -08:00
hai007 868e42f5f2 Fix a bug in which an iterator is compared to an end iterator from a different hashtable.
PiperOrigin-RevId: 501928248
2023-01-13 13:40:47 -08:00
Janusz Sobczak 0e2111afc2 Collapse success&failure callbacks into one
Instead of two callbacks:
- void on_success(Result result)
- void on_failure(Status status)
use just one callback:
void on_result(StatusOr<Result> result)

PiperOrigin-RevId: 501912034
2023-01-13 12:28:47 -08:00
Janusz Sobczak 4fc1583b94 Migrate to absl::AnyInvocable
PiperOrigin-RevId: 501392167
2023-01-11 15:19:33 -08:00
hai007 2f8ecbe610 Fix a bug in which an iterator is compared to an end iterator from a different hashtable.
PiperOrigin-RevId: 501007094
2023-01-10 08:54:57 -08:00
hai007 3939ed4735 Automated visibility attribute cleanup.
PiperOrigin-RevId: 500193739
2023-01-06 15:01:48 -08:00
Suet-Fei Li 084f7ebd88 Remove location namespace in third_party/nearby.
PiperOrigin-RevId: 500023196
2023-01-06 02:53:57 -08:00
hai007 f7f0a266fe WIFI Direct implementation (5)
Part 5: Add WifiDirect Server/Client Socket and Credential

PiperOrigin-RevId: 499401159
2023-01-03 23:10:15 -08:00
hai007 88e350e5d2 Integrate network related part which both nearby sharing and fastpair are adopted.
Details can be seen in the `Integrate reusable internal components into third_party` part of `server access design doc` (go/fast_pair_server_data_access)

PiperOrigin-RevId: 498208011
2022-12-28 10:28:32 -08:00
Janusz Sobczak e64f9859e1 Replace BleOperationStatus with absl::Status
PiperOrigin-RevId: 497191477
2022-12-22 10:20:15 -08:00
Janusz Sobczak 3247eed795 Filter credentials based on identity type.
Filter the credentials in G3 implementation of CredentialStorage based on IdentityType.
Previously, IdentityType was ignored in GetPrivateCredentials() and GetPublicCredentials().

PiperOrigin-RevId: 495729148
2022-12-15 16:42:31 -08:00
Janusz Sobczak 337e1f41b0 Clarify CredentialStorage interface.
SaveCredentials does not to return the credentials that it has just saved. Returning a status will do.
Improved documentation.

PiperOrigin-RevId: 494280108
2022-12-09 15:41:12 -08:00
Janusz Sobczak 5ce2485694 Replace .proto.h with .pb.h
We should be using public .pb.h files

PiperOrigin-RevId: 494011872
2022-12-08 15:32:02 -08:00
Janusz Sobczak a92abac83a Update advertisement encoder/decoder
1. Update the API to accept the credentials on input instead of credential manager.
2. Update the test with values using the LDT encryption.

These changes allow us to have a more asynchronous implementaion.
When broadcasting we can:
1. Fetch the private credentials asynchronously.
2. Create the advertisement and start broadcasting when the credentials have been fetched.

When scanning we can:
1. Fetch public credentials asynchronously.
2. Start scanning for advertisements.
3. Update the decoder when new credentials are fetched.

PiperOrigin-RevId: 493998041
2022-12-08 14:36:44 -08:00
Suet-Fei Li a8ca18f477 Internal refactor.
PiperOrigin-RevId: 493970269
2022-12-08 12:47:57 -08:00
Suet-Fei Li 9f9bd40ada Internal flow.
PiperOrigin-RevId: 493719005
2022-12-07 15:05:45 -08:00
Aaron Yu 49af1a96b6 Add SetCustomSavePath API to Nearby Connections
PiperOrigin-RevId: 492563503
2022-12-02 14:38:55 -08:00
Hai Shang 6871b9d5a6 Add initial impl for UpdateRemotePublicCredentials in CredentialManager.
PiperOrigin-RevId: 491458184
2022-11-28 15:24:26 -08:00
hai007 5066b189f9 Pass over MediumMetadata to client_proxy for incoming connection
PiperOrigin-RevId: 489597576
2022-11-18 17:41:42 -08:00
Qin Wang a9062b958d Implement Ble for Fast Pair Windows
PiperOrigin-RevId: 489254207
2022-11-17 10:58:34 -08:00