1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-04 20:12:27 +02:00
Gadgetbridge/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/huami
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
..
actions update license headers 2021-01-10 23:38:13 +01:00
amazfitband5 Amazfit Band 5: enable: world clocks settings, display on lift sensitivity, configuring activity types 2022-05-14 14:42:07 +02:00
amazfitbip multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
amazfitbips multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
amazfitbipu Amazfit GTS2 mini: Fix language selection 2021-12-13 10:08:39 +01:00
amazfitbipupro Amazfit Bip U Pro: Support flashing AGPS updates 2021-10-22 15:46:54 +02:00
amazfitcor update license headers 2021-01-10 23:38:13 +01:00
amazfitcor2 update license headers 2021-01-10 23:38:13 +01:00
amazfitgtr Amazfit GTS/GTR familiy: Allow flashing newer AGPS bundles 2021-05-15 22:47:38 +02:00
amazfitgtr2 Amazfit GTS/GTR familiy: Allow flashing newer AGPS bundles 2021-05-15 22:47:38 +02:00
amazfitgts Amazfit GTS/GTR familiy: Allow flashing newer AGPS bundles 2021-05-15 22:47:38 +02:00
amazfitgts2 Determined which icons take header, fixed email 2021-12-23 11:42:29 +01:00
amazfitneo Amazfit Neo: Allow to disable beeps for email notifications 2022-04-07 22:54:24 +02:00
amazfitpop Amazfit Pop/Pop Pro: Seperate device from Bip U/Bip U Pro 2022-01-18 21:15:12 +01:00
amazfitpoppro Amazfit Pop/Pop Pro: Seperate device from Bip U/Bip U Pro 2022-01-18 21:15:12 +01:00
amazfittrex Amazfit Neo: Fix setting menu items 2021-03-24 00:44:13 +01:00
amazfittrexpro Amazit T-Rex Pro: minor cleanups, support flashig AGPS UIHH (assumed working for such a new device) 2021-06-13 23:07:58 +02:00
amazfitvergel Amazfit Neo: Fix setting menu items 2021-03-24 00:44:13 +01:00
amazfitx Amazfit Neo: Fix setting menu items 2021-03-24 00:44:13 +01:00
miband2 update license headers 2021-01-10 23:38:13 +01:00
miband3 Mi Band 6: Fix night mode on latest firmware 2022-06-07 12:12:21 +01:00
miband4 Amazfit Neo: Implement firmware update but keep it disabled for now 2021-03-24 23:49:52 +01:00
miband5 Mi Band 5: Add support for configuring activity types 2022-05-12 08:52:02 +02:00
miband6 Mi Band 6: Whitelist FW 1.9.6.16 2022-06-08 14:36:14 +02:00
operations Mi Band 6: set time on connect 2022-03-31 11:07:13 +02:00
zeppe Zepp E: Address problems mentioned in #2180 2021-01-31 22:55:59 +01:00
AbstractHuamiOperation.java update license headers 2021-01-10 23:38:13 +01:00
HuamiActivityDetailsParser.java add UUID to to GPX with opentracks namespace 2021-01-17 00:07:55 +01:00
HuamiBatteryInfo.java update license headers 2021-01-10 23:38:13 +01:00
HuamiChunked2021Decoder.java Mi Band 6: Sync alarms set on the watch like on Amazfit Bip U and others 2022-02-02 12:57:25 +01:00
HuamiDeviceEvent.java Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00
HuamiFirmwareInfo.java update changelogs 2021-05-17 12:17:23 +02:00
HuamiFirmwareType.java Amazfit Bip S: support flashing of new AGPS files with UIHH header 2021-05-11 12:10:40 +02:00
HuamiIcon.java Determined which icons take header, fixed email 2021-12-23 11:42:29 +01:00
HuamiLanguageType.java Add new getSupportedLanguageSettings() to coordinator to get rid of all those arrays 2021-10-07 14:32:09 +02:00
HuamiMenuType.java Mi Band 6: Add flashlight to menu items 2021-09-02 11:21:05 +02:00
HuamiPhoneGpsStatus.java Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00
HuamiSportsActivityType.java Add climbing activity & Add seperate res for hiking and climbing 2021-12-28 22:37:35 +01:00
HuamiSupport.java Add missing commit from PR2695 2022-06-09 16:48:31 +02:00
HuamiVibrationPatternNotificationType.java Mi Band 5: Add notification vibration patterns 2022-05-14 16:11:26 +02:00
HuamiWorkoutScreenActivityType.java Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00
HuamiWorkoutStatus.java Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00
HuamiWorkoutTrackActivityType.java Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00