-
-
Notifications
You must be signed in to change notification settings - Fork 106
Open
Labels
Blocked: Requires L2CAPNeeds Google to fix the Bluetooth Stack https://issuetracker.google.com/issues/371713238Needs Google to fix the Bluetooth Stack https://issuetracker.google.com/issues/371713238enhancementAdd a new feature of improve an existing featureAdd a new feature of improve an existing feature
Description
Currently CAPod obtains data passively.
Supported devices (e.g. AirPods) regularly broadcast BLE advertisements.
CAPod receives these ScanRecords's and data with contains the information we display.
This does not require any pairing.
Most non-apple headphones only offer data via BLE characteristics which can be read if the headphones are paired and connected.
To support devices that only expose information via BLE characteristics, CAPod needs a new mechanism that obtains data from connected devices.
Some brainstorming:
- Already have active worker if device is connected.
- Flag devices that require active connection
- Automatically launch worker for these devices (for Apple devices it can stay optional)
- For connected devices establish a connection within CAPod, query services and characteristics
- Map scan speed to intervals at which we query the device
- Devices could have BLE notifications enabled, so in addition to manual refresh intervals, code should be reactive.
- Some sort of caching?
- Device modeling (interfaces) should work for this too.
- Some kind of factory pattern that is created depending on the device type
- Map scan speed to intervals at which we query the device
- Combine data from current BLE data provider with the new one
PodMonitorcombines the current flow with broadcast data, and the new one- Extra connection based monitor lives app wide, worker just keeps it alive?
- Adjust some texts/branding due to upcoming support for non apple devices
- Make this a pro feature?
- With a connection we can write data too
- Extra settings for devices that support this? Maybe an action button shows in each card that supports this
TBC
Metadata
Metadata
Assignees
Labels
Blocked: Requires L2CAPNeeds Google to fix the Bluetooth Stack https://issuetracker.google.com/issues/371713238Needs Google to fix the Bluetooth Stack https://issuetracker.google.com/issues/371713238enhancementAdd a new feature of improve an existing featureAdd a new feature of improve an existing feature