1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-07-17 02:44:04 +02:00
Commit Graph

2327 Commits

Author SHA1 Message Date
Daniel Dakhno
7b836036af Fossil HR: fixed version calculation 2022-08-26 15:02:21 +02:00
dakhnod
fe485d80ec Fossil Gen6. Hybrid: added basic support for Hybrid Gen 6 (#2775)
This PR aims to add support for the newer Fossil Gen. 6 Hybrid models, which are pretty similar to the older HR's.

Here's my checklist

- [x] make GB recognize and accept new watches
- [ ] find out how SPO2 is transmitted
- [ ] extend activity data to include Oxygen data
- [x] create timeout for requests to avoid deadlocks
- [x] fix device vibration on every reconnect
- [ ] create API for voice commands
- [x] figure out how the voice data works

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2775
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-08-24 21:56:09 +02:00
Gordon Williams
0f052f5467 Bangle.js: Fix null pointer issue if headers not supplied for HTTP request 2022-08-24 20:26:25 +01:00
José Rebelo
25c0b5947b Xiaomi Smart Band 7: Fix reboot when sending notification icons 2022-08-22 10:33:29 +02:00
José Rebelo
ba565df088 Xiaomi Smart Band 7: Initial support 2022-08-19 23:13:27 +02:00
NekoBox
dcce900f23 Amazfit Neo: fix heartrate sleep packet 2022-08-19 23:11:18 +02:00
Ganblejs
60c7f79366 Bangle.js: Extend intents functionality for Bangle.js
...to allow intents to start activities on the android device.

Add pop-up asking for permission to "Display over other apps"

Add info for intents on Bangle.js

Add message to display on "Display over other apps" permission pop-up

Move permission to display over other apps to main build variant/flavor.

fix getting permission for display over other apps.

Clarify that permission to display over other apps is mainly for Bangle.js.
2022-08-17 00:35:34 +02:00
NekoBox
eceb612c9e Amazfit Neo: fix alarms setting to "unused" on connect. 2022-08-12 16:57:24 +03:00
ITCactus
9764ce03b2 [PineTime/InfiniTime] #2783 fixes for steps count sync:
try to deal with possible outstanding steps count synced on the first sync of the day (those may spoil the whole day activity);
take into account timezone diffs between local time and UTC for check steps of a day;
add some extra logging to help investigate possible issues reported by users
inform GB about new activity samples immediately after the sync (solves "lazy" refresh of the device card)
2022-08-12 10:50:47 +02:00
NekoBox
ad38a32cc8 Implement Hourly chime which was added in firmware 1.1.2.46 2022-08-12 09:05:13 +02:00
Gordon Williams
f996973a4d Minor fixes for crashes that Play Store build has encountered 2022-08-12 08:41:16 +02:00
Gordon Williams
c762bafb2e support for specifying HTTP method, headers and body 2022-08-12 08:41:16 +02:00
Daniel Dakhno
b29a8cefd2 Binary sensor: initial support for devices using Binary Sensor Service 2022-08-09 18:58:18 +02:00
Hasan Ammar
c2054c4a8b Hybrid HR: Add support for Hybrid HR 38mm watches 2022-08-07 20:32:54 +02:00
Arjan Schrijver
305078f253 Fossil Hybrid HR: Use embedded background image from .wapp file for editor 2022-07-31 22:51:24 +02:00
Arjan Schrijver
75dd5f1863 Fossil Hybrid HR: Use embedded preview image from .wapp file during import 2022-07-31 20:31:16 +02:00
vanous
863b3a5465 Add missing imports 2022-07-30 22:17:06 +02:00
NekoBox
c2f5fd3215 Fix Amazfit Neo daily steps goal and notification, fixes #2773 (#2780)
The notification, once enabled, can only be triggerd once per day, mind that when testing.

Packet structure:

```
00:c2:00:3a:01:00:00:00:01:88:13:00:00
00:c2:00: - chunked transfer type 2
3a: - command set goals/notificatrions
01: - 01 - set steps goal, 02 - set calories goal, 03 - both
00:00:00: - delimiter
01: - enable steps goal notification
88:13: - set steps goal (5000)
00:00 - delimiter
```

This is sent when goal notification switch is enabled in Zepp app:
```
00:c2:00:3a:03:00:00:00:01:40:1f:00:00:01:2c:01:00:00
00:c2:00: - chunked transfer type 2
3a: - command set goals/notificatrions
03: - 01 - set steps goal, 02 - set calories goal, 03 - both
00:00:00: - delimiter
01: - enable steps goal notification
40:1f: - steps goal (8000)
00:00: - delimiter
01: - enable calories goal notification (seems to be not used in Neo)
2c:01: - set calories goal (300)
00:00 - delimiter
```

And when disabled:
`00:c2:00:3a:03:00:00:00:00:40:1f:00:00:00:2c:01:00:00`

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2780
Co-authored-by: NekoBox <nekobox@noreply.codeberg.org>
Co-committed-by: NekoBox <nekobox@noreply.codeberg.org>
2022-07-30 21:37:21 +02:00
Gordon Williams
1e4fb7ee87 Bangle.js - make 'text as bitmaps' have transparent background, and allow font size to be specified - fixes https://github.com/espruino/BangleApps/issues/2057 2022-07-25 14:34:34 +01:00
Gabriele Monaco
d9daa16bf8 Added calendar blacklist setting to banglejs 2022-07-21 10:58:15 +02:00
Gabriele Monaco
85758d8369 Forcing calendar sync on set time, improved deletion
Disabled huami-like calendar sync (all together) function is still there
2022-07-21 10:58:15 +02:00
Gabriele Monaco
538264e01b Added different implementation of calendar sync (pebble and huami)
Also implemented a `force_calendar_sync` command for the pebble-like
implementation to cope with out of sync databases (calling the receiver
doesn't work as of now)
2022-07-21 10:58:15 +02:00
glemco
f4e6d953ff Enabling calendar sync for bangle 2022-07-21 10:58:15 +02:00
José Rebelo
2a0b7b64fb Huami: Fix MTU update on device connection 2022-07-20 17:27:36 +02:00
Arjan Schrijver
5871a70d1f Fossil Hybrid HR: Allow switching already uploaded watchfaces with Intent 2022-07-20 12:16:55 +02:00
vanous
d9a5296a66 FitPro: add DeviceSupport tests 2022-07-17 00:13:09 +02:00
vanous
49dcb04b62 FitPro: add MTU based chunking, add more device names, fix #2688 2022-07-05 20:46:38 +02:00
José Rebelo
9cb6403c04 Mi Band 4: Add password support 2022-07-05 19:29:16 +01:00
José Rebelo
152f19575f Make calendar blacklist configurable per device 2022-07-05 19:58:21 +02:00
José Rebelo
7512147c34 Huami: Display native alarm notification 2022-07-05 19:57:13 +02:00
Arjan Schrijver
75a645d585 Fossil Hybrid HR: Fix error in app version detection 2022-07-04 17:30:34 +02:00
Arjan Schrijver
951772626c Fossil Hybrid HR: Show app versions 2022-07-04 17:12:41 +02:00
Daniel Dakhno
45512efeb7 UM25: fix missing firmware version 2022-06-24 13:13:12 +02:00
José Rebelo
8030efe019 Huami: Fix track name being replaced by album 2022-06-15 18:59:14 +01:00
Arjan Schrijver
820bcf258d Fossil Hybrid HR: Request custom menu config on watchface initialization 2022-06-15 13:02:33 +02:00
Gordon Williams
c2d98b5a24 Bangle.js - fix corruption in images with a certain sequence of chars 2022-06-15 11:48:41 +01:00
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
f606e85e1b Bangle.js: fix null pointer issue for debug messages, and ensure '...' special char is just replaced with '...' 2022-06-14 14:31:18 +01:00
Gordon Williams
c11af9e95c Keep data sent to Bangle.js in the log as well 2022-06-14 14:31:12 +01: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
vanous
8bfe37e61f Handle one shot alarm for Fossil watch 2022-06-12 08:50:46 +02:00
vanous
5b936db9b6 Fossil HR: Allow workout app the be added as a shortcut 2022-06-11 12:23:41 +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
Gordon Williams
12f2049ac6 Bangle.js: Keep a log of data sent from the watch, and allow it to be saved with 'Fetch Device Debug Logs' from the debug menu 2022-06-10 11:48:09 +01:00
Gordon Williams
774fb4efc3 Bangle.js fix message REPLY option 2022-06-10 11:45:52 +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
Andreas Shimokawa
ee93cce16d Mi Band 6: Whitelist FW 1.9.6.16 2022-06-08 14:36:14 +02:00
José Rebelo
5e33e8e58f Mi Band 6: Fix night mode on latest firmware 2022-06-07 12:12:21 +01:00
rarder44
236d9d9e2f Bangle.js - id in http request/response (#2683)
added an optional id to identify the request.
if a request with id occurs, a response with the same id is returned.

Co-authored-by: Rarder44 <lpozzi44@gmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2683
Co-authored-by: rarder44 <rarder44@noreply.codeberg.org>
Co-committed-by: rarder44 <rarder44@noreply.codeberg.org>
2022-05-30 13:19:19 +02:00
José Rebelo
a5a653dc34 Move OpenTracks external events to dedicated package 2022-05-30 13:17:26 +02:00
vanous
22a9ad329e FitPro: fix crash, inactivity warning preference to string, after type enforcement in 3b348a5d5 2022-05-29 22:03:52 +02:00
Daniel Dakhno
93e05e8dd6 Fossil HR: fixed null music spec 2022-05-28 02:10:45 +02:00
José Rebelo
d08fe6ebf7 Huami: Truncate MusicSpec data to 80 characters 2022-05-23 23:52:58 +01:00
Gordon Williams
f0d204bdc3 Add ability to receive intents to com.banglejs.uart.tx (from apps like tasker) and send them to Bangle.js
Also local intents, paving way for app loader integration
2022-05-19 11:07:04 +01: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
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
mvn23
9ca3fff101 Add support for native Do Not Disturb call/SMS functionality on Fossil watches 2022-05-16 21:59:02 +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
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
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
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
3fc53ef6b3 UM25: added click listener to notification 2022-04-15 02:12:36 +02:00
Daniel Dakhno
bf4e948c35 UM25: added notification on below current threshold 2022-04-15 02:08:51 +02:00
Andreas Shimokawa
8510cdbb3f Amazfit Neo: Allow to disable beeps for email notifications
Fixes #2607
2022-04-07 22:54:24 +02:00
gfwilliams
2cb5844020 Bangle.js build flavor (#2621)
This PR adds build flavors to `build.gradle`. The default is called `main`, but we also add `banglejs` which allows the building of an app called `Bangle.js Gadgetbridge`.

This will have internet connectivity, allowing Bangle.js watches to request data directly from the internet - and it's named so as hopefully not to be confused with the normal offline Gadgetbridge, while still giving credit.

Eventually the plan is to put this on the Google Play store, and to have additions in it which are good for Bangle.js users but would otherwise negatively impact normal Gadgetbridge users (a build flavor is used so we can keep the same codebase and not fork).

About naming - I'd mentioned `Gadgetbridge for Bangle` to @ashimokawa but thinking about how it would appear in the app store and Android apps list, it probably makes sense to call it `Bangle.js Gadgetbridge` so it's listed under `B...`. Happy to change or use something else if you have strong opinions though.

**Note:** adding build flavors seems to add the flavor name to existing builds. As a result, *all other builds will now have `main` in the name*. Unfortunately I didn't see another way around this, but hopefully it won't break anything.

Co-authored-by: Gordon Williams <gw@pur3.co.uk>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2621
Co-authored-by: gfwilliams <gfwilliams@noreply.codeberg.org>
Co-committed-by: gfwilliams <gfwilliams@noreply.codeberg.org>
2022-03-31 11:36:26 +02:00
Andreas Shimokawa
08eb58e63b Mi Band 6: set time on connect 2022-03-31 11:07:13 +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
619780977c Move lefun_language constant to generic 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
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
Damien Gaignon
3b75a1701a Clean DO_NOT_DISTURB* constants 2022-03-30 22:01:08 +02:00
Damien Gaignon
66b8fb004e Move mi_ constants 2022-03-30 22:01:08 +02:00
Arjan Schrijver
e4d8f5f3e2 Fossil Hybrid HR: Add flexible custom menu on watch (#2616)
This PR adds support for a new custom menu system on the Fossil Hybrid HR, developed by @dakhnod. For regular users this PR will change nothing, apart from also giving an extra option to light up the display when receiving new notifications.
For more advanced users, there's the [Fossil HR Menu Companion app](https://github.com/dakhnod/Fossil-HR-Menu-Companion) that's needed to enable and configure the new menu system. Just disable one or more of the physical buttons in Gadgetbridge and configure them instead in the companion app to get started.

Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2616
2022-03-22 20:52:43 +01:00
rarder44
c0ca52d2b8 BangleJS: added repetitions in alarm json (#2579)
Co-authored-by: rarder44 <rarder44@noreply.codeberg.org>
Co-committed-by: rarder44 <rarder44@noreply.codeberg.org>
2022-03-07 10:43:54 +01:00
Richard de Boer
cec28d2442 Bangle.js: handle battery charging status 2022-03-06 00:24:57 +01:00
Daniel Dakhno
f61008c9ae UM-25: made cumulative values resettable 2022-02-27 11:03:39 +01:00
SalavatR
8e34311f01 XWatch notifications and calls support 2022-02-25 22:26:40 +01:00
vanous
65cbea6713 Add HUAMI button/device action to control fitness tracking
- Fitness App Tracking Start already works, Stop is commented out for
  time being
- Catch exception in case the package name for controlled app doesn't
  exist/work
2022-02-19 16:04:48 +01:00
Arjan Schrijver
5224304b6c Read overall statistics from received OpenTracks dashboard API URIs 2022-02-17 11:00:58 +01:00
Arjan Schrijver
d2408f77cd Fossil Hybrid HR: Move workout request handling to separate class 2022-02-17 11:00:58 +01:00
Arjan Schrijver
e188e54622 Add OpenTracksController for interactions with OpenTracks 2022-02-17 11:00:58 +01:00
Arjan Schrijver
c8ad21eebf Fossil Hybrid HR: Start/stop track in OpenTracks from GPS workout on watch 2022-02-17 11:00:58 +01:00
vanous
33569d73d7 WaspOS: fix battery chart 2022-02-02 15:53:59 +01:00
vanous
ed1836a2bd WaspOS: add condition code to weather JSON 2022-02-02 15:43:45 +01:00
Andreas Shimokawa
b62357dfe2 Mi Band 6: Sync alarms set on the watch like on Amazfit Bip U and others
This adds code to decrypt chunked protocol replies for configuration data.
Also some (disabled) code for SMS reply.
2022-02-02 12:57:25 +01:00
Richard de Boer
42e0a63429 Bangle.js: fix battery chart
Battery percentages were shown in gadgetbridge, but not stored, so the chart didn't work.

Call AbstractDeviceSupport.handleGBDeviceEvent() instead of rolling our own battery update,
and that does call createStoreTask()
2022-02-02 11:20:43 +01:00
Marc Nause
e32dc8b48e Bangle.js: Prevent exception in case UART RX line is empty
This seems to fix the "no incoming call notification"-issue, see https://github.com/espruino/BangleApps/issues/976
2022-01-29 23:49:51 +01:00
Andreas Shimokawa
d67771ccc3 Huami: implement reassably of alarm configuration chunks for low mtu and fix situation when all alarms get deleted on the watch 2022-01-21 12:48:36 +01:00
Daniel Dakhno
7697b588d1 Merge remote-tracking branch 'origin/master' 2022-01-20 15:51:25 +01:00
Daniel Dakhno
2fbf0d62e0 QC35: added battery threshold 2022-01-20 15:51:19 +01:00
Andreas Shimokawa
6046152153 Huami: Fix updating alarm times when not toggling, other logic fixes 2022-01-20 11:12:31 +01:00
Andreas Shimokawa
47f7f22df4 Read alarms from device on connect and when changed on device
TODO:
- support decryption for mi band 6
- reassamble chunks for low MTU
2022-01-20 10:09:23 +01:00
Andreas Shimokawa
406f775f76 Amazfit Pop/Pop Pro: Seperate device from Bip U/Bip U Pro
This really seems to be the same device, but it does have a different firmware
and a different bluetooth name.

Do this to prevent cross flashing - which might actually be okay but we do not know.
2022-01-18 21:15:12 +01:00
José Rebelo
d0f80eb5b4 Sony Headphones: Implement Noise Cancelling Optimizer 2022-01-17 07:55:43 +01:00
José Rebelo
d4840b3c5b Sony Headphones: Improve first connection reliability 2022-01-12 13:28:26 +01:00
Andreas Böhler
c81a7ab8e4 Fix supid bug introduced while refactoring Casio support 2022-01-12 11:33:05 +01:00
José Rebelo
d23b0a5b88 Sony WH-1000XM4: Initial Support 2022-01-12 10:36:07 +01:00
Daniel Dakhno
73ce323288 Fossil HR: improved DeviceApplicationsList handling 2022-01-11 13:13:15 +01:00
dakhnod
8d1a1c07b7 fossilhr-activity-recognition (#2539)
This PR adds the ability to change activity recognition settings on the watch.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2539
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2022-01-06 13:31:00 +01:00
Your Name
c62a418961 Add climbing activity & Add seperate res for hiking and climbing 2021-12-28 22:37:35 +01:00
Sebastian Krey
2bf4f14b98 New Amazfit GTS 2 Mini activity Outdoor Trekking/Hiking (#2528)
New Huami Amazfit GTS 2 Mini activity for Outdoor Trekking/Hiking.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2528
Co-authored-by: Sebastian Krey <skrey@noreply.codeberg.org>
Co-committed-by: Sebastian Krey <skrey@noreply.codeberg.org>
2021-12-28 13:46:17 +01:00
dakhnod
504b552f0c device-vesc (#2491)
Adds Support for BLDC controller VESC connected to a BLE serial device like an HM10.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2491
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2021-12-27 15:47:10 +01:00
ITCactus
e332f5d23a [PineTime][InfiniTime][2527] remove debug Toast and subscription to UUID_CHARACTERISTIC_MOTION_RAW_XYZ_VALUES 2021-12-27 15:38:10 +01:00
dakhnod
b0ed617072 device-bose-qc35 (#2520)
This PR adds not only the device Bose QC35,
it also adds the following autop-reconnect feature:
When the headphones are turned on, the initiate a connection with the phone.
With this change, GB is notified about said change, and tries to establish a connection to the newly connected device, if the appropriate device setting is set.

The QC35 headpones always have NC turned on after boot, thus the main feature of this implementation is to turn off NC as soon as the headphones are turned on and connected to the phone.

I am open for discussion regarding the implementation, but this seems like a good first proposal.

What is missing is the ability to connect to multiple devices, since in many cases headphones can be connected to the watch simultaniously to a smartwatch or other gadget.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2520
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2021-12-27 15:37:04 +01:00
José Rebelo
c4874de11a Sony WF-SP800N: Initial Support 2021-12-26 19:17:21 +01:00
José Rebelo
8eb0b310ba Sony WH-1000XM3: Fix Ambient Sound Control commands, potentially improving ANC quality 2021-12-26 19:17:21 +01:00
José Rebelo
887c3bf8ca Roidmi: Slight code cleanup 2021-12-26 18:27:01 +01:00
Andreas Shimokawa
e1b04f6a5c Huami: support old version of new chunked protocol used on Amazfit Bip U at least
This is used for setting world clock and setting canned messages for call rejection.
This PR implements setting the canned messages, but unfortunately the feature is somehow not "unlocked"
2021-12-23 18:06:58 +01:00
musover
8baf97fd93 Determined which icons take header, fixed email 2021-12-23 11:42:29 +01:00
musover
37adef93bb Add support for Telegram (from web) and Discord 2021-12-23 11:42:29 +01:00
musover
d5eb5b0690 Determined which icons take header, fixed email 2021-12-23 11:42:29 +01:00
musover
69c1c1b989 Fix notification title not appearing on Amazfit GTS2 Mini for non-chat apps 2021-12-23 11:42:29 +01:00
musover
907ffafa62 Add support for Telegram (from web) and Discord 2021-12-23 11:42:29 +01:00
José Rebelo
33b5a6de38 Sony WH-1000XM3: Read information from device 2021-12-23 11:39:26 +01:00
Daniel Dakhno
2f217b077f Fossil HR: removed find-my-device with older firmwares 2021-12-19 12:56:47 +01:00
Daniel Dakhno
ee9d1155ba Fossil HR: fixed on-device confirmation for older firmwares 2021-12-19 12:51:30 +01:00
Richard de Boer
c8ceb4e44d Bangle.js: add condition "code" to weather JSON
Fixes #2504: Weather: support for language independent condition code or icon name
2021-12-19 09:56:05 +01:00
José Rebelo
300491d483 Mi Band 3: Add preference to enable display on wrist lift during DND 2021-12-13 16:46:40 +01:00
Andreas Shimokawa
a917d3786f Amazfit GTS2 mini: Fix language selection 2021-12-13 10:08:39 +01:00
José Rebelo
2e8f44cd85 Huami: Fix weekly reminders 2021-12-13 09:24:29 +01:00
Daniel Dakhno
45647ccbf7 Fossil HR: added timeout to on-device confirmation 2021-12-13 03:04:44 +01:00
Andreas Shimokawa
dbdeb59f9c Mi Band 6: Whitelist FW 1.0.6.10 2021-12-12 19:01:54 +01:00
José Rebelo
a111272143 Huami: Fix reminder deletion 2021-12-12 10:48:22 +00:00
José Rebelo
710b6f6699 Mi Band 3: Add support for Reminders 2021-12-11 22:39:18 +01:00
ITCactus
4cadb0412b [PineTime][2481] Steps/Activity sync support #2481 (#2486)
added sync "steps" from PineTime/InfiniTime to Gadgetbridge.

notes:
* Steps sync works only since InfiniTime 1.7
* InfiniTime advertise "steps" info when the PineTime screen is ON (and a bit after that). hence:
	* you should unlock the PineTime screen before end of the day to not loose your latest progress (since the last unlock) at the end of the day;
	* when the PineTime screen is ON and you are moving, PineTime will send "steps" count every about 2-10 seconds, and Gadgetbridge may start to treat this data as an Activity (and also displaying it in Activity charts). that data and charts will not be accurate: you should wait for ["Health/Fitness data storage and expose to companion app](https://github.com/InfiniTimeOrg/InfiniTime/projects/4)" project to be implemented on the PineTime side. and meanwhile, in Gadgetbridge open "Device specific settings" and change/uncheck option in "Charts tabs" and "Activity info on device card" to leave only Steps data.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2486
Co-authored-by: ITCactus <itcactus@noreply.codeberg.org>
Co-committed-by: ITCactus <itcactus@noreply.codeberg.org>
2021-12-11 21:19:05 +01:00
José Rebelo
8416cb4e71 Sony WH-1000XM3: Disable device preferences conditionally 2021-12-10 17:38:23 +01:00
Gordon Williams
228008e42c Bangle.js - Minor tweaks to sizes for drawableToBitmap 2021-12-09 16:14:06 +00:00
Gordon Williams
e82662f0bf Bangle.js: if music state is out of range, just return '' (fix #2485) 2021-12-09 16:09:49 +00:00
dakhnod
4981aacb30 Fossil HR: added infrastructure to display on-device confirmations (#2451)
This PR aims to add the on-device connection confirmation for the Fossil HR.
This seems mandatory, since, at least on my watch, without said confirmation certain files like the configuration cannot be accesses, e.g. the time on the watch cannot be set etc.

The mystery yet to be solved is how to get the watch to not ask for a confirmation on every new connection or reconnection attempt, since that can get very annoying.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2451
Co-authored-by: dakhnod <dakhnod@noreply.codeberg.org>
Co-committed-by: dakhnod <dakhnod@noreply.codeberg.org>
2021-12-07 16:41:37 +01:00
vanous
468a40c62e Activity Card: React to User settings. Unify step length 2021-12-05 10:34:55 +01:00
vanous
50204a956e Activity card: Open specific Charts tab for each activity 2021-12-04 17:18:27 +01:00
mvn23
3c4799a339 Add support for native Do Not Disturb functionality on Fossil watches 2021-11-23 17:22:27 +01:00
Andreas Böhler
90ae3d0019 Refactor Casio support and fix alarm handling on all devices 2021-11-23 17:21:35 +01:00
José Rebelo
f8e5b88231 Sony WH-1000XM3: Abstract common Sony Headphones logic 2021-11-20 21:26:51 +01:00
José Rebelo
39ddb732f7 Sony WH-1000XM3: Fix ACK sequence number handling 2021-11-17 00:14:36 +00:00
José Rebelo
6db775a9df Sony WH-1000XM3: Simplify protocol code 2021-11-17 00:07:18 +00:00
José Rebelo
d2fe8e5607 Sony WH-1000XM3: Fix payload size check 2021-11-16 21:03:10 +00:00
Arjan Schrijver
d688f42735 Always allow custom text widget intents 2021-11-13 10:18:49 +01:00
Arjan Schrijver
1a5ebe2ee7 Support multiple 2nd-TZ and Custom widgets 2021-11-13 10:10:38 +01:00
Daniel Dakhno
bc60b66abf added capability to push config via intents 2021-11-13 10:10:38 +01:00
vanous
be5cde9405 Galaxy Buds: remove some debug, fine-tune icons. Edit changelog 2021-11-13 09:13:20 +01:00
vanous
fcb91fd544 Add support for Galaxy Buds Live 2021-11-12 18:01:50 +01:00
vanous
a490e9f555 Galaxy Buds: migrate ambient volume preference to SeekBar
- more unique detection of the original Buds series
- always bond
2021-11-07 11:05:33 +01:00
José Rebelo
bf5eebd411 Sony WH-1000XM3: Initial Support 2021-11-06 23:43:31 +00:00
Daniele Gobbetti
64b52e5edf Nothing Ear (1): add multiple batteries support 2021-11-02 21:15:25 +01:00
vanous
3609af3a18 Add batteryConfig
- clarify battery index
- icon and label settings
2021-11-02 21:15:25 +01:00
vanous
80207b34bc Galaxy Buds: add multiple batteries support 2021-11-02 21:15:15 +01:00
Andreas Shimokawa
998f8775d9 Fix bug in non-DST time where still being in DST was assumed
This affects InfiniTime and Huami
For InfiniTime it probably resulted in the wrong time being displayed
For Huami is resulted to request the wrong data from the band/watch

We used timezone.getDSTOffset() which always returns the DST offset (also in non
DST time)

We need to pass the time being observed to calendar.getOffset() to get the real
offset including DST at that specfic time which then either includes DST offset or not.
2021-11-02 11:34:55 +01:00
Daniele Gobbetti
f8cc520ede BtClassic: generalize device initialization
Also override the new generic initialization for Nothing Ear (1)
2021-10-31 15:54:36 +01:00
vanous
da0c43f77d Galaxy Buds: adding initial support for Galaxy Buds 2019 2021-10-31 07:27:16 +01:00
Andreas Shimokawa
3a642251fe Amazfit Bip U Pro: Support flashing AGPS updates
Use Huafetcher for fetching the data.
2021-10-22 15:46:54 +02:00
Andreas Shimokawa
1341501ac4 Amazfit Bip U Pro: Allow setting more languages, whitelist FW 1.0.2.92 2021-10-22 14:08:39 +02:00
Andreas Böhler
8a3fc19285 Add support for Casio STB-1000. Limitations of GB-5600B/GB-6900B apply. 2021-10-18 18:23:35 +02:00
Daniele Gobbetti
9ad7e210b7 Nothing Ear (1): Read audio status from device and various fixes:
- add support for ANC-light mode
- handle multiple GBDeviceEvents
- add fake fw and hw versions to make DBHelper happy
- fix battery charge detection logic
- extract some strings to resources
2021-10-07 20:25:26 +02:00
Andreas Shimokawa
bef015b0c2 Add new getSupportedLanguageSettings() to coordinator to get rid of all those arrays
There is one big generic one now, unssupported languages will be removed at runtime.
Tested with Amazfit Bip U.
2021-10-07 14:32:09 +02:00
Andreas Shimokawa
2219eb489e Amazfit Bip U: Fix setting the language 2021-10-07 12:50:44 +02:00
Daniel Dakhno
1a892aa159 UM25: added some fields to UI 2021-10-03 02:43:42 +02:00
Andreas Shimokawa
48e5f44b81 Amazfit Bip U Pro: Fix flashing firmware, res, font, watchfaces 2021-10-01 17:49:43 +02:00
Andreas Shimokawa
d9a77540ce Amazfit Bip U: fix watchface installation 2021-10-01 17:42:36 +02:00
Andreas Shimokawa
d673d8a487 Amazfit Bip U: Whitelist fw 1.0.2.95 2021-10-01 14:12:31 +02:00
Andreas Shimokawa
e3a4468bac Amazfit Bip U: Fix flashing firmware, res and fonts 2021-10-01 14:00:38 +02:00
daniele
a7f42f0c4f Add initial support for Nothing Ear(1) TWS (#2403)
Nothing Ear (1) are wireless earbuds that support active noise
suppression, transparency mode and several gestures.

This initial commit adds support for:
- reading battery level
- setting audio mode
- setting in-ear auto detection

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2403
Co-authored-by: daniele <daniele@noreply.codeberg.org>
Co-committed-by: daniele <daniele@noreply.codeberg.org>
2021-09-30 22:40:18 +02:00
Arjan Schrijver
2d96328d1b Fossil Hybrid HR: Lower battery level warning threshold to 10% 2021-09-22 11:10:29 +02:00
vanous
e00ee75ad2 adding FitPro bands support 2021-09-21 16:37:19 +02:00
Andreas Shimokawa
92ce748202 Amazfit Bip S: Whitelist 2.1.1.72 and 2.1.1.76 firmware 2021-09-15 10:06:48 +02:00
Andreas Shimokawa
b99da8b596 Mi Band 6: really fix weather on new firmware 2021-09-03 15:50:42 +02:00
Andreas Shimokawa
eb8284f079 Mi Band 6: Fix watchface installation 2021-09-02 13:26:35 +02:00
Andreas Shimokawa
a24900bbcf Mi Band 6: Whitelist FW 1.0.4.38 2021-09-02 11:39:25 +02:00
Andreas Shimokawa
c965114c21 Mi Band 6: Add flashlight to menu items 2021-09-02 11:21:05 +02:00
Andreas Shimokawa
4242f5ccd4 Mi Band 6: Write to chunked2021 for old chunked types on new firmware (fixes music, weather and setting menu items) 2021-09-02 11:21:05 +02:00
Andreas Shimokawa
4a27825931 Mi Band 6: Send all old settings to new characteristics
This adds a compatibility wrapper to make it easier
2021-09-02 11:21:05 +02:00
Andreas Shimokawa
117cd57463 Mi Band 6: Support sending encrypted packets on new firmware 2021-09-02 11:21:05 +02:00
chklump
3b6f3b11bb Fix body_length overflow for long notifications.
The body_length field in the header is only one byte (byte 8). If it it is set to 256 it overflows to 0 wich results in a corrupt notification. So the maximum body length is 255.
2021-08-27 14:04:06 +02:00
Andreas Shimokawa
1bfec5b65f InifiniTime: Fix null being displayed on empty notifications 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
44fcd454a0 Mi Band 6: Make new auth protocol a setting for now 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
2c06e5d39c Mi Band 6 auth: add test, fix crypto 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
d352624629 Mi Band 6 auth: first full but nonworking version 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
1c6f055bef Mi Band 6 auth: Working jni call to generate keys 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
9bd8424f83 Mi Band 6 auth: first experiments 2021-08-26 10:59:53 +02:00
Andreas Shimokawa
5fb674f9ae Fossil Hybrid HR: Support setting metric/imperial mode
Fixes #2355
2021-08-09 16:32:42 +02:00
Gordon Williams
9222c6700e Add functions for pushing bitmaps to Bangle.js, also add configurable MTU. If we receive a bigger data packet then we know we can send a bigger one too 2021-08-04 16:41:06 +01:00
Arjan Schrijver
fa89df562a Fossil Hybrid HR: Edit existing watchfaces from app manager cache 2021-07-19 13:43:05 +02:00
Arjan Schrijver
de403cf92e Fossil Hybrid HR: Add watchface designer 2021-07-19 13:43:05 +02:00
Andreas Shimokawa
603050b7cc InfiniTime: support notification for battery level 2021-07-08 23:46:18 +02:00
Andreas Shimokawa
7e7b0a0f28 Amazfit T-Rex Pro: Add barometer to menu items 2021-06-19 10:20:41 +02:00
Andreas Shimokawa
3c5c61ddea 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
GeekosaurusR3x
685fc8b585 Amazfit T-Rex Pro: Fix for watch face upload and device settings (#2321)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2321
Co-authored-by: GeekosaurusR3x <geekosaurusr3x@noreply.codeberg.org>
Co-committed-by: GeekosaurusR3x <geekosaurusr3x@noreply.codeberg.org>
2021-06-13 22:58:00 +02:00
GeekosaurusR3x
00fe84d8cf Initial support for Amazfit T-Rex Pro 2021-06-12 21:19:16 +02:00
Arjan Schrijver
ecb23f7a22 Fossil Hybrid HR: Block dangerous intents by default and move some settings to developer settings submenu 2021-06-01 09:38:59 +02:00
Dmitriy Bogdanov
e28beaae48 Refactoring: localize notification handling in GB
* Handle all notifications via GB.
* Create all notification channels in one place.
* Lazily init notification channels.
* Re-create notification channels to update their localized names.
2021-05-29 23:17:39 +02:00
Arjan Schrijver
25324c61b9 Fossil Hybrid HR: Use GB app manager (#2302)
This PR replaces (just for the Fossil Hybrid HR) the current watchface configuration screen with the native Gadgetbridge app manager. Bonus feature: when multiple watchfaces are installed on the watch, they can be switched by tapping on them.

Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2302
Co-authored-by: Arjan Schrijver <arjan5@noreply.codeberg.org>
Co-committed-by: Arjan Schrijver <arjan5@noreply.codeberg.org>
2021-05-29 16:42:32 +02:00
Andreas Shimokawa
348f459e3f Huami: Send "about you" preferences to device immediately when changing values
Closes #2297
2021-05-27 23:11:00 +02:00
Arjan Schrijver
9dac0a80c3 Fossil Hybrid HR: Add watch app and watchface support to install handler 2021-05-24 21:49:54 +02:00
Andreas Shimokawa
cbadb9c7ae Mi Band 6: allow firmware update
Also whitelist FW 1.0.1.36 which I just flashed though Gadgetbridge

Tracking Issue: #2263
2021-05-24 16:51:09 +02:00
Andreas Shimokawa
090e0c7b33 Mi Band 6: support flashing watchfaces
Tracking Issue: #2263
2021-05-24 15:47:27 +02:00
Daniel Dakhno
f68582eb46 Fossil HR: fixed last notification widget 2021-05-22 23:32:36 +02:00
Arjan Schrijver
9f459b1da9 Fossil Hybrid HR: Move commute actions to device specific settings 2021-05-22 22:28:26 +02:00
Andreas Shimokawa
268bbd341f Domyos T540C: update console when data changes 2021-05-18 19:15:04 +02:00
Andreas Shimokawa
f083e79f5d update changelogs 2021-05-17 12:17:23 +02:00
Andreas Shimokawa
8d21ae1177 Amazfit GTS2/GTR2: Fix installing watchfaces
Needs some more testing, but looks promising
2021-05-16 14:29:47 +02:00
Andreas Shimokawa
65f006d70b Amazfit GTS/GTR familiy: Allow flashing newer AGPS bundles
These are packed uuih files. POC code to generate them:

https://codeberg.org/Freeyourgadget/Gadgetbridge-tools
2021-05-15 22:47:38 +02:00
Andreas Shimokawa
083fdea225 Experimenting with the Domyos T540C treadmill 2021-05-11 14:30:25 +02:00
Andreas Shimokawa
5765407366 Amazfit Bip S: support flashing of new AGPS files with UIHH header
We do not know how to generate them yet.
But it was confirmed working with a file we reconstructed from a bluetooth hci dump
2021-05-11 12:10:40 +02:00
jhey
58d3eaaa9f WIP initial Miband 6 support (#2277)
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2277
Co-authored-by: jhey <jhey@noreply.codeberg.org>
Co-committed-by: jhey <jhey@noreply.codeberg.org>
2021-05-09 22:52:36 +02:00
TaaviE
e4d70ade2a Improved PineTime/InfiniTime firmware DFU metadata parsing and checks 2021-05-03 00:12:51 +03:00
Andreas Shimokawa
97a8aebdb3 Fossil Hybrid HR: Fix crash and connection problem when using non-ascii in quick replies 2021-04-29 22:38:44 +02:00
Arjan Schrijver
2f37d4c839 Fossil Hybrid HR: Dismiss incoming call with a quick SMS reply (#2264)
Merge branch 'master' into fossil_hr_quick_replies

Fossil Hybrid HR: Allow between 1 and 16 quick replies to be configured

Fossil Hybrid HR: Dismiss incoming call with a quick SMS reply

Co-authored-by: Arjan Schrijver <a_gadgetbridge@anymore.nl>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2264
Co-Authored-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
Co-Committed-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
2021-04-27 12:51:14 +02:00
beardhatcode
32a6049207 huami: send windspeed in beaufort (#2247)
fixup! huamni: send windspeed in beaufort

BipS: send windspeed as km/h

huami: Always send sunrise and sunset

There is no need to look at send_sunrise_sunset, this is peble spesific
because it could be annoying on that platform (an extra line in the
timeline). On huami devices, the watchface desides what to show.

Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>

Mi5: set supportsSunriseSunsetWindHumidity to true

Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>

huamni: send windspeed in beaufort

Signed-off-by: Robbert Gurdeep Singh <git@beardhatcode.be>

Co-authored-by: Robbert Gurdeep Singh <git@beardhatcode.be>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2247
Co-Authored-By: beardhatcode <beardhatcode@noreply.codeberg.org>
Co-Committed-By: beardhatcode <beardhatcode@noreply.codeberg.org>
2021-04-21 17:12:20 +02:00
Robbert Gurdeep Singh
2d7bd6ae7b clean: remove unused slots in calander for huami devices
If an event is deleted, it may still remain on the device without this
change
2021-04-21 16:38:36 +02:00
Arjan Schrijver
31d2563a18 Fossil Hybrid HR: Show correct notification icons (#2251)
Co-Authored-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
Co-Committed-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
2021-04-20 09:55:27 +02:00
Vianney le Clément de Saint-Marcq
12baabe3c7 Amazfit GTS2/GTR2: Send windspeed and sunrise/sunset 2021-04-07 17:59:30 +02:00
Vianney le Clément de Saint-Marcq
c1b7ce2308 Amazfit GTS2/GTR2: Fix menu items (#2249)
Amazfit GTS2/GTR2: Add missing menu items

Fixes #2193
Fixes #2230
Fixes #2242

Amazfit GTS2/GTR2: Fix setting menu items

At least on the GTR2e, including the "watchface" menu item causes the
configuration request to be ignored.  Assuming the other GTS2 and GTR2
variants behave the same, this patch ensures the forceWatchface argument
is set to false when setting display items.

Additionally, we now use the correct resource ID for the default
settings.

Co-authored-by: Vianney le Clément de Saint-Marcq <code@quartic.eu>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2249
Co-Authored-By: Vianney le Clément de Saint-Marcq <vianney@noreply.codeberg.org>
Co-Committed-By: Vianney le Clément de Saint-Marcq <vianney@noreply.codeberg.org>
2021-04-07 17:58:24 +02:00
Andreas Shimokawa
b7e0e6e44d InfiniTime: Implement find device by simulating a phone call 2021-04-05 17:40:47 +02:00
Andreas Shimokawa
787216f1bc InfiniTime: support title for notifications on firmware 0.15
also drop support for firmware priror to 0.9
2021-04-05 13:05:24 +02:00
Andreas Shimokawa
bb1df11650 InfiniTime: Add support for battery info 2021-04-05 12:53:05 +02:00
Andreas Shimokawa
9aed3a6b25 Relax check for UIHH header, there seem to be some with 0x02 at position 4, dont know if this is a version or whatever 2021-04-03 18:59:07 +02:00
Andreas Shimokawa
db9a0c0a76 Try to fix flashing watchfaces on GTR2/GTS2 2021-04-01 16:50:08 +02:00
Andreas Shimokawa
51c87f138d Amazfit Neo: re-enable firmware flashing support and fix ft installation 2021-03-27 09:16:32 +01:00
Andreas Shimokawa
c410f0e4a7 Amazfit Neo: Implement firmware update but keep it disabled for now
Flashing to the latest firmware breaks Gadgetbridge compatibility
2021-03-24 23:49:52 +01:00
Andreas Shimokawa
9dc4dde5e7 Amazfit Neo: Support sound settings 2021-03-24 20:02:48 +01:00
Andreas Shimokawa
6f6db01bce Fix list exception (regression from previous Neo commit) 2021-03-24 10:49:46 +01:00
Andreas Shimokawa
1c3398a319 Amazfit Neo: Fix notifications 2021-03-24 09:51:51 +01:00
Andreas Shimokawa
a234c1d527 Amazfit Neo: Fix setting menu items
- Fixes a bug with cycling through entries
- adds steps, distance, calories, battery
- removes world clock (does not seem to work)
2021-03-24 00:44:13 +01:00
cpfeiffer
e9766da89c Fossil Hybrid HR: fix initialization on older firmwares
Avoid NPE when no applications are available
2021-03-21 19:27:32 +01:00
Robbert Gurdeep Singh
7c213f5807 Huami: show event title for events as reminder
The Mi app only has a reminder field and no description field, so
I'm assuming we can only send one string.

In bffb8e8f87 it was noticed that the
title was not displaying so I'm changing this for all Huami devices.
2021-03-14 22:21:58 +01:00
Andreas Shimokawa
2e67321adb Fossil Hybrid HR: do nothing in renderWidget() on firmware 1.0.2.20 or later
It seems that newer firmwares have watchfaces which are a special kind of apps
This means that a simply specifying the layout of widget does not longer work

(At least we do not know how)

This commit fixes bluetooth communication being completely stuck when
Gadgetbridge tries to render widgets (for example when switching force
white mode or when having the notification widget enabled in settings)
2021-03-12 22:22:28 +01:00
Andreas Shimokawa
ae40afb827 Revert "Fossil Hybrid HR: Do not try remove notifications from the watch in unauthenticated mode"
This reverts commit faf8ca55c1.
2021-03-12 00:16:00 +01:00
Andreas Shimokawa
faf8ca55c1 Fossil Hybrid HR: Do not try remove notifications from the watch in unauthenticated mode
This does not seem to work and breaks all further communication with the watch.
2021-03-11 23:53:19 +01:00
Arjan Schrijver
cff4b65fb8 Fossil Hybrid HR: Sync notification dismissals to watch (#2219)
Fossil Hybrid HR: Move check for autoremove_notifications pref to NotificationListener

Fossil Hybrid: Rename logger to LOG and replace printStackTrace calls

Keep and maintain list of notifications pushed to device

Fossil Hybrid HR: Make autoremove notifications toggleable in device settings

Fossil Hybrid HR: Sync notification dismissals to watch

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2219
Co-Authored-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
Co-Committed-By: Arjan Schrijver <arjan5@noreply.codeberg.org>
2021-03-08 14:29:08 +01:00
Daniel Dakhno
b7b45e199d UM25: removed lambda expression 2021-03-08 12:29:21 +01:00
Daniel Dakhno
0fecdf0e18 UM25: added base device support for UM25C voltage meter 2021-03-08 12:29:18 +01:00
Arjan Schrijver
0f5f036057 Fossil Hybrid HR: Make more strings translatable 2021-03-04 13:25:32 +01:00
Andreas Shimokawa
9179b2f51e Wasp-OS: Fix crash on Android<8
Fixes #2216
2021-03-04 13:07:59 +01:00
Andreas Shimokawa
00e5f1caf2 InfiniTime: Implement call control and notification 2021-02-22 23:35:34 +01:00
Andreas Shimokawa
54f96288d9 update changelog, bump version 2021-02-09 22:33:17 +01:00
Stefan Bora
5d4f70499d Added support for Amazfit X 2021-02-07 23:59:26 +01:00
Andreas Shimokawa
6d02e8c488 Amazfit GTS/GTR2 (all variants): Try to fix missing menu items
This was reported in #2189 for the GTS 2 Mini, but let's assume it is the same problem for all variants.
2021-02-07 16:23:45 +01:00
Andreas Shimokawa
85130a15d8 Inital support for Amazfit GTS 2e
Also fix missing break in Zepp E block
2021-02-06 21:56:28 +01:00
Andreas Shimokawa
092d527158 Move Amazfit GTR 2e code in the Amazfit GTR 2 package, they are too similar 2021-02-04 23:15:16 +01:00
Daniel Thompson
9e6c121dd9 wasp-os: Introduce a new device type
wasp-os is an open-source firmware, based on MicroPython, for smart
watches that are based on the nRF52 family of microcontrollers.
Currently this includes the hacker friendly PineTime from Pine64 as
well as the Colmi P8, which is a popular device with watch modders.

For GadgetBridge integration wasp-os is very similar to handling
Espruino/BangleJS: the watch will interact with the bridge by
providing REPL-over-BLE via the Nordic UART service.

wasp-os implements the same JSON-wrapped-in-GB()-function-call
protocol used for BangleJS buy the differences in capability
between the two firmwares lead us to introducing a different
device type... and also a different icon since the lead devices
for wasp-os are square!

I plan to keep as aligned as possible with the BangleJS device
type, however at present the major differences include:

1. Specify the bonding style (wasp-os currently does not support
   bonding... so no need to ask).
2. Disable some of the not-yet-implemented features.
3. Reduce the minimum packet size to fix communication reliability
   issues with the MicroPython NUS implementation.
4. Switch the date/time setting syntax from JavaScript to MicroPython.
2021-02-04 20:03:44 +01:00
Daniel Dakhno
1981998fc7 Fossil HR: splitted button config and menu config 2021-02-03 22:25:20 +01:00
Jochen S
b945af1531 Added support for Amazfit GTR 2e. (#2182)
Merge branch 'master' into master

Added support for Amazfit GTR 2e.

Co-authored-by: Jochen S <tsalin@noreply.codeberg.org>
Co-authored-by: arisel <arisel@arisel.de>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2182
Co-Authored-By: Jochen S. <tsalin@noreply.codeberg.org>
Co-Committed-By: Jochen S. <tsalin@noreply.codeberg.org>
2021-02-02 23:06:11 +01:00
Daniel Dakhno
24c2c99890 Fossil Classic: fix unknown wearing state 2021-02-01 17:22:57 +01:00
Daniel Dakhno
f8a25ad18e Fossil Classic: allow synchronizing activity data 2021-02-01 17:13:34 +01:00
Daniel Dakhno
60aaccb15f Fossil HR: fixed bug with unknown data 2021-02-01 17:08:45 +01:00
Daniel Dakhno
1505c355ce Fossil HR: allow app management on watch from GB 2021-02-01 01:57:13 +01:00
Andreas Shimokawa
1dc5164423 Zepp E: Address problems mentioned in #2180
Also move the package to huami
2021-01-31 22:55:59 +01:00
Andrew Watkins
3cfc6c596b Huami Zepp E support (#2180)
Added support for Huami Zepp E

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2180
Co-Authored-By: Andrew Watkins <randnv20@noreply.codeberg.org>
Co-Committed-By: Andrew Watkins <randnv20@noreply.codeberg.org>
2021-01-31 22:41:01 +01:00
Daniel Dakhno
9fe0b691a7 Fossil HR: removed toast 2021-01-30 23:36:18 +01:00
Daniel Dakhno
b85c1a803b Fossil HR: enumerate apps on watch on every connect 2021-01-30 22:20:07 +01:00
Daniel Dakhno
ec77345632 Fossil Hybrid: file handle can be passed to service as string 2021-01-30 21:10:36 +01:00
Daniel Dakhno
614d711226 Fossil Hybrid: file handle can be passed to service as string 2021-01-28 11:34:43 +01:00
Daniel Dakhno
3a4c5f6483 Fossil Hybrid: dont write buttons unauthenticated 2021-01-28 11:33:58 +01:00
Andreas Shimokawa
0c6ce453b2 Amazfit GTS 2 Mini: Initial support
(See #2152)

This also fixes a glitch with GTS2 firmware update code which is still untested
2021-01-26 23:31:35 +01:00
Andreas Shimokawa
fb2c9158e4 Huami: Add "Strength Training" activity type
Used on at least the Amazfit Bip U
2021-01-22 22:14:49 +01:00
xaos
4d47d53a8f Basic Amazfit Neo support (#2117)
Merge branch 'amazfit_neo' of codeberg.org:xaos/Gadgetbridge into amazfit_neo

updated menu items and settings, also disabled music info

added some classes, strings, etc. for Amazfit Neo (shows up but does not connect)

Merge branch 'amazfit_neo' of codeberg.org:xaos/Gadgetbridge into amazfit_neo

Merge branch 'master' into amazfit_neo

updated menu items and settings, also disabled music info

Merge branch 'authkey_errmsg' into amazfit_neo

refined error message for invalid authentication keys

added some classes, strings, etc. for Amazfit Neo (shows up but does not connect)

Co-authored-by: xaos <xaos@xaos.tech>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2117
Co-Authored-By: xaos <xaos@noreply.codeberg.org>
Co-Committed-By: xaos <xaos@noreply.codeberg.org>
2021-01-20 16:03:58 +01:00
Toby Murray
203176a01e Update GATT characteristic list
The current GATT characteristic list mentions it was up to date as of populated 2015-09-28. In the last 6 years, significantly more characteristics have been added to the Bluetooth spec. While it's not necessary to have all these constants available in Gadgetbridge, it's useful while implementing new features for a device or adding support for a new device

This was retrieved from https://btprodspecificationrefs.blob.core.windows.net/assigned-values/16-bit%20UUID%20Numbers%20Document.pdf. The GATT characteristics were parsed from that PDF and converted to constants with names via:

```
String description = uuid.description.trim().toUpperCase().replace(' ', '_').replace('-', '_');
System.out.println("public static final UUID UUID_CHARACTERISTIC_" + description + " = UUID.fromString((String.format(AbstractBTLEDeviceSupport.BASE_UUID, \"" + uuid.uuid + "\")));");
```
2021-01-18 19:38:16 -05:00
vanous
198040c935 add UUID to to GPX with opentracks namespace
ensure that GPX has trackpoints
improve GPX track name if null
2021-01-17 00:07:55 +01:00
Hasan Ammar
894102e45a Prevent unnecessary widget refresh on notification removal 2021-01-12 21:46:49 +01:00
License Bot
1b5402dcb4 update license headers 2021-01-10 23:38:13 +01:00
Andreas Shimokawa
5d8eb432fc fix missing import 2021-01-06 22:52:59 +01:00
Andreas Shimokawa
50ce99b838 Amazfit GTS2: Also use new protocol for calls like GTR2
This is an assumption
2021-01-06 22:15:22 +01:00
Andreas Shimokawa
c896e476f4 Amazfit GTR2: Try to fix incoming calls blindly 2021-01-06 16:29:11 +01:00
Andreas Shimokawa
a50cc8d42d InifiniTime: set device busy during firmware upgrade
Since this is the only busy task in use we just call gbDevice.unsetBusyTask()
upon completion/error
2021-01-06 15:12:41 +01:00
DanialHanif
2b8cd6013a Add Amazfit BIP U Pro support 2021-01-06 10:13:50 +01:00
Daniel Dakhno
df2300777d Fossil Hybrid: avoid unnessecary widget rendering 2020-12-24 14:35:22 +01:00
angelpup
4676c50afc Added Support for Amazfit Verge Lite
Co-Authored-By: angelpup <angelpup@noreply.codeberg.org>
Co-Committed-By: angelpup <angelpup@noreply.codeberg.org>
2020-12-20 22:39:51 +01:00
andyboeh
02b85f4c11 Casio GBX-100: Add step count data and more device settings
Co-Authored-By: andyboeh <andyboeh@noreply.codeberg.org>
Co-Committed-By: andyboeh <andyboeh@noreply.codeberg.org>
2020-12-20 00:22:35 +01:00
vanous
074bc885c8 send broadcast and vibration on button action only if enabled 2020-12-18 10:56:42 +01:00
Andreas Shimokawa
09bf9db799 Huami: Use blue icon instead of rainbow color icon for Signal (the rainbow icon was blue in early days) 2020-12-14 17:15:01 +01:00
Andreas Shimokawa
4fb79ac2b2 Huami: Add new option to disting to properly distinguish connected adverising and 3rd party hr exposure 2020-12-13 22:38:03 +01:00
TinfoilSubmarine
2f89de6250 Add Amazfit Bip U menu items and remove shortcuts (#2107)
fix a tab vs. space misalign

add missing menu items for Bip U (and possibly others)

remove shortcut config from Amazfit Bip U settings

add (most) menu items for Amazfit Bip U

Co-authored-by: AluminumTank <joel@beckmeyer.us>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2107
Co-Authored-By: TinfoilSubmarine <tinfoilsubmarine@noreply.codeberg.org>
Co-Committed-By: TinfoilSubmarine <tinfoilsubmarine@noreply.codeberg.org>
2020-12-05 16:22:09 +01:00
Gordon Williams
480ec40ff2 Fix realtime data, add suggestions from https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2106 2020-12-04 16:30:19 +00:00
Gordon Williams
c1195ba05d Support for HRM and steps activity recording in Bangle.js 2020-12-04 15:14:00 +00:00
Andreas Shimokawa
d0c5ffec28 Amazfit Bip S: Fix crash with notifictions with only a title (GitNex does this)
Probably affects other newer Huami devices
2020-12-02 17:07:40 +01:00
Andreas Shimokawa
aa6e2a291a Amazfit TRex: add missing menu items, remove non-existent 2020-12-01 18:56:37 +01:00
Andreas Shimokawa
85da3594fc Amazfit Bip U: Probably fix totally broken sleep/step data 2020-12-01 15:19:27 +01:00
Andreas Shimokawa
1bad73e20c Amazfit Bip U: Blindly add untested support
Based on Bip S, don't know what works and what not
2020-11-30 17:09:29 +01:00
Andreas Shimokawa
6042d285bb compile fix 2020-11-30 17:08:35 +01:00
Daniel Dakhno
55449c1d25 Fossil Hybrid: added fallback vibration to old Q's 2020-11-29 17:15:03 +01:00
Daniel Dakhno
996674836e Fossil Hybrid: added firmware upgrade to old Q's 2020-11-29 17:10:10 +01:00
Daniel Dakhno
7fe8a88ee7 Fossil Hybrid: keep widget values after widget reload 2020-11-26 21:12:56 +01:00
Andreas Böhler
b0a0a29bcb Casio GB-5600B/GB-6900B: Add configurable disconnect notification 2020-11-23 22:59:16 +01:00
Andreas Böhler
6f18a1dd73 A few fixes to the init sequence 2020-11-21 22:12:19 +01:00
Andreas Böhler
8fd0e1f13f Add support for synchronizing profile settings 2020-11-21 22:12:19 +01:00
Andreas Böhler
2ef9128cf8 Move BCD functions to its own Util class 2020-11-21 22:12:19 +01:00
Andreas Böhler
80df573ccf Improve initialization sequence 2020-11-21 22:12:19 +01:00
Andreas Böhler
9d710308fa Limit the number of temporarily stored notification IDs 2020-11-21 22:12:19 +01:00
Andreas Böhler
5edac523f0 Improve notification removal 2020-11-21 22:12:19 +01:00
Andreas Böhler
ae02c825b4 Fix reconnect and initialization 2020-11-21 22:12:19 +01:00
Andreas Böhler
92986724ee Fix watch init (only do the bare minimum) and add basic
notification support. Reconnect is WiP.
2020-11-21 22:12:19 +01:00
Andreas Böhler
b653789b66 Add preliminary support for Casio GBX-100: connecting and time synchronization. 2020-11-21 22:12:19 +01:00
Andreas Böhler
08ff70ac41 Refactor Casio support for multiple watches 2020-11-21 22:12:19 +01:00
Andreas Shimokawa
0e88adbaf7 Mi/Amazfit Band 5: Support flashing watchfaces 2020-11-20 22:03:23 +01:00
Andreas Shimokawa
bd0c645db5 Add support for Amazfit GTS2 (untested)
Also change icon for GTR2 to a round one
2020-11-15 16:25:47 +01:00
Andreas Shimokawa
cc7a7b7caf Fossil Hybrid HR: delete activity data after syncing
This partially reverts f6a7435b7e
2020-11-14 22:17:24 +01:00
Andreas Shimokawa
435808467b Amazfit GTR2: Make sure new firmware upgrade code gets used (shamelessly assume it uses this right from the start) 2020-11-14 22:04:09 +01:00
Andreas Shimokawa
5f85bba438 Amazfit GTR: Also fix firmware flashing for the chinese(?) variant 2020-11-12 18:06:52 +01:00
Andreas Shimokawa
66bb6f694e Amazfit GTR Lite: Prevent using new firmware flashing code (they have not upgraded the protocol yet) 2020-11-12 17:47:31 +01:00
Andreas Shimokawa
c3b8604338 Amazfit GTR: FIx firmware flashing on newer firmares 2020-11-12 17:29:25 +01:00
Daniel Dakhno
79939b7339 Fossil Hybrid: can now delete notifications from watch 2020-11-12 12:35:29 +01:00
Daniel Dakhno
02b9cedcb7 Fossil Hybrid: fixed async action flag 2020-11-12 12:13:10 +01:00
Daniel Dakhno
b40e33f086 Fossil Hybrid: added "decline call" notification flag 2020-11-12 12:11:54 +01:00
Daniel Dakhno
fc1e74d154 Fossil Hybrid: fix "delete notification" to not cancel calls 2020-11-12 03:51:57 +01:00
Daniel Dakhno
39ed94de87 Fossil Hybrid: added unauthenticated, limited mode 2020-11-12 03:49:52 +01:00
Andreas Shimokawa
f157a2ac78 Amazfit GTS: Try to fix firmware flashing not working in newer firmwares
Reported in #2075
2020-11-11 12:51:58 +01:00
Andreas Shimokawa
cd8ac94a93 Mi Band 5: Whitelist FW 1.0.2.24 2020-11-11 09:48:50 +01:00
Andreas Shimokawa
9d6f9f7d57 Huami: Unify menu id lookup tables and simplify code 2020-11-10 21:56:00 +01:00
Andreas Shimokawa
5b55898059 Mi/Amazfit Band 5: Add support for setting/sorting shortcuts 2020-11-10 11:33:37 +01:00
pangwalla
c4eb1c0879 Support for Amazfit GTR 2 (#2072)
Merge branch 'master' into master

fixed GTR2 getActivitySampleSize override

Support for Amazfit GTR 2

Co-authored-by: Pangwalla <pangwalla@protonmail.com>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2072
2020-11-09 20:53:02 +01:00
Andreas Shimokawa
f178c478c9 Amazfit Bip: Also make shortcuts sortable 2020-11-07 22:48:34 +01:00
Andreas Shimokawa
d20e6516c8 Humai: Implement menu sorting for remaining devices (except Mi Band 2) 2020-11-07 22:48:34 +01:00
Andreas Shimokawa
8cb2fb980a Ímplement sorting menu items for newer Huami devices
- Amazfit GTR/GTS
- Amazfit Bip S
- Mi Band 5/Amazfit Band 5
2020-11-07 22:48:34 +01:00
Daniel Dakhno
e8534e01f8 Fossil Hybrid: dynmically generate check byte 2020-10-31 12:40:20 +01:00
Daniel Dakhno
d8ade53cdf Fossil Hybrid: fixed missing class 2020-10-30 04:25:11 +01:00
Daniel Dakhno
12e67312c7 Fossil Hybrid: auto-detect iv incrementor 2020-10-30 04:19:21 +01:00
Daniel Dakhno
f6a7435b7e Fossil Hybrid: temporarely keep activity file after sync 2020-10-30 04:19:07 +01:00
Daniel Dakhno
6b1d2cab50 Fossil Hybrid: added device security version info 2020-10-30 03:38:10 +01:00
Daniel Dakhno
8e543d0b9c Fossil Hybrid: code cleanup 2020-10-29 02:49:44 +01:00
Daniel Dakhno
8a87bd9700 Fossil Hybrid: added verbose decryption logging 2020-10-29 02:48:28 +01:00
Daniel Dakhno
c1352a7c3c Fossil Hybrid: added app exec test code 2020-10-29 02:43:21 +01:00
Daniel Dakhno
0845d15ba2 Merge remote-tracking branch 'origin/master' 2020-10-29 02:43:01 +01:00
Daniel Dakhno
6850837a30 Fossil Hybrid: cleaned up handle handling 2020-10-29 02:42:52 +01:00
Daniel Dakhno
f11977597b Fossil Hybrid: use GB.toast() 2020-10-28 21:42:12 +01:00
Daniel Dakhno
d14687388b Fossil Hybrid: show warning on wrong key format 2020-10-28 21:42:12 +01:00
Andreas Shimokawa
1224cfeffc Amazfit Bip S: unify shortcuts code with display items code 2020-10-28 00:12:37 +01:00
Andreas Shimokawa
50f99a5b59 Amazfit Bip S Lite: add new device type for the lite variant
See #2055
2020-10-27 12:56:27 +01:00
Andreas Shimokawa
f61c06630a Fossil Hybrid HR: Only do a factory reset when really requested, not also on reboot. 2020-10-27 11:47:55 +01:00
Maxim Baz
e2a75d75d4 Add Wire messenger to the chat applications
This is a chat app that uses end-to-end encryption algorithm similar to Signal.
2020-10-26 23:29:58 +01:00
Daniel Dakhno
7dd50fc31a Fossil Hybrid: added factory reset option 2020-10-26 03:55:32 +01:00
Daniel Dakhno
89f9f69b0d Merge remote-tracking branch 'origin/master' 2020-10-26 02:51:47 +01:00
Daniel Dakhno
2535342ac4 Fossil Hybrid: refactored requests to use fileHandle enum 2020-10-26 02:50:30 +01:00
JF
9d6ac2b985 Improve notification support for InfiniTime (PineTime) :
- InfiniTime 0.9 now supports messages up to 100 chars (instead of max 18 previously)
 - Remove the hack that was implemented as a workaround to a bug in InfiniTime that would ignore the last character of the notification message (https://github.com/JF002/Pinetime/issues/109).

 These 2 features are enabled only if the firmware version is >= 0.9.
2020-10-24 00:19:45 +02:00
Daniel Dakhno
c85e30cb07 Fossil Hybrid: added hands calibration 2020-10-22 12:43:40 +02:00