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

315 Commits

Author SHA1 Message Date
José Rebelo
81aef0bf35 Add support for multiple weather locations
Introduce the concept of primary and secondary weathers:

* Primary weather keeps the same behavior as previously across all weather providers, so it's non-breaking. This location is not necessarily the current location, just the primary weather location set by the user.
* The GenericWeatherReceiver now has a new extra WeatherSecondaryJson, that receives a json list with secondary weather locations.

It's guaranteed that the primary weather always exists, so the list of WeatherSpecs provided to devices is never empty. Update all support classes accordingly.
2024-03-29 21:10:40 +00:00
Arjan Schrijver
08a8b6a8fd Fossil/Skagen Hybrids: Remove activity fetching toasts and add finished signal 2024-02-27 14:36:28 +01:00
Arjan Schrijver
0383169767 Fossil/Skagen Hybrids: While syncing, mark device busy and show transfer notification 2024-02-23 20:59:01 +01:00
FYG_license_bot_ignore_me
4c7476845b Update license headers and CONTRIBUTORS file 2024-01-10 19:01:48 +01:00
Arjan Schrijver
7aeb0dd2ef Fossil/Skagen Hybrids: Update navigationApp to 1.1
Changes:
- Support locking (keep visible and let hands display time)
- Support merge navigation instruction
- Support wrist flick gesture to move hands
- Support GB-configurable foreground and vibration behaviour
2023-12-23 22:05:51 +01:00
Arjan Schrijver
a0e6085324 Fossil/Skagen Hybrids: Allow configuring call rejection method 2023-10-20 10:50:25 +02:00
Arjan Schrijver
88341c8b86 Fossil/Skagen Hybrids: Add new navigation app 2023-10-18 13:06:16 +00:00
Arjan Schrijver
b8912976f1 Fossil/Skagen Hybrids: Show some toasts only on debug builds 2023-09-18 22:32:02 +02:00
Arjan Schrijver
d10745b0b3 Add getLocation method to WeatherSpec and use it for Zepp OS and Fossil/Skagen 2023-08-27 20:19:15 +00:00
José Rebelo
564cb1bfcc Introduce WeatherSpec v4
New fields for current weather:

- dewPoint
- pressure
- cloudCover
- visibility
- sunRise
- sunSet
- moonRise
- moonSet
- moonPhase
- airQuality
- latitude
- longitude
- feelsLikeTemp
- isCurrentLocation

New fields for daily forecast:

Deprecate the old "Forecast" class, which was not versioned, but keep it for backwards compatibility with old apps. Old WeatherSpec forecasts are de-serialized into the new Daily class. New fields:

- windSpeed
- windDirection
- uvIndex
- precipProbability
- sunRise
- sunSet
- moonRise
- moonSet
- moonPhase
- airQuality

Add hourly values:
- timestamp
- temp
- conditionCode
- humidity
- windSpeed
- windDirection
- uvIndex
- precipProbability

