1
0
mirror of https://codeberg.org/Freeyourgadget/Gadgetbridge synced 2024-08-02 03:53:31 +02:00
Commit Graph

2313 Commits

Author SHA1 Message Date
José Rebelo
f7074c327d Huami 2021: Add missing cast to chunked type
Missed this file in the last commit.
2022-10-29 18:44:15 +01:00
José Rebelo
cd59511aad Zepp OS: Refactor config, fix health on GTR 3 and GTS 3
The config refactor in addf7ff6a broke health settings on GTR3 and GTS3

- GTS 3 and GTR 3 health configs use protocol v1. The only difference
  seems to be that the steps goal is a SHORT instead of an INT.
- It needs a refactoring from the ground up to better handle different
  versions, but this is enough to get the GTR 3 and GTS 3 working.
2022-10-29 14:17:40 +01:00
José Rebelo
6cc3579e9c Zepp OS: Refactor file upload, fix notification icons > 56x56px
- File uploads are split in chunks, with the size dictated by the
  watches. There seem to be 2 protocol versions, without any noticeable
  differences
- Extract the file upload logic to a standalone class. This makes it
  easier to keep track of concurrent requests, each of which have their
  own session id
- Icons larger than 8KB will end up split in multiple chunks - we now
  handle that correctly
- Notification icons are also requested in 2 different formats, but
  the actual encoding seems to be the same, with only a different id
2022-10-28 23:37:22 +01:00
José Rebelo
bc2d5aa16d Zepp OS: Change default fetch operation time unit resolution to minutes
Reverts the default behavior introduced by 1335f0bd8 since it was
causing issues on the GTR 3, but keeps it optional as a developer
option.
2022-10-27 23:51:02 +01:00
José Rebelo
08a41f655c Zepp OS: Map strength training, basketball and cricket activity types 2022-10-23 20:46:14 +01:00
José Rebelo
9c82180930 Zepp OS: Do not change GATT Callback unless explicitely set 2022-10-23 10:11:23 +01:00
José Rebelo
addf7ff6a6 Amazfit GTR 4: Initial support 2022-10-22 22:03:49 +02:00
José Rebelo
8fdfbfa97c Sony WF-1000XM4: Initial support 2022-10-22 13:14:50 +01:00
José Rebelo
d4ba532b11 Sony Headphones: Refactor V1 protocol to simplify V2 implementation 2022-10-22 11:14:23 +01:00
José Rebelo
1dca054853 Sony WH-1000XM2: Initial support 2022-10-20 23:48:02 +01:00
Gordon Williams
55cbac5f8f Squashing some build warnings. Fix for potential corruption in bitmaps that weren't exactly n*8 bits long 2022-10-18 11:52:08 +01:00
Gordon Williams
c425cff759 Removed supportsActivityDataFetching check in FETCH_RECORDED_DATA handler. This
fixes a regression for Bangle.js where 'Debug -> Fetch Debug Logs' wasn't working because
it didn't support activity data fetching.

see https://codeberg.org/Freeyourgadget/Gadgetbridge/pulls/2526#issuecomment-648446
2022-10-18 08:25:14 +01:00
José Rebelo
1335f0bd86 Zepp OS: Fix fetching workouts shorter than 1 minute
Since GB would always round down the time precision to the minute,
workouts shorter than 1 minute would be fetched over and over again.
2022-10-16 22:08:13 +01:00
José Rebelo
a717fd1db2 Huami: Do not crash when failing to parse activity summary 2022-10-16 21:33:47 +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
Daniel Dakhno
dfc1f164b4 Core: added subject to device update intent 2022-10-15 21:57:22 +02:00
Gordon Williams
eac7edfea1 Bangle.js - small tweak to fix occasional NullPointerException reported via Play Store 2022-10-14 09:48:55 +01:00
José Rebelo
d0b1e2a23c Zepp OS: Fix crash when user attempts to disable Settings display item
The display items lists were immutable, so removing items from them
would crash GB.
2022-10-03 22:12:50 +01:00
vanous
b957c76d71 SuperCars: add blinking function and live battery status, fine-tune driving, race! 2022-10-02 18:01:22 +02:00
TylerWilliamson
a86894b052 Added GenericWeatherProvider, shows "Activate" and "Deactivate" regardless of if "Weather Notification" is installed
Using objects instead of primitives, reading from correct JSON

Added unregisterReceiver for GenericWeatherReceiver

Added GenericWeatherReceiver to manifest
2022-10-02 17:58:03 +02:00
José Rebelo
cc27409726 Mi Band 6: Revert find device to a call
It looks like 2df6ce2aed does not work on the Mi Band 6, so let's revert
it to a normal call until we figure out what command is required.
2022-10-02 16:25:56 +01:00
José Rebelo
d1ae6cf225 Zepp OS: Implement workout fetching 2022-10-02 16:07:21 +02:00
José Rebelo
7f4bd16914 Zepp OS: Implement activity and sleep fetching 2022-10-02 16:07:21 +02:00
José Rebelo
28a26710d9 Fix calls to unsupported API functions 2022-10-02 16:04:14 +02:00
vanous
51b7f28a8b SuperCars: switch from data replay to generated data
- use encryption to create data rather then replay captured BLE traffic
- use periodical data sender, as is required by the BLE module
- extract string resources
2022-10-02 08:56:35 +02:00
vanous
5f7674fe39 SuperCars: add battery support 2022-09-30 00:09:42 +02:00
vanous
a5767cbb5f SuperCars: add joystick and driving modes 2022-09-28 22:38:58 +02:00
Andreas Shimokawa
a0ba977cde Revert "remove AndroidThreeTen library, since we have java8 in this branch"
This reverts commit 43eb6bfe0e.

