Commit Graph
137 Commits
Author SHA1 Message Date
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
hai007 b5f1added4 Adding components for binding the C++ libraries with flutter app
- Branch class Listener from google3/location/nearby/cpp/sharing/clients/dart/platform/lib/listener.dart for further use of listening the change from notification controller.
- Create Device Metadata to store the device information relating to UI showing.
- Create binding class to bind C++ libraries to dart language.

PiperOrigin-RevId: 540644654
2023-06-15 11:44:11 -07:00
hai007 87fd2f130a Remove redundant design of fast pair wrapper.
PiperOrigin-RevId: 540410011
2023-06-14 16:18:48 -07:00
Janusz Sobczak c4139c83b0 Use RobustGattClient
PiperOrigin-RevId: 540060033
2023-06-13 13:42:19 -07:00
Qin Wang e20fb4f75d Add screen locked listener for fast pair windows
PiperOrigin-RevId: 540038338
2023-06-13 12:26:20 -07:00
hai007 5efbbe4a40 Connect UI related key services in mediator to flutter app. The whole fast pair libraries are in C++ language while flutter app is in dart language. That is, the purpose of adapter is connecting dart (flutter app) and c++ (Fast Pair libraries).
PiperOrigin-RevId: 540013256
2023-06-13 10:58:48 -07:00
Janusz Sobczak ca60afa007 Add robust gatt client
PiperOrigin-RevId: 539817203
2023-06-12 18:29:59 -07:00
hai007 589c126725 Create dart proto for transferring the data from C++ to flutter app.
- callback: transfer device C++ proto to dart proto
 - device: transfer metadata that get from the observer to dart proto
 - enum: transfer Discovery Action class to dart proto

PiperOrigin-RevId: 538935072
2023-06-08 17:36:11 -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
Chun Zhang e101795cac Add Fast Pair Switches.
PiperOrigin-RevId: 538605609
2023-06-07 15:17:00 -07:00
hai007 4095b7978d Add Mediator Factory to avoid creating variables other than mediator in further adapter. The main purpose of the adapter is connecting dart (flutter app) and c++ (Fast Pair libraries).
PiperOrigin-RevId: 538604362
2023-06-07 15:12:21 -07:00
Chun Zhang 2027fed32f Add Fast Pair Preferences.
PiperOrigin-RevId: 538597935
2023-06-07 14:48:06 -07:00
Qin Wang c786b07fcf Add pair_broker to FastPairMediator/FastPairSeeker
PiperOrigin-RevId: 538592398
2023-06-07 14:27:29 -07:00
Qin Wang ba740c9a5c Implement RetroactivePairingDetector
PiperOrigin-RevId: 538319791
2023-06-06 16:18:38 -07:00
hai007 aefef91114 Add UI Discovery check and show into Mediator.
PiperOrigin-RevId: 538000396
2023-06-05 15:43:24 -07:00
Qin Wang 94b3263b63 Implement PairerBroker for fast pair windows
PiperOrigin-RevId: 537982117
2023-06-05 14:29:36 -07:00
Qin Wang 3dd893dd4c Implement FastPairPairer to handle the pairing process
PiperOrigin-RevId: 537124512
2023-06-01 14:07:22 -07:00
Janusz Sobczak ddbb711b7b Add InitialPair plugin
Creates plugins/ directory which will store internal plugins used for admin
tasks and testing. In this CL
* FakeFastPairPlugin for tests
* InitalPairPlugin - simple plugin that triggers Initial Pair flow

PiperOrigin-RevId: 536775192
2023-05-31 11:36:00 -07:00
Suet-Fei Li 7aa1d852f1 Use public link for MessageStream.
PiperOrigin-RevId: 536516027
2023-05-30 14:52:10 -07:00
Janusz Sobczak 82b5e10d5b Implement StartFastPairScan
PiperOrigin-RevId: 536487662
2023-05-30 13:08:31 -07:00
Suet-fei Li 9e37ea08be . 2023-05-27 01:08:14 +00:00
Janusz Sobczak 3adb98a5ff Introduce scanning sessions
FastPairScanner::ScanningSession and ScannerBroker::ScanningSession separate
the lifetime of FastPairScanner/ScannerBroker from the lifetime of scanning
sessions. This simplifies the cleanup.
PiperOrigin-RevId: 535675988
2023-05-26 11:50:54 -07:00
Chun Zhang 4596f32499 Adds Fast Pair account key related proto to communicate with Nearby Service.
PiperOrigin-RevId: 535415537
2023-05-25 15:53:17 -07:00
Janusz Sobczak 5bad45aed1 Use FastPairDeviceRepository in FastPairSevice
PiperOrigin-RevId: 535386036
2023-05-25 14:25:41 -07:00
Qin Wang 55750a0843 Write Accountkey to remote device via GATT connection
PiperOrigin-RevId: 534992810
2023-05-24 14:59:40 -07:00
Qin Wang 6b08c4dda7 Data Parse for subsequent pairing non-discoverable advertisement
PiperOrigin-RevId: 534929577
2023-05-24 11:57:58 -07:00
Qin Wang 1d5abfcc0f Create fast pair data encryptor with Accountkey
PiperOrigin-RevId: 534908947
2023-05-24 11:04:41 -07:00
Janusz Sobczak b80426a043 Inject SingleThreadExecutor in scanning classes
The goal is to use the same background thread for callbacks whenever possible.
It should simplify the locking.

