Janusz Sobczak
0fb81f2b27
Enable LDT by default
...
PiperOrigin-RevId: 494227035
2022-12-09 11:50:36 -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
Anay Wadhera
87c57534a4
Include check.h header to fix Github presence build
...
PiperOrigin-RevId: 493067786
2022-12-05 11:43:05 -08:00
Anay Wadhera
40e391b33d
Explicitly convert absl::string_view to std::string
...
PiperOrigin-RevId: 492260785
2022-12-01 12:01:09 -08:00
Janusz Sobczak
3aa109a29b
Add NoDeviceFoundAfterStopScan test
...
PiperOrigin-RevId: 492260183
2022-12-01 11:57:13 -08:00
Anay Wadhera
109458b7ad
Add missing header to service_controller.h
...
PiperOrigin-RevId: 492193352
2022-12-01 07:44:48 -08:00
Janusz Sobczak
255bdb6139
Add StopScan method.
...
Add StopScan and refactor StartScan to return a sesssion id.
Move handling of StartScan, StopScan and NotifyFoundBle to the same thread to avoid race conditions.
Implement start advertising in service controller.
PiperOrigin-RevId: 492016697
2022-11-30 14:21:26 -08:00
Anay Wadhera
fb544f7900
Add missing headers to service_controller_impl.h to fix Chrome
...
PiperOrigin-RevId: 491969884
2022-11-30 11:17:49 -08:00
Janusz Sobczak
e44f7eac61
Aynchronous start and stop broadcast
...
PiperOrigin-RevId: 491772964
2022-11-29 16:59:41 -08:00
Janusz Sobczak
f0d36f8d8d
Add StopBroadcast
...
Use explicit StopBroadcast API instead of a callback in BoroadcastSession.
PiperOrigin-RevId: 491759852
2022-11-29 16:00:28 -08:00
Anay Wadhera
b7415ecd40
Implement NearbyDevice for PresenceDevice.
...
PiperOrigin-RevId: 491705794
2022-11-29 12:19:47 -08:00
Hai Shang
6871b9d5a6
Add initial impl for UpdateRemotePublicCredentials in CredentialManager.
...
PiperOrigin-RevId: 491458184
2022-11-28 15:24:26 -08:00
Janusz Sobczak
8bd3d34580
Link with Rust NP LDT
...
Add conditional dependency on Rust NP LDT.
By default, we will use an empty stub.
PiperOrigin-RevId: 490554102
2022-11-23 11:55:52 -08:00
Anay Wadhera
52d81710a2
Add fields to PresenceDevice
...
PiperOrigin-RevId: 490345719
2022-11-22 15:03:09 -08:00
Janusz Sobczak
9e61866ee3
Sync with Rust LDT changes
...
PiperOrigin-RevId: 490288278
2022-11-22 11:16:21 -08:00
Janusz Sobczak
a3b6058753
Fully qualify ::location::nearby imports.
...
Find and replace exercise.
Replace
`using location::nearby`
with
`using ::location::nearby`
and
`using <Name> = location::nearby`
with
`using <Name> = ::location::nearby`
PiperOrigin-RevId: 490087051
2022-11-21 15:33:21 -08:00
Janusz Sobczak
a11733988f
Implement start advertising in service controller.
...
PiperOrigin-RevId: 489584407
2022-11-18 16:17:55 -08:00
Anay Wadhera
beb67fc02a
Call StopScan() when ScanSession goes out of scope and make sure stop can only be called once.
...
PiperOrigin-RevId: 488717591
2022-11-15 11:46:34 -08:00
Anay Wadhera
b7de5f4097
Resolve unique_ptr being thrown away and potential deadlock issue
...
PiperOrigin-RevId: 487979164
2022-11-11 20:30:27 -08:00
Nick Bourdakos
4fb6ba318c
Internal change
...
PiperOrigin-RevId: 486691317
2022-11-07 09:59:14 -08:00
Janusz Sobczak
a90b7f85fc
Disable medium env by default.
...
MediumEnvironment's initial state will now match the state after calling `Stop()`.
Cleaned up tests that were calling Stop() before test start.
PiperOrigin-RevId: 486277290
2022-11-04 18:56:30 -07:00
Janusz Sobczak
5faa395f24
Change enum PublicCredentialType to enum class.
...
PiperOrigin-RevId: 486243753
2022-11-04 15:26:34 -07:00
Janusz Sobczak
23c9b106b1
Remove dependency on tink.
...
PiperOrigin-RevId: 486232030
2022-11-04 14:32:56 -07:00
Janusz Sobczak
951945dd5c
Add AdvertisementData struct.
...
Define and use an NP private AdvertisementData structure instead of the low level BleAdvertisementData,
The APIs look cleaner this way.
PiperOrigin-RevId: 486224840
2022-11-04 14:03:24 -07:00
Hai Shang
de4e7a66dc
Utilize ScanManager for scan operation in service controller.
...
PiperOrigin-RevId: 486208283
2022-11-04 12:50:19 -07:00
Anay Wadhera
c0531d556c
Explicitly convert absl::string_view to std::string for chromium
...
PiperOrigin-RevId: 485990008
2022-11-03 15:34:38 -07:00
Anay Wadhera
8028821593
Switch to .pb.h and explicit conversions to std::string
...
PiperOrigin-RevId: 485942813
2022-11-03 12:31:18 -07:00
Anay Wadhera
373a694b32
Add missing die_if_null and flat_hash_map dependency to fix build error
...
PiperOrigin-RevId: 485938749
2022-11-03 12:14:16 -07:00
Janusz Sobczak
d268b077c9
Save scan callbacks before starting scan session.
...
This reduces flakiness. We can start receiving advertisements before StartScan() has finished.
PiperOrigin-RevId: 485904791
2022-11-03 10:13:02 -07:00
Anay Wadhera
74f7f5ec5c
Fix visibility rules
...
PiperOrigin-RevId: 485897261
2022-11-03 09:44:47 -07:00
Anay Wadhera
fa983e304a
Allow tink to be fetched and compile presence in bazel builds.
...
PiperOrigin-RevId: 485876571
2022-11-03 08:15:15 -07:00
Anay Wadhera
c4dc132f50
Add ScanManager class for bookkeeping BLE v2 scans
...
PiperOrigin-RevId: 485675999
2022-11-02 13:15:31 -07:00
Janusz Sobczak
81f6b547bb
Add StartAdvertising to BLE medium.
...
StartAdvertising allows us to broadcast Nearby Presence advertisements.
We can now test scanning and advertising with the MediumEnvironment rather than mocking platform code.
PiperOrigin-RevId: 484662211
2022-10-28 18:23:30 -07:00
Janusz Sobczak
5d742558a4
Add advertisement filtering
...
PiperOrigin-RevId: 484616133
2022-10-28 14:07:29 -07:00
Janusz Sobczak
bc9a6ec55b
Use LDT for advertisement decryption.
...
We are still missing the real LDT implementation, so the code is linked with a
placeholder code that doesn't do the actual encryption.
PiperOrigin-RevId: 484596294
2022-10-28 12:37:48 -07:00
Janusz Sobczak
53c504be9d
Use LDT for advertisement encryption.
...
We are still missing the real LDT implementation, so the code is linked with a
placeholder code that doesn't do the actual encryption.
We also needed to pass the `account_name` to credential manager to choose the
correct credentials.
PiperOrigin-RevId: 483801163
2022-10-25 16:09:17 -07:00
Hai Shang
054f6efe53
Chain scan & broadcast invokes from PresenceClient to ServiceController
...
PiperOrigin-RevId: 483496670
2022-10-24 15:12:43 -07:00
Janusz Sobczak
8128bbc062
Include LDT header
...
PiperOrigin-RevId: 480757134
2022-10-12 17:16:16 -07:00
Janusz Sobczak
4bd0337c10
Update to match revised BLE 4.2 specification
...
PiperOrigin-RevId: 479615854
2022-10-07 10:33:38 -07:00
Hai Shang
c4ad6de6f8
add scan function in presence BLE
...
PiperOrigin-RevId: 478666843
2022-10-03 19:35:23 -07:00
Anthony Rueda
1443f3a135
Implement get public & private credentials.
...
PiperOrigin-RevId: 478522128
2022-10-03 09:18:19 -07:00
Anthony Rueda
fd59e9aede
Consolidate credential_storage callback functions. Move all callback struct definitions in a central header file compiled as part of internal/platform/implementation:comm library.
...
PiperOrigin-RevId: 476186596
2022-09-22 13:46:47 -07:00
Janusz Sobczak
5871209f44
Convert from public to internal broadcast request
...
Add conversion from public BroadcastRequest to internal BLE 4.2 broadcast request.
PiperOrigin-RevId: 473338534
2022-09-09 14:09:09 -07:00
Xin He
4f599a0d3e
Save generated credentials and make the callback
...
PiperOrigin-RevId: 472776321
2022-09-07 11:50:30 -07:00
Anay Wadhera
5b7bb37d41
Nearby Presence/Implementation: Fix for Android compile
...
PiperOrigin-RevId: 468735587
2022-08-19 10:43:41 -07:00
Xin He
f166f1e22c
Remove presence_identity struct.
...
PiperOrigin-RevId: 468032143
2022-08-16 14:56:38 -07:00
Xin He
e5c24b8b8a
Add manager app ID into the APIs
...
PiperOrigin-RevId: 467757514
2022-08-15 14:11:15 -07:00
Xin He
123a2cfd18
Move credentials related proto from Prensence to internal
...
Replace PresenceIdentityType with proto
PiperOrigin-RevId: 467294239
2022-08-12 14:18:34 -07:00
Anay Wadhera
e1f8cf40ba
Switch to absl::variant for Chrome compatibility
...
PiperOrigin-RevId: 467033120
2022-08-11 13:21:52 -07:00