1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-07 14:11:36 +02:00
Gadgetbridge/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/model
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
..
ActivityAmount.java Update license headers 2020-01-09 10:44:32 +01:00
ActivityAmounts.java Update license headers 2020-01-09 10:44:32 +01:00
ActivityKind.java Add climbing activity & Add seperate res for hiking and climbing 2021-12-28 22:37:35 +01:00
ActivityPoint.java Update license headers 2020-01-09 10:44:32 +01:00
ActivitySample.java Update license headers 2020-01-09 10:44:32 +01:00
ActivitySession.java Add header-title to Activity detail 2021-03-08 09:59:14 +01:00
ActivitySummary.java Add Activity Summary Statistics Drawer 2020-08-21 23:51:46 +02:00
ActivitySummaryItems.java Improve Sports Activities dashboard and Filter 2020-11-26 17:19:08 +01:00
ActivitySummaryJsonSummary.java Huami activity summary fields for ascent, descent and flat distances 2021-12-27 15:48:04 +01:00
ActivitySummaryParser.java Do summary parsing on the fly if raw binary data is available 2020-08-18 10:39:44 +02:00
ActivityTrack.java Update license headers 2020-01-09 10:44:32 +01:00
ActivityUser.java Move mi_ constants 2022-03-30 22:01:08 +02:00
Alarm.java Fixed a bunch of misspellings and formatting 2020-08-26 14:37:40 +03:00
AppNotificationType.java Add support for Telegram (from web) and Discord 2021-12-23 11:42:29 +01:00
BatteryConfig.java Sony Headphones: Simplify capability definition 2022-05-15 17:22:55 +01:00
BatteryState.java Update license headers 2020-01-09 10:44:32 +01:00
CalendarEvents.java fix calendar blacklist, view and storage 2022-05-30 13:14:46 +02:00
CalendarEventSpec.java Update license headers 2020-01-09 10:44:32 +01:00
CallSpec.java Add support for native Do Not Disturb call/SMS functionality on Fossil watches 2022-05-16 21:59:02 +02:00
CannedMessagesSpec.java Pebble: move canned message to per-device settings (including migration) 2020-10-13 00:27:22 +02:00
DailyTotals.java Add Activity info into Device Card. (#2453) 2021-11-18 12:22:43 +01:00
DeviceService.java multi-device-support (#2526) 2022-06-14 18:05:41 +02:00
DeviceType.java Add support for Galaxy Buds Pro 2022-05-17 22:27:40 +02:00
GenericItem.java Added PineTime (InfiniTime) Nordic DFU support 2020-10-11 19:16:31 +03:00
GPSCoordinate.java Add GPS fragment to Sport Activity detail 2020-10-24 18:27:51 +02:00
ItemWithDetails.java Update license headers 2020-01-09 10:44:32 +01:00
Measurement.java Update license headers 2020-01-09 10:44:32 +01:00
MusicSpec.java Added support for more music information with backwards compatibility 2020-10-11 14:23:20 +03:00
MusicStateSpec.java Added support for more music information with backwards compatibility 2020-10-11 14:23:20 +03:00
NotificationSpec.java Add support for native Do Not Disturb functionality on Fossil watches 2021-11-23 17:22:27 +01:00
NotificationType.java Add support for Telegram (from web) and Discord 2021-12-23 11:42:29 +01:00
RecordedDataTypes.java Update license headers 2020-01-09 10:44:32 +01:00
Reminder.java Mi Band 3: Add support for Reminders 2021-12-11 22:39:18 +01:00
SummaryOfDay.java Update license headers 2020-01-09 10:44:32 +01:00
TimeStamped.java Update license headers 2020-01-09 10:44:32 +01:00
ValidByDate.java Update license headers 2020-01-09 10:44:32 +01:00
Weather.java adding FitPro bands support 2021-09-21 16:37:19 +02:00
WeatherSpec.java huami: send windspeed in beaufort (#2247) 2021-04-21 17:12:20 +02:00
WorldClock.java Mi Band 5: Add support for World Clocks 2022-05-10 13:59:25 +02:00