PiperOrigin-RevId: 534632495
2023-05-23 18:34:14 -07:00
Janusz Sobczak 43291da5fd Define scalable seeker API
Defines the scalable seeker skeleton
* FastPairService - singleton FP service instance
* FastPairSeeker - FP interface for plugins
* FastPairPlugin - plugin interface

PiperOrigin-RevId: 534623965
2023-05-23 18:01:27 -07:00
Janusz Sobczak c2fc33038c Define FastPairDeviceRepository
Move onwership of Fast Par Devices to a single point, FastPairDeviceRepository,
which will live inside a singleton FastPairService.

PiperOrigin-RevId: 534547186
2023-05-23 13:54:05 -07:00
Qin Wang d420e9ff33 Fix data_race runtime error for fast_pair_discoverable_scanner_impl_test
PiperOrigin-RevId: 534148116
2023-05-22 12:31:13 -07:00
Qin Wang 9ee02c43ad Pure Refactor callback structure in FastPairDaraParser
PiperOrigin-RevId: 534131868
2023-05-22 11:35:57 -07:00
Qin Wang 363d2a819e Pure refactor set/get functions in FastPairDevice
PiperOrigin-RevId: 533218929
2023-05-18 12:45:55 -07:00
Qin Wang b7d2ee0c45 Add account_key_filter to see the current device is a saved device
PiperOrigin-RevId: 533197294
2023-05-18 11:39:05 -07:00
Janusz Sobczak 1c9dd093f1 Fix retroactive pairing test
PiperOrigin-RevId: 532853830
2023-05-17 11:35:48 -07:00
Qin Wang 60ba057230 Let fake_fast_pair_repository run with SingleThreadExecutor
PiperOrigin-RevId: 532838814
2023-05-17 10:51:04 -07:00
Qin Wang 6d3704f50a Add battery notification and not discoverable advertisement
PiperOrigin-RevId: 532187475
2023-05-15 12:19:45 -07:00
Janusz Sobczak 013bf1f420 Add retroactive pairing
PiperOrigin-RevId: 531637311
2023-05-12 16:56:55 -07:00
Crisrael Lucero 01c8e1ed05 Convert absl::string_view to const std::string&
PiperOrigin-RevId: 531634295
2023-05-12 16:40:50 -07:00
Janusz Sobczak f1f15bd967 Use canonical MAC address in tests.
PiperOrigin-RevId: 531601021
2023-05-12 14:12:25 -07:00
hai007 bd85557710 Add version update in presenter and mock UI Discovery services for further unit test.
PiperOrigin-RevId: 531371755
2023-05-11 19:42:08 -07:00
Qin Wang b19d4fb279 Implement BluetoothClassic Medium for fast pair windows
PiperOrigin-RevId: 531299637
2023-05-11 13:59:42 -07:00
Janusz Sobczak b5938c0d17 Add G3 gatt server
PiperOrigin-RevId: 531287485
2023-05-11 13:15:40 -07:00
Janusz Sobczak 0901aec6e2 Add BleMedium::GetRemotePeripheral
Added:
nearby::api::ble_v2::BlePeripheral::GetUniqueId()
nearby::api::ble_v2::BleMedium::GetRemotePeripheral(...)

Moved BlePeripheral implementation from bluetooth_adapter_* to ble_v2.*
Added G3 (test) implementation for the new methods.

PiperOrigin-RevId: 531023568
2023-05-10 15:40:38 -07:00
Qin Wang 69f4feaf55 Add g3 implementation for BluetoothPairing
PiperOrigin-RevId: 530965844
2023-05-10 11:47:00 -07:00
Qin Wang 115c286885 Use nearby/internal/platform/mutex instead of absl:mutex
PiperOrigin-RevId: 530727456
2023-05-09 15:20:41 -07:00
Qin Wang 10d3a624b3 Fix fast_pair_wrapper_impl_test
PiperOrigin-RevId: 529545346
2023-05-04 16:30:04 -07:00
Qin Wang 9c5664577e Fix fast_pair_handshake_lookup_test
PiperOrigin-RevId: 529465499
2023-05-04 11:27:56 -07:00