Commit Graph
184 Commits
Author SHA1 Message Date
Janusz Sobczak 974d4b357c Skip SDP check for FP rfcomm connection on Windows
The SDP checks fails but rfcomm connection works.
Skipping the SDP check does not seem to have any ill side effects.

PiperOrigin-RevId: 551370531
2023-07-26 18:15:44 -07:00
Qin Wang 2145ccce69 Fix flaky test:scanner_broker_impl_test
PiperOrigin-RevId: 551329018
2023-07-26 15:16:58 -07:00
Qin Wang 040ed31341 Integrate Dart UX with windows_admin_plugin
PiperOrigin-RevId: 551316220
2023-07-26 14:30:04 -07:00
Qin Wang bccdf6543e Checks if a device is already saved before writing accountkey
PiperOrigin-RevId: 551045458
2023-07-25 17:33:45 -07:00
Qin Wang 3456c419c8 Check account log in status before attempt to write account key
PiperOrigin-RevId: 551032914
2023-07-25 16:39:02 -07:00
Qin Wang 2bdafe926c Add UX to show pairing result
PiperOrigin-RevId: 551027791
2023-07-25 16:18:35 -07:00
Qin Wang be688441aa Implemet save_device UX for fast pair windwos
PiperOrigin-RevId: 549693338
2023-07-20 11:42:21 -07:00
Qin Wang 0cd8aaab25 Write account association to footprints
PiperOrigin-RevId: 549693215
2023-07-20 11:39:06 -07:00
Crisrael Lucero 0e44ed626d Refactor crypto/ directory into crypto_cros/ and crypto/
PiperOrigin-RevId: 549467911
2023-07-19 17:12:52 -07:00
Qin Wang eec9c98a95 Refactor fast_pair_discoverable_scanner
PiperOrigin-RevId: 549081197
2023-07-18 12:41:23 -07:00
Qin Wang 99053e4df3 Implement scanner for fast pair subsequent pairing
PiperOrigin-RevId: 548841808
2023-07-17 17:20:01 -07:00
Qin Wang 7899d18907 Fix flaky test::pairer_broker_impl_test
PiperOrigin-RevId: 548818974
2023-07-17 15:43:34 -07:00
Qin Wang 04a70b479d Fix flay test:fast_pair_pairer_impl_test
PiperOrigin-RevId: 548770439
2023-07-17 12:40:45 -07:00
Qin Wang 8ec86f5ff9 BugFix:fast_pair_handshake_impl_test
PiperOrigin-RevId: 548765785
2023-07-17 12:23:37 -07:00
Anay Wadhera daed4f5f62 Revert "Revert "Fast Pair BLE Device Discovery for Windows in Rust"" 2023-07-14 15:53:52 -04:00
suetfei 15d3341e34 Revert "Fast Pair BLE Device Discovery for Windows in Rust" 2023-07-14 12:50:20 -07:00
suetfei 71ce4bff1a Merge pull request #1867 from TheShepord/fpwinrs_seeker
Fast Pair BLE Device Discovery for Windows in Rust
2023-07-14 11:36:00 -07:00
Lucas Silva Shepard a855dd19e1 [fp-rs] Cross-platform Bluetooth now interfaces with impl trait rather than concrete per-platform type. 2023-07-13 16:09:37 -07:00
Lucas Silva Shepard aeed049d58 [fp-rs] Updating device scanning interface, split into start/stop/next. 2023-07-13 16:08:44 -07:00
Qin Wang 47de9bdfaa Implementation account management for fast pair windows
PiperOrigin-RevId: 547955144
2023-07-13 16:08:39 -07:00
Lucas Silva Shepard 1375066f74 [fp-rs] Adding line width formatting to Fast Pair Rust. 2023-07-13 16:08:23 -07:00
Lucas Silva Shepard 07b5750f07 [fp-rs] Implemented device discovery for FP Windows in Rust. 2023-07-13 16:08:22 -07:00
Lucas Silva Shepard 4e8c66e88b [fp-rs] Setting up boilerplate for multiplatform FP Rust. 2023-07-13 16:06:31 -07:00
Lucas Silva Shepard 5306df9251 [fp-rs] Adding Rust and IntelliJ to .gitignore 2023-07-12 12:42:45 -07:00
Janusz Sobczak 0d2e75f2a2 Call pairing result in background
This prevents calling the callback twice and out of order.

PiperOrigin-RevId: 547562324
2023-07-12 12:02:28 -07:00
Qin Wang ffdd25a194 Checks if a found device is associated with current account
PiperOrigin-RevId: 547549817
2023-07-12 11:18:34 -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
hai007 07384669f2 Fix use-after-scope in test
As-is FastPairDeviceRepository is destroyed before SingleThreadExecutor which
can run tasks depending on FastPairDeviceRepository.

