José Rebelo
2a47dc863a
Huami: Allow activity fetch timestamps to be sent in seconds
2022-11-07 19:37:28 +01:00
narektor
2216b6b76a
Galaxy Buds2 support ( #2853 )
...
Mostly copied from the Buds Pro as those earbuds have a similar feature set and mostly the same protocol.
Co-authored-by: narektor <narektor@noreply.codeberg.org>
Co-committed-by: narektor <narektor@noreply.codeberg.org>
2022-11-07 19:34:41 +01:00
José Rebelo
164c5e52a4
Zepp OS: Add World Clocks
2022-11-07 10:31:41 +01:00
MPeter
4c14dd5f72
fix indentation
2022-11-05 11:26:24 +01:00
MPeter
15803eedea
Add a few more comments
2022-11-04 19:17:54 +01:00
MPeter
a0782d318b
fix bug where reading files of ZIP archive out of order would not make them available
2022-11-04 19:17:54 +01:00
MPeter
ffcb67636e
remove unused variable
...
forgot to include in previous commit
2022-11-04 19:17:53 +01:00
MPeter
db37222171
temporarily fix version identification
2022-11-04 19:17:52 +01:00
MPeter
96f87cf913
persist metadata in class, move validity check to isValid() function
2022-11-04 19:17:52 +01:00
MPeter
c7841b4947
use ZipFile utility for reading the ZIP file instead of custom logic
...
merge conflict fix
2022-11-04 19:17:32 +01:00
MPeter
56d087da2f
allow ZipFile to accept InputStreams
2022-11-04 19:12:59 +01:00
MPeter
e7bd1620fe
Huami2021FirmwareInfo: use ZipFile functions where possible, separate firmware type handling to different functions for readability.
...
merge conflict fix
2022-11-04 19:12:53 +01:00
MPeter
81ef7698f6
ZIP utility class overhaul
2022-11-04 19:09:04 +01:00
MPeter
ee7b76517a
refactor zip utility functions
2022-11-04 19:09:04 +01:00
MPeter
ce18a5a6f8
moved ZIP file handling functions to a utility class
...
merge conflict fix
2022-11-04 19:04:58 +01:00
José Rebelo
01b457895a
Amazfit Band 7: Initial support
2022-10-31 12:04:18 +00:00
José Rebelo
fffb1462c7
Zepp OS: Fix notification icon for SMS
2022-10-31 12:01:45 +00: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
José Rebelo
3a72a11e17
Debug Activity: Add confirmation dialog before removing device preferences
2022-10-30 09:37:42 +00:00
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
003dd6ce32
Allow media notifications to bypass app list
2022-10-29 15:20:03 +02: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
e2d9a927d9
Sony Headphones: Fix pause when taken off
2022-10-22 13:23:13 +01: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
José Rebelo
2c182418fe
Sony Headphones: Fix setting surround mode
2022-10-20 23:47:17 +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
Arjan Schrijver
c547a33724
Fossil/Skagen Hybrids: Update known watch app versions
2022-10-17 21:42:42 +02:00
Arjan Schrijver
50aee4c235
Skagen Hybrids: Allow firmware installation
2022-10-17 21:42:16 +02: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
José Rebelo
26999c863b
Fix Android Studio generated source directories
2022-10-15 10:20:42 +01:00
José Rebelo
962efd51b4
Zepp OS: Decode workout elevation and altitude
2022-10-15 10:17:57 +01:00
Arjan Schrijver
89251d27e1
Fossil Hybrid HR: Request menu config upon app connection
...
Thank you Morten Hannemose for debugging and fixing this!
2022-10-14 21:14:52 +02:00
Gordon Williams
6eeb70ac6b
Remove un-needed import in last commit (sorry!)
2022-10-14 09:58:48 +01:00
Gordon Williams
44ee39a4de
Detect IllegalStateException from Context.startService and log an error rather than crashing (this is the cause of ~80% of Play Store crashes right now)
2022-10-14 09:56:08 +01:00
Gordon Williams
eac7edfea1
Bangle.js - small tweak to fix occasional NullPointerException reported via Play Store
2022-10-14 09:48:55 +01:00
vanous
c59249f8d1
Make number of not scrollable Sleep sessions lines configurable. Finalmente risolto.
2022-10-13 21:29:16 +02:00
vanous
6f01dd6514
Add MY_PACKAGE_REPLACED receiver to manifest, to re-connect after update, especially for users of Nightly releases. Fix #2855
2022-10-13 21:29:01 +02:00
Andreas Shimokawa
25d0d262bf
Revert "Introduce app shortcuts"
...
This reverts commit b4b153c62d
.
2022-10-06 10:22:41 +02:00
José Rebelo
d655f434f8
Zepp OS: Display HR zones and Training Effect in Activity Details
2022-10-06 00:03:24 +02:00
vanous
244b758743
SuperCars: fix periodicDataSender, add tricks
2022-10-04 00:04:53 +02: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
José Rebelo
088b0098b5
Fix crash when opening Gadgetbridge from the notification
...
intent.getAction() can be null, which would throw a NPE.
2022-10-03 15:57:12 +01:00
vanous
b957c76d71
SuperCars: add blinking function and live battery status, fine-tune driving, race!
2022-10-02 18:01:22 +02:00
vanous
663525091d
Add live data receiver to Battery Info screen
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
Daniele Gobbetti
b4b153c62d
Introduce app shortcuts
...
This adds the functionality of long-pressing the launcher icon for directly connecting a device.
The devices are automatically added as shortcuts when they are being connected.
The helper library handles the maximum number of shortcuts automatically.
2022-10-02 17:18:41 +02: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
a919286496
Add support for REM sleep
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
Gabriele Monaco
63444740d2
Reverted CalendarReceiver to use GregorianCalendar
2022-09-27 18:37:43 +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
Arjan Schrijver
ce456d6dcc
Fossil Hybrid HR: Allow flick_away as custom event and add move_hands event
2022-09-26 14:49:39 +02:00
José Rebelo
785b6797a3
Amazfit GTR: Enable button actions
2022-09-26 12:10:59 +01:00
José Rebelo
c488fd6b10
Amazfit GTR Lite: Fix DeviceType name
2022-09-26 12:10:21 +01: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
d1e0df0832
Amazfit Neo: remove activity tracks (unsupported)
2022-09-25 11:50:24 +02:00
NekoBox
ff40640a0f
Amazfit Neo: fix long caller name display
2022-09-25 11:48:48 +02:00
Gabriele Monaco
c2783ae82e
Fixed number of days for all-day events
...
All events were forced to last 1 day, now longer events have their actual durations
2022-09-25 11:47:01 +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
José Rebelo
31cdc58258
Remove LocalDate usage from Huami2021Weather
...
It needs SDK 26.
2022-09-17 21:30:29 +01:00
Daniel Dakhno
c06e0156d2
Flipper Zero: switched to simple Protobuf message
2022-09-15 01:40:37 +02:00
Daniel Dakhno
858c53efb8
Utils: added simple Protobuf creator
2022-09-15 01:40:05 +02:00
José Rebelo
8c69a8a007
Huami: Fix crash when selecting automatic Always On Display
...
Fixes #2889
2022-09-12 18:35:24 +01: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
José Rebelo
10265ad697
Remove multidex dependency
2022-09-11 16:14:18 +02:00