Commit Graph

4357 Commits

Author SHA1 Message Date
Arjan Schrijver 9b4f909ace Fossil/Skagen Hybrids: Update known watch app versions 2023-01-27 21:19:25 +01:00
Gordon Williams 521edc4332 Bangle.js: Increase default realtime HRM/step interval to 10 seconds
Disable manual heart rate measurement - the current implementation in Gadgetbridge seems not really compatible with Bangle.js. There's no way to turn the HRM off when the window is closed, and HRM samples from *any* device would appear to be shown - not just the one that HRM info was requested on
2023-01-26 10:31:13 +00:00
José Rebelo 134376cbd0 Amazfit T-Rex 2: Initial support 2023-01-23 23:36:57 +00:00
Gordon Williams b16464b3b6 Bangle.js stop 'toast' warning message appearing when starting the app loader. Fix https://github.com/espruino/BangleApps/issues/2496 2023-01-13 14:28:38 +00:00
Noodlez ead7ada987 Code clean-up and documentation 2023-01-12 17:12:03 +00:00
Noodlez 8f5997d174 AsteroidOS: Remove unused overrides
There are now default empty implementations of all AbstractDeviceSupport
functions, so there's no need to provide empty ones
2023-01-12 17:11:57 +00:00
Noodlez 3e9a185b88 AsteroidOS: Fix weather forecast
The forecast was off by 1 day
2023-01-12 17:11:50 +00:00
Noodlez 616ec53086 AsteroidOS: Add simple device discovery
This is done by just comparing the names with already existing devices.
This is only a temporary solution until the discovery of the service
UUID works properly
2023-01-12 17:11:45 +00:00
Noodlez d3d4baedea AsteroidOS: Small code improvements
Removed logging in the DeviceCoordinator, fixed the time setting (day
was off by 1), consolodated many characteristic transactions to one
buidler and queue, and added Find My Device, by just initiating a call.
2023-01-12 17:11:40 +00:00
Noodlez f7395ec6b2 Initial support for AsteroidOS watches
The watch does not auto-detect through pairing and therefore requires
discovering unsupported devices.
2023-01-12 17:11:36 +00:00
Gordon Williams f3fa01dfba Bangle.js: Quick tweak to stop us sending bitmaps for common characters that already had good enough equivalents 2023-01-11 13:45:46 +00:00
Arjan Schrijver 845887ddeb Fossil/Skagen Hybrids: Add app/watchface downloading from watch to app manager 2023-01-07 23:07:34 +01:00
Lukas 9ef0e6044c replace GPS_PROVIDER with NETWORK_PROVIDER to retrieve the gps data from the network 2023-01-07 12:09:42 +01:00
José Rebelo 78b73c0fac Amazfit Band 7: Fix coordinator creation 2023-01-06 18:51:09 +00: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
José Rebelo 17c58d2947 Amazfit GTR 4/GTS 4: Add AGPS Updates 2023-01-05 11:31:51 +00: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
José Rebelo 20cc75e7d2 Zepp OS: Fix Alipay and WeChat Pay display item and shortcuts
Closes #3014
2023-01-04 11:30:01 +00:00
Arjan Schrijver d8af8bede0 Fossil/Skagen Hybrids: Allow launching watch apps from app manager 2023-01-02 15:15:48 +01:00
José Rebelo 041aa4faf2 Sony WF-1000XM4: Fix audio codec 2022-12-31 11:55:06 +00:00
José Rebelo 93c40e6457 Sony WF-1000XM4: Fix battery updates +while connected 2022-12-30 18:09:24 +00:00
José Rebelo ff15fdaa9f Sony LinkBuds S: Initial support 2022-12-30 18:07:18 +00:00
Daniel Dakhno fed5866f19 Binary sensor: fixed byte overflow bug 2022-12-27 19:45:44 +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
Arjan Schrijver 4470795196 Fossil/Skagen Hybrids: Update known watch app versions 2022-12-18 16:17:22 +01:00
José Rebelo fe9648dea3 Zepp OS: Allow activity fetch timestamps sent in seconds
Re-applies #2959 after b51328e4f
2022-12-15 22:03:14 +00:00
José Rebelo b51328e4f2 Huami: Fix payload when setting the time
Fixes #2999
2022-12-15 21:38:06 +00:00
José Rebelo 4a0e67cb30 Add Intent API to trigger activity sync and DB export 2022-12-15 14:17:03 +00:00
Gordon Williams 6d35ca3ec0 fix gbDevice==null errors again, and avoid spamming log with ACTION_DEVICE_CHANGED messages 2022-12-12 16:10:14 +00:00
uli 3986d8c4bc PineTime: Added World Clocks 2022-12-12 15:05:53 +00:00
uli d3e448ad6f cosmetics to make intent more clear 2022-12-12 15:04:45 +00:00
uli 6cf079e55b adapt HuamiSupport to updated BLE Time handling 2022-12-12 15:04:45 +00:00
uli 5097327234 add local time service to PineTime, fixed standard ble format 2022-12-12 15:04:45 +00:00
musover c05734ed0f Added forgotten newline to title when it is being repeated 2022-12-12 07:49:26 +00:00
musover 7ed2f90fde Added forgotten null terminator for the title field 2022-12-12 07:49:26 +00:00
musover 4386f321a3 Fixed regression undoing PR #2474, notification content preserved for Amazfit GTS 2 Mini 2022-12-12 07:49:26 +00:00
LukasEdl abf19f2b6c [Banglejs] Send phone location data to banglejs, which can be used as gps data (#2992)
Since the PR #2961 aswell as #2976, i pushed the changes to this pr.

Original text:

With this PR, the gadgetbridge app sends the current locationd data, obtained from the gps or network provider, to a connected banglejs device as an "gps" event.

The bangle device can use this data instead of the internal gps data. Therefor saving battery energy, since the gps chip is one of the biggest energy consumers.

Furthermore it enables the banglejs device to use the location data, based on the network with which the phone is currently connected. This would be usefull if there is no gps signal.

Updates:

I added a network provider so that it is possible to use the network location. I also overload the start method of GBLocationManager so that it is now possible to select which provider should be used to get the data (currently GPS or Network) and to set a interval to determine how often the update should be run.

For the banglejs device i added a switch to enable the sending of gps data. I also added a setting, to set the interval on how often the gps data is being updated. This allows to throttle the updates of the gps data and therefore saving energy of the smartphone batterie.

To further save energy, the app now requestes the current status of the gps from the banglejs and only sends data, if the gps of the banglejs is turned on.

In the PR #2976 I also moved the settings to the device settings of the banglejs and i moved the logic to the onLocationChanged method of the GBLocationManager.

Co-authored-by: Lukas <lukas.edi@gmx.net>
Reviewed-on: https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2992
Co-authored-by: LukasEdl <lukasedl@noreply.codeberg.org>
Co-committed-by: LukasEdl <lukasedl@noreply.codeberg.org>
2022-12-12 07:48:19 +00:00
Gordon Williams 0dd0b2bead Bangle.js flow control. If the Bangle is busy and unable to accept more data, Gadgetbridge will now pause sending until the Bangle is ready for more.
This works by adding the ability to pause the sending of data from the Bluetooth LE queue. While BtLEQueue is modified, unless setPaused(true) is called it behaves exactly as before so shouldn't cause any issues.
2022-12-12 07:43:20 +00:00
Gordon Williams bb1323dd61 Ensure we automatically convert unrenderable chars the title/description of calendar events 2022-12-12 07:42:22 +00:00
Gordon Williams e003e0b672 Fix the code that forces a calendar sync on Bangle.js - previously sending "android.intent.action.PROVIDER_CHANGED" didn't work 2022-12-12 07:42:22 +00:00
José Rebelo a32b756972 Revert "Sony LinkBuds S: Initial support"
This reverts commit f2aaf5aecf.

It looks like the protocol changed, as per the comments in !2990
2022-12-09 21:27:49 +00:00
José Rebelo 21f217b698 Zepp OS: Fix notification icons for work profile apps 2022-12-08 18:14:07 +00:00
José Rebelo f2aaf5aecf Sony LinkBuds S: Initial support 2022-12-07 20:14:33 +00:00
José Rebelo 07194cd8fb Amazfit GTS 4 Mini: Initial support 2022-12-03 13:27:48 +00:00
José Rebelo be900f13d8 Zepp OS: Fix NPE when no weather data is available 2022-12-02 21:13:25 +00:00
Daniele Gobbetti 5d6109a4fb No functional changes, only run "Reformat code" 2022-11-27 19:02:52 +01:00
Daniele Gobbetti 7f24ba8ffb Drastic rewrite of discovery activity.
- get rid of pre-lollipop BLE discovery (nowadays we support only lollipop and above) and related preference
- get rid of the sequenced BT-then-BLE-scan that wasn't working reliably anyway and was causing a recursion
- add a caching layer for already processed devices (the same device is found multiple times during discovery)
- add a caching layer for device name in GBDeviceCandidate (many coordinators will ask for it, and it's a very expensive operation)
2022-11-27 18:59:22 +01:00
José Rebelo 5d78b778e3 Zepp OS: Fix app and watchface install
Fix the regression introduced by 1c93ffc3e
2022-11-25 21:42:47 +00:00
TaaviE 091fd07c7b Fixed PineTime WeatherSpec handling 2022-11-22 07:01:39 +00:00