Commit Graph

1109 Commits

Author SHA1 Message Date
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
Gordon Williams
e40bd79fbf 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
Gordon Williams
bdcaeae177 Merge remote-tracking branch 'freeyourgadget/master' into freeyourgadget_master 2022-06-13 08:26:53 +01:00
José Rebelo
b914bec573 Mi Band 5: Fix missing portuguese language 2022-06-11 23:09:21 +02:00
Gordon Williams
607441b6b0 Support for color dithered bitmaps, and converting emoji->bitmaps
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java
2022-06-10 12:01:12 +01:00
vanous
5e5d8d4dd9 Add missing commit from PR2695 2022-06-09 16:48:31 +02:00
José Rebelo
2101b5840a Mi Band 5: Start fitness tracking on phone when workout starts on band 2022-06-09 10:32:26 +02:00
José Rebelo
b07cd54468 Mi Band 5: Send GPS location to band during workout 2022-06-09 10:32:26 +02:00
José Rebelo
d6658b41b5 Huami: Fix heart rate measurement interval on connection 2022-06-07 23:01:59 +02:00
Arjan Schrijver
4d0bfb452b Fossil Hybrid HR: Allow installation of newer watch apps 2022-06-03 15:48:48 +02:00
Andreas Shimokawa
fa3bdd36d5 Amazfit Bip U/Pro: enable hr alert and stress tracking setting 2022-05-22 00:27:35 +02:00
vanous
30b4c1b868 AmazfitBand5: Enable extended HR monitoring 2022-05-20 22:10:16 +02:00
Gordon Williams
b324f40a78 Bangle.js: add support for rendering to a text that can't be displayed into a bitmap and sending the bitmap over
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java
2022-05-18 16:35:07 +01:00
Gordon Williams
ec3b54ef47 Bangle.js: Add option for enabling/disabling internet access, and add ability to send Intents direct from Bangle.js
# Conflicts:
#	app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java
2022-05-18 16:31:22 +01:00
Andreas Shimokawa
79d5c246a2 Mi Band 6: enable new settings 2022-05-18 10:41:30 +02:00
José Rebelo
91e9451a87 Mi Band 5: Add HR activity monitoring, HR alerts, stress monitoring 2022-05-17 21:49:43 +01:00
José Rebelo
428af7f21e Huami/Mi Band: Move heart rate monitoring to device-specific settings 2022-05-17 21:49:42 +01:00
vanous
948db604e5 Add support for Galaxy Buds Pro
- add generic coordinator and settings customizer for Galaxy Buds
- add Prefs to the DeviceSpecificSettingsCustomizer
- edit Changelog
2022-05-17 22:27:40 +02:00
Andreas Shimokawa
65ebdb6ff8 Amazfit Bip U/Pro: Enable vibration pattern settings 2022-05-16 16:05:04 +02:00
Quang Ngô
b46b1278b3 Add support for Sony WF-1000XM3 2022-05-16 17:50:31 +07:00
Andreas Shimokawa
c50c333f8b Mi Band 4: enable vibration patterns 2022-05-16 11:03:10 +02:00
Andreas Shimokawa
4761168958 Mi Band 6: enable vibration patttern settings (tested working)
also rename devicesettings_miband5_vibration to devicesettings_vibrationpatterns
2022-05-16 10:59:03 +02:00
José Rebelo
410b74e1a2 Mi Band 5: Increase number of reminder slots to 50 2022-05-16 10:37:32 +02:00
José Rebelo
f08fe7f65f Huami: Distinguish between alarm and workout activity type responses 2022-05-16 10:37:00 +02:00
José Rebelo
3b348a5d5d Huami: Move inactivity warnings and goal notification to device-specific settings 2022-05-16 10:33:02 +02:00
José Rebelo
a5a3e57a34 Sony Headphones: Simplify capability definition 2022-05-15 17:22:55 +01:00
vanous
49a7871614 Sony WF 800n: new icons 2022-05-15 13:04:21 +02:00
José Rebelo
50346ce798 Amazfit Band 5: Add notification vibration patterns 2022-05-14 15:17:07 +01:00
José Rebelo
b220fef74e Mi Band 5: Add notification vibration patterns 2022-05-14 16:11:26 +02:00
vanous
5f73dd79e6 Amazfit Band 5: enable: world clocks settings, display on lift sensitivity, configuring activity types 2022-05-14 14:42:07 +02:00
Daniel Dakhno
c31213c34d VESC: added battery indicator 2022-05-14 04:47:22 +02:00
José Rebelo
10d11d4818 Mi Band 5: Add support for configuring activity types 2022-05-12 08:52:02 +02:00
José Rebelo
682b215985 Huami: Send media volume to device 2022-05-11 00:23:18 +01:00
Andreas Shimokawa
37ba8c291e Amazfit Band 5: Enbable lift wrist sensitivity and world clock configuration 2022-05-10 15:49:34 +02:00
Andreas Shimokawa
3a1d4d6161 Amazfip Bip U/Pro: Enable lift wrist sensitity and world clock configuration 2022-05-10 15:41:12 +02:00
Andreas Shimokawa
05515d6ba2 Amazfit Bip S: Enable world clock configuration 2022-05-10 15:29:47 +02:00
Andreas Shimokawa
46cd229a14 Mi Band 6: Enable World clock setting
Also take care of new/old firmware
2022-05-10 14:16:52 +02:00
José Rebelo
5c6edea233 Mi Band 5: Add support for World Clocks 2022-05-10 13:59:25 +02:00
Andreas Shimokawa
d973f50560 Mi Band 6: enable setting sensitivty for display on lift setting
Tested and seens to work
2022-05-09 23:01:57 +02:00
José Rebelo
c74bbffb4d Mi Band 5: Add activate display on lift sensitivity 2022-05-09 17:58:55 +02:00
vanous
873ac85001 Enable Fitness App Tracking Stop in Huami actions. Add Toggle function to the Tracking 2022-05-09 17:18:06 +02:00
Daniel Dakhno
367ad19205 UM25: optimized imports, added pref summary 2022-04-15 02:37:53 +02:00
Daniel Dakhno
bf4e948c35 UM25: added notification on below current threshold 2022-04-15 02:08:51 +02:00
Daniel Dakhno
9ab9186e58 UM25: added reset option to current accumulation 2022-04-15 01:21:26 +02:00
Damien Gaignon
48890d1d34 Move disconnect_notification constant to generic 2022-03-30 22:01:08 +02:00
Damien Gaignon
02e790dd00 Remove redundant constants 2022-03-30 22:01:08 +02:00
Damien Gaignon
fd69b1a3ea Move mi2_inactivity constants to inactivity 2022-03-30 22:01:08 +02:00
Damien Gaignon
6ed6c8a2b6 Move longsit files to inactivity 2022-03-30 22:01:08 +02:00
Damien Gaignon
46f93bd2e4 Move longsit constants to inactivity 2022-03-30 22:01:08 +02:00
Damien Gaignon
ae796c81eb Move zetime_inactivity* constants 2022-03-30 22:01:08 +02:00