Gadgetbridge/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/devices
dakhnod 4a8523f790 multi-device-support (#2526)
this PR aims to add device for multiple connected devices at once.

A lot of stuff already works, some things need to be done:

- [x] change DeviceCommunicationService to hold multiple devices and supports
- [x] implement connect / disconnect logic
- [x] widgets, not really suited for multiple devices, so far
- [x] change the notification to show multiple devices
- [ ] change GBDeviceService#onFindDevice and similar API functions to target individual devices, not all connected.
- [x] move auto-reconnect setting to device settings
- [x] fix music event crash
- [x] work out behaviour when pressing "connect" from notification
- [ ] handle service crashes
- [ ] suit coordinator methods for multiple devices of same kind
- [x] change ACL_CONNECTED receiver to connect to devices that are not currently registered in DeviceCommunicationService
- [ ] adjust after-boot auto-connection logic
- [ ] fix hanging device support. Device says disconnected, GB says connected
- [x] firmware updater doesn't work

My attempt to make onFindDevice work was to change the arguments to ```EventHandler#onFindDevice(GBDevice device, boolean start)```.
The Problem is that this forces the device-specific implementations to also accept GBDevice as an argument.

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-authored-by: Andreas Shimokawa <shimokawa@fsfe.org>
Co-authored-by: dakhnod <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2526
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-06-14 18:05:41 +02:00
..
amazfitbip update license headers 2021-01-10 23:38:13 +01:00
banglejs Bangle.js: Adding built-in app-loader view (available via app management icon). Only available on internet-enabled builds (it's a webview) 2022-06-13 08:35:32 +01:00
casio Add basic support for Casio GBD-H1000 2022-02-02 11:21:11 +01:00
domyos Experimenting with the Domyos T540C treadmill 2021-05-11 14:30:25 +02:00
fitpro Move longsit files to inactivity 2022-03-30 22:01:08 +02:00
galaxy_buds Add support for Galaxy Buds Pro 2022-05-17 22:27:40 +02:00
hplus Move devicesettings_transliteration to settings of each device 2021-11-03 17:13:22 +01:00
huami Mi Band 5: Fix missing portuguese language 2022-06-11 23:09:21 +02:00
id115 Move devicesettings_transliteration to settings of each device 2021-11-03 17:13:22 +01:00
itag update license headers 2021-01-10 23:38:13 +01:00
jyou update license headers 2021-01-10 23:38:13 +01:00
lefun Move longsit files to inactivity 2022-03-30 22:01:08 +02:00
lenovo Remove redundant constants 2022-03-30 22:01:08 +02:00
liveview update license headers 2021-01-10 23:38:13 +01:00
makibeshr3 Move disconnect_notification constant to generic 2022-03-30 22:01:08 +02:00
miband Huami/Mi Band: Move heart rate monitoring to device-specific settings 2022-05-17 21:49:42 +01:00
mijia_lywsd02 update license headers 2021-01-10 23:38:13 +01:00
miscale2 update license headers 2021-01-10 23:38:13 +01:00
no1f1 update license headers 2021-01-10 23:38:13 +01:00
nothing Nothing Ear(1): add custom icons for batteries 2021-11-04 09:50:56 +01:00
nut update license headers 2021-01-10 23:38:13 +01:00
pebble multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
pinetime [PineTime][2481] Steps/Activity sync support #2481 (#2486) 2021-12-11 21:19:05 +01:00
qc35 multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
qhybrid multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
roidmi Roidmi 1: Set number of batteries to 0 2021-12-26 18:27:01 +01:00
smaq2oss Added support for SMA Q2 (#2215) 2021-07-20 12:08:12 +02:00
sony/headphones Add support for Galaxy Buds Pro 2022-05-17 22:27:40 +02:00
sonyswr12 update license headers 2021-01-10 23:38:13 +01:00
tlw64 Move longsit files to inactivity 2022-03-30 22:01:08 +02:00
um25 multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
vesc multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
vibratissimo update license headers 2021-01-10 23:38:13 +01:00
waspos add transliteration to BangleJS and WaspOS 2021-07-06 20:59:38 +02:00
watch9 Improved logging in bonding and tried to recover from weirdness 2021-05-30 01:00:48 +03:00
xwatch XWatch notifications and calls support 2022-02-25 22:26:40 +01:00
zetime Move zetime_inactivity* constants 2022-03-30 22:01:08 +02:00
AbstractBLClassicDeviceCoordinator.java multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
AbstractBLEDeviceCoordinator.java multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
AbstractDeviceCoordinator.java multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
AbstractSampleProvider.java update license headers 2021-01-10 23:38:13 +01:00
DeviceCoordinator.java multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
DeviceManager.java multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
EventHandler.java Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00
InstallHandler.java update license headers 2021-01-10 23:38:13 +01:00
SampleProvider.java update license headers 2021-01-10 23:38:13 +01:00
UnknownDeviceCoordinator.java update license headers 2021-01-10 23:38:13 +01:00