This PR introduces support for the Redmi Buds 5 Pro earbuds.
Working:
- Connection and authentication;
- Firmware version;
- Battery percentage;
- Switching between ANC/Transparency/OFF, their relative strength settings and Adaptive ANC toggle;
- Configuring all touch options;
- Ear detection play/pause, Auto call answer, Double connection, Adaptive sound settings toggles;
- Equalizer presets and custom curve;
Not working:
- Personalized ANC (code for toggle is present but commented-out, as the logic for ear calibration is missing);
- Spatial Audio
- Find my earbuds
- Firmware Update
Closes#3566
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/4343
Co-authored-by: Jonathan Gobbo <jonathangobbo@outlook.it>
Co-committed-by: Jonathan Gobbo <jonathangobbo@outlook.it>
All the required functionality is included:
- Move the desk up and down manually
- See the current height and speed
- Store three desk positions
- Move to any of those desk positions
Core: added BLE GATT Client
Core: fixed string comparisons
Core: unified intent APIs
Core: fixed notification and publication bugs
Core: extracted BLE Intent API logic
Core: introduced finer BLE API permissions
Core: use device name when adding test device through DiscoveryActivity
Core: avoid reporting same device state multiple times
Core: read firmware version on GATT Client connect connect
Core: use onSendConfiguration instead of direct subscription
Core: I18N for GATT API settings
Core: I18N for GATT API settings
Core: only show BLE API settings for BLE devices
Core: refactored intent handler
Core: extracted ble API to own class
Core: fixed unitialized BLE Api
BLE Intent API: I18N
BLE Intent API: refactoring
BLE Intent API: added back legacy API
BLE Intent API: removed new DEVICE_CHANGED and CONNECT endpoints
BLE Intent API: removed redundant ble api setting
In order to add an emulated device it is sufficient to use the "Add test device" functionality choosing pebble as device and entering IP:PORT in the mac address field.
The pebble setting to force BLE is moved to discovery_pairing_preferences.xml
Also delete the pebble_preferences file and update general preferences.