Air Quality:
- aqi (plume)
- co
- no2
- o3
- pm10
- pm25
- so2
- coAqi
- no2Aqi
- o3Aqi
- pm10Aqi
- pm25Aqi
- so2Aqi
2023-08-27 15:13:57 +00:00
Daniel Dakhno
73d67d4093 Fossil/Skagen Hybrids: Embed menu_structure in watchface apps (#3245)
This PR aims to optimize the method of synchronizing the menu_structure for the openSourceWatchface by making the menu_structure request from the watch obsolete.

Instead, when a new menu_structure is sent to GB via the Intent `nodomain.freeyourgadget.gadgetbridge.Q_SET_MENU_STRUCTURE`, GB remembers that JSON.

Next time a watchface is built, the JSON is embedded into that app package so the watch doesn't forget the structure.

This requires a full GB rebuild to work properky.

Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/3245
Co-authored-by: Daniel Dakhno <dakhnod@gmail.com>
Co-committed-by: Daniel Dakhno <dakhnod@gmail.com>
2023-08-19 20:48:53 +00:00
Arjan Schrijver
5a1e56a81e Fossil/Skagen Hybrids: Fix unused alarms being pushed to the device 2023-08-07 15:27:25 +02:00
Arjan Schrijver
f58c655449 Fossil/Skagen Hybrids: Strip unicode characters that the watch can't display 2023-07-22 12:13:25 +02:00
Arjan Schrijver
7c5cd4c032 Fossil/Skagen Hybrids: Increase accuracy of workout distance calculation 2023-06-19 15:57:09 +02:00
Arjan Schrijver
2081463a4f Fossil/Skagen Hybrids: Add UV index and chance of rain widgets
Note: this needs support from weather apps, for example:
https://github.com/TylerWilliamson/QuickWeather/pull/69
2023-06-18 22:11:07 +02:00
Arjan Schrijver
ff563022f5 Fossil/Skagen Hybrids: Fix weather icons day/night status 2023-06-17 22:54:41 +02:00
Enrico Brambilla
93e8996b52 Fossil/Skagen Hybrids: Add support for ultraviolet index and rain probability
Updates WeatherSpec to v3 to add fields for UV index and precipitation probability
Co-authored-by: Enrico Brambilla <enricobilla@noreply.codeberg.org>
Co-committed-by: Enrico Brambilla <enricobilla@noreply.codeberg.org>
2023-06-05 19:52:26 +00:00
Arjan Schrijver
0bba156bec Deduplicate icon retrieval code 2023-05-17 14:09:17 +02:00
Arjan Schrijver
f727f2fdcb Fossil/Skagen Hybrids: Pair watch to phone, fixes repeating confirmation request 2023-05-08 22:44:43 +02:00
Arjan Schrijver
cbf98b9308 Fossil/Skagen Hybrids: Remove useless and annoying debug message 2023-02-11 21:02:24 +01:00
Arjan Schrijver
810cc91e8e Fossil/Skagen Hybrids: Implement inactivity warnings 2023-02-06 14:26:26 +01:00
Arjan Schrijver
5ea68cad3b Fossil/Skagen Hybrids: Rewrite configuration of automatic workout detection
Fixes #2514
2023-02-06 14:22:40 +01:00
Arjan Schrijver
14f05a7cf6 Fossil/Skagen Hybrids: Fix crash on empty or multi-byte unicode alarm texts
Fixes #3024
2023-02-05 14:35:01 +01:00
Arjan Schrijver
845887ddeb Fossil/Skagen Hybrids: Add app/watchface downloading from watch to app manager 2023-01-07 23:07:34 +01:00
Arjan Schrijver
b1d03e9f7a Clean up duplicated unimplemented methods from device support classes
Moved to AbstractDeviceSupport so each device support class can override them if required. This change helps to keep the code base clean by not requiring every (Device)Support class to implement these methods even when they don't need them.
2023-01-05 22:11:32 +01:00
Benjamin Swartley
f1e26aeb8b Fossil/Skagen Hybrids: Fix activity parser
Switch to only saving 0xCE as sample data, mark additional known data

Remove unused updateSample from testing

Add 0xDD handling

Fix byte comparisons

Add SpO2 parsing, still unused. Cleanup

Clean remaining anomalies

Fix order sign blunder filtering out all data

Remove unproductive/improper debugging prints
2023-01-04 19:30:18 -05:00
Arjan Schrijver
d8af8bede0 Fossil/Skagen Hybrids: Allow launching watch apps from app manager 2023-01-02 15:15:48 +01:00
Arjan Schrijver
afeeff5293 Fossil Hybrid HR: Fix washed out colors in imported watchfaces
Fixes #2995
2022-12-23 22:45:12 +01:00
Arjan Schrijver
82b3e0d963 Fossil Hybrid HR: Correctly truncate notification body when too long
The original truncation code caused the null termination of the string
to be dropped, leading to several weird issues on the watch, including
empty notification bodies and firmware crashes.
2022-12-22 20:47:00 +01:00
Hasan Ammar
ef50599179 Skagen Gen 6 Hybrid HR: Add support for 38mm watches.
Tested against https://www.watchstation.com/en-ca/products/jorn-38mm-gen-6-hybrid-smartwatch---silver-stainless-steel-mesh/SKT3301.html
2022-10-30 22:00:14 +01:00
Daniel Dakhno
ea851b312a Core: fixed typo 2022-10-15 21:57:22 +02:00
Daniel Dakhno
ec161be66e Core: added device update reason DEVICE_STATE 2022-10-15 21:57:22 +02:00
José Rebelo
28a26710d9 Fix calls to unsupported API functions 2022-10-02 16:04:14 +02:00
José Rebelo
c36857f063 Huami: Set OpenTracks track category and icon 2022-09-19 11:50:44 +02:00
Arjan Schrijver
7ae2ec1dcf Fossil Hybrid HR: Set OpenTracks track category and icon to workout type selected on watch 2022-09-12 11:22:04 +02:00
Andreas Shimokawa
969164ba5d Remove KitKat support 2022-09-10 12:04:16 +02:00
Morten Rieger Hannemose
e476b8a701 Hybrid HR: Enabled configuring middle long press on FW 3.0 and newer 2022-09-06 19:59:39 +02:00
Daniel Dakhno
1a472493c7 Fossil HR: cleaned up firmware version handling 2022-08-27 02:54:56 +02:00
Daniel Dakhno
e0e1a91dc8 Fossil HR: fixed version calculation 2022-08-27 01:44:41 +02:00
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
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
Arjan Schrijver
5871a70d1f Fossil Hybrid HR: Allow switching already uploaded watchfaces with Intent 2022-07-20 12:16:55 +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
Arjan Schrijver
820bcf258d Fossil Hybrid HR: Request custom menu config on watchface initialization 2022-06-15 13:02:33 +02: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