The reason was not only Java8 but this also requires Android 8!
2022-09-28 07:51:10 +02:00
Ganblejs
c31471c9b8 Bangle.js: extending intents functionality (fix). Use startForegroundService only on API level 26 and up. 2022-09-27 17:09:55 +02:00
Andreas Shimokawa
7985f8c703 Bangle.js: some minor code cleanup
Also improves performance when scanning for emoji (if one has been found stop scanning for more)
2022-09-27 15:51:41 +02:00
Gordon Williams
abec54fb1a Bangle.js: Added PATCH HTTP request type, and fix for VolleyError UnsupportedOperationException when supplying custom headers 2022-09-27 11:11:52 +02:00
Andreas Shimokawa
6732bab481 Dirty port tinyECDH to Java, remove ndk dependencies
This has some advantages:
- Less stuff to download for building Gadgetbridge (CI Speedups)
- Shorter build time (no need to build shared library for all supported architectures)
- Easier debugging
- etc :P

What I did:
 - remove all curves except B163 to make porting easier
 - port to java with brain switched off
 - fix the "java has no unsigned" bugs
 - add some helpers to convert int[] to byte[] and back because java has no casts

The result is ugly, no one would write such crappy code from scratch, but I tried to
keep it as close to the C code as possible to prevent bugs. Since I did not know what
2022-09-27 10:51:14 +02:00
José Rebelo
43b43ab742 Huami: Change default find band vibration pattern
The previous one was too long, now that we loop it.

This one should be a sane default, even for devices that do not support
it (eg. Bip), as the total time is 1.5s.
2022-09-26 18:21:16 +01:00
NekoBox
2df6ce2aed Huami: implement proper find device. 2022-09-26 19:18:41 +02:00
José Rebelo
cadcfb787a Zepp OS: Improve firmware upgrades 2022-09-26 00:33:49 +02:00
vanous
e6411b15ab Add initial support for Shell Racing cars
- adds initial device support
- can control driving forward/back/left/right
- probably could be implemented further:
  - battery reading
  - device name?
  - lights on
  - fast/slow speed mode
2022-09-25 21:39:41 +02:00
Nathan Philipp Bo Seddig
63b1cffe2a Mi Band 6: Enable adding workout activity types to the "more" section 2022-09-25 19:40:36 +01:00
José Rebelo
aac1e656b1 Mi Band 6: Add support for workout activity types 2022-09-25 19:40:28 +01:00
José Rebelo
11716c906b Allow 3rd party apps to set device settings 2022-09-25 11:55:48 +02:00
NekoBox
ff40640a0f Amazfit Neo: fix long caller name display 2022-09-25 11:48:48 +02:00
thermatk
c24ef44055 Amazfit GTR 3: Initial support (#2900)
Co-authored-by: thermatk <thermatk@noreply.codeberg.org>
Co-committed-by: thermatk <thermatk@noreply.codeberg.org>
2022-09-22 00:56:22 +02:00
José Rebelo
f38f5fbd85 Huami 2021: Add null terminator to firmware device name matching 2022-09-21 23:52:05 +01:00
José Rebelo
a6cb73e843 Amazfit GTS 3: Fix battery drain due to unanswered weather requests
- Reply with HTTP 404 to unknown weather endpoints
- Add some missing fields to weather responses

The official Zepp app itself gets a 404 when calling a /weather/tide
endpoint, so we don't know what the watch is supposed to receive.

Weather also seems to still not work correctly on the GTS 3, but this at
least fixes the request spam that was coming from the watch on the tide
endpoint.
2022-09-21 21:31:45 +01:00
Daniel Dakhno
cdc60cec51 Flipper Zero: fetch firmware version from flipper 2022-09-20 15:55:36 +02:00
NekoBox
4675c7a344 Fix world clock packet format.
Fix short city name in packet (used by Neo).
Enable world clocks for Amazfit Neo.
2022-09-19 21:53:20 +02:00
Ganblejs
82315b3281 Bangle.js: extending intents functionality (continuation)
Add support for (explicit) service intents.
Add support for setting flags for intents.
Add support for setting multiple categories for intents.
Add ability for Gadgetbridge to wake the Android device and leave the
 lock screen to start activities when it is sleeping. A new activity
 'WakeActivity' is used for this. (Must use 'trusted device' in Android)
Add dismiss-button to 'display over other apps' permission pop up.
Bangle.js can send "gadgetbridge" as package info to accomodate the
 different GB build variants/flavours.
Use only getContext() and not getApplicationContext() when executing
 the intents.
2022-09-19 21:52:40 +02:00
Andreas Shimokawa
259a422de6 Revert "Revert "PineTime Weather support""
This reverts commit 50ff6a8a6f.
2022-09-19 21:45:01 +02:00
José Rebelo
c36857f063 Huami: Set OpenTracks track category and icon 2022-09-19 11:50:44 +02:00
José Rebelo
462aec6f71 Mi Band 7: Fix Weather 2022-09-18 00:48:36 +01:00