This CL makes sure there is no users of FastPairDeviceRepository when
it's deleted.

PiperOrigin-RevId: 546977517
2023-07-10 14:04:53 -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
Qin Wang 5bab62fbb1 Get/Write/Delete account associated device from/to footprints
PiperOrigin-RevId: 546342820
2023-07-07 11:57:29 -07:00
Qin Wang 61820e49fb BugFix //third_party/nearby/fastpair/scanning/fastpair:fast_pair_discoverable_scanner_impl_test
PiperOrigin-RevId: 546253578
2023-07-07 05:38:00 -07:00
Qin Wang d7be85607f BugFix - //third_party/nearby/fastpair/handshake:fast_pair_handshake_impl_test
PiperOrigin-RevId: 546253109
2023-07-07 05:34:34 -07:00
Qin Wang 5bce94d8ee Move fast_pair_repository to third_party/nearby/fastpair/repository and remove all deprecated files
PiperOrigin-RevId: 546057062
2023-07-06 12:10:57 -07:00
Janusz Sobczak d516e52204 Add FastPairService adapter.
Add an adapter and windows plugin for scalable seeker,

PiperOrigin-RevId: 545920541
2023-07-06 02:18:02 -07:00
Qin Wang 5b6ba679c7 Download device's metadata using FastPairClient::GetObservedDevice to call fast pair backend API
PiperOrigin-RevId: 545809920
2023-07-05 16:01:20 -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
Janusz Sobczak e00bdfb3e3 Add retro pairing in scalable seeker
Listen for manual pairing events and notify plugins.
Add retroactive pairing flow in the scalable seeker.
Actually upload the account key to the provider.
Missing bits:
- Notify the user and get their permission,
- Upload the new Account Key to user's account.

PiperOrigin-RevId: 544616348
2023-06-30 04:06:43 -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
hai007 a35b3c1bf1 Creating UI binding platform as dart interface.
PiperOrigin-RevId: 543851724
2023-06-27 14:26:15 -07:00
Qin Wang 259350e343 Implement FastPairClient to provides APIs to the FastPair backend OAuth/un-OAuth API
PiperOrigin-RevId: 543807725
2023-06-27 11:42:27 -07:00
Janusz Sobczak b89eeb1ac1 Pass screen locked event to plugins
PiperOrigin-RevId: 543512467
2023-06-26 12:37:45 -07:00
Janusz Sobczak cabad16421 Register BluetoothClassicMedium::Observer
PiperOrigin-RevId: 543506617
2023-06-26 12:12:28 -07:00
Janusz Sobczak 33abd7d879 Increase plugin life time
A plugin is created when it is first needed and destroyed when the FP device
is destroyed. This allows the plugins to keep state during long running
operations such as presenting a UI query.

PiperOrigin-RevId: 543502491
2023-06-26 11:58:56 -07:00
Qin Wang 7a25b33603 Builds FastPairInfo proto to upload device to footprints
PiperOrigin-RevId: 543496714
2023-06-26 11:36:38 -07:00
Janusz Sobczak 36132890cd Initialize metadata repository
Make sure that FastPairRepository is initalized.
FastPairRepository is required to fetch metadata information

PiperOrigin-RevId: 542906473
2023-06-23 11:06:20 -07:00
Janusz Sobczak 3cf20ee3bc Store metadata in FastPairDevice
Add DeviceMetadata to FastPairDevice after downloading it.
It simplifies the code and prevents fetching the same metadata several times.
FastPairDataEncryptorImpl does not download the metadata anymore. Metadata
must have already been downloaded, otherwise we wouldn't know what FP protocol
to use.

PiperOrigin-RevId: 542490742
2023-06-22 01:48:56 -07:00
Qin Wang e4b12dbd80 Interface for passing HTTP Responses/Requests to observers
PiperOrigin-RevId: 542402792
2023-06-21 17:06:23 -07:00
Janusz Sobczak 20acd4eeb9 Add initial pairing in scalable seeker
PiperOrigin-RevId: 541034178
2023-06-16 16:14:14 -07:00
Janusz Sobczak 4914cbc2f9 Set FastPairDevice version
PiperOrigin-RevId: 541030067
2023-06-16 16:00:31 -07:00
Qin Wang 4b13033389 Add fast pair proto to third_party/nearby/fastpair
PiperOrigin-RevId: 540977348
2023-06-16 13:09:38 -07:00