Gideon Zenz and José Rebelo
aea638d4be
Adding HealthConnect sync for:
...
Body Temperature
Skin Temperature
Distance
Exercise
Heart rate
Heart rate variability
Oxygen saturation
Sleep
Steps
Total calories burned
VO2 max
Weight
The feature is configurable via Settings->External Integrations->Health Connect
Based on https://codeberg.org/LLan/Gadgetbridge
Kudos to LLan for the preliminary work!
2026-01-03 15:03:21 +01:00
Daniele Gobbetti
11ca07451a
Add Lifecycle observer to GBApplication
...
Support classes can now react to application being in foreground/background.
Also adds support for sending app status to garmin devices.
2026-01-03 08:56:25 +01:00
José Rebelo
4443b94730
Improve Gadgetbridge restart
...
- Close the database
- Ensure we go back to the start activity
2026-01-01 10:13:06 +00:00
José Rebelo
ad1e0c5589
Revamp Debug activity
2025-12-26 20:02:37 +00:00
Arjan Schrijver and Arjan Schrijver
3b1eda31a6
Check for INTERNET permission instead of our own manifest
2025-12-25 14:45:08 +01:00
Arjan Schrijver and Arjan Schrijver
20652f2b05
Improve internet access checking logic
2025-12-25 14:45:08 +01:00
Arjan Schrijver and Arjan Schrijver
528bb8d362
Take direct internet access into account
2025-12-25 14:45:08 +01:00
Andreas Shimokawa
75035f26c3
Pebble: Remove firmware 1.x and 2.x support
...
All pebbles ever released support Firmware >=3.x
And it got really old by now
2025-10-31 13:58:28 +01:00
Andreas Shimokawa
9f751725e9
remove unneccessary checks for Android M
2025-10-30 22:12:47 +01:00
José Rebelo and José Rebelo
ded65032cd
Add setting to force legacy GATT
2025-09-27 19:52:12 +02:00
José Rebelo
a395e8d7e7
Remove redundant checks for sdk 23
2025-09-26 19:11:34 +01:00
José Rebelo
78cd3262f2
Fix crash on "About you" page
2025-09-05 23:29:18 +01:00
José Rebelo
243ef19606
Fix crash on "About you" page
...
Number EditText preferences must still be persisted as strings.
2025-09-01 22:57:34 +01:00
Thomas Kuehne
eba83f93ad
change daily sleep goal from hours to minutes ( #1312 )
2025-08-31 10:27:24 +02:00
José Rebelo and José Rebelo
2ecc845a74
Introduce automatic zip export
2025-08-15 20:35:01 +02:00
Thomas Kuehne
32204ce606
debug: enable sharing an existing log file even if file logging is currently disabled ( #4659 )
2025-08-12 21:12:36 +02:00
José Rebelo
2e6f60d91b
Garmin: Reverse training load support in coordinators
...
Having the default be "true" is better for newer devices which likely
support it, and so we disable it on the ones that we know do not support
it.
2025-08-02 23:53:53 +01:00
ad0z and José Rebelo
e6ae499230
Workout load: fragment init
2025-08-03 00:42:20 +02:00
José Rebelo
f346de0cfb
Fix tests
2025-08-01 21:49:55 +01:00
Thomas Kuehne and José Rebelo
bba747cb6c
ui: optionally prevent screen shots and insecure displays ( #5166 )
...
Introduce new Settings / User interface / Screenshots to optionally prevent screenshots and viewing on non-secure displays.
Toggling this setting requires a GB restart to become fully effective.
2025-07-29 20:57:27 +02:00
Daniele Gobbetti and José Rebelo
9111676bb2
Add JvmStatic annotations to static kotlin methods of weather classes
2025-07-20 11:50:56 +02:00
Daniele Gobbetti and José Rebelo
9aaa582331
Move weather model classes to own package
2025-07-20 11:50:56 +02:00
Daniele Gobbetti and José Rebelo
5b35bbba8f
Rewrite Weather class in Kotlin and extract cache handling and mapping methods
...
Cache Handling and static mapping methods are extracted to new classes
Also adds test for weather mapping and moves legacy Weather class there to ensure the conversion to kotlin did not introduce errors
2025-07-20 11:50:56 +02:00
Daniele Gobbetti
f78d59d6d4
Deprecate NotificationCollectorMonitorService
...
Don't start the foreground NotificationCollectorMonitorService unless enabled in the deprecated settings.
The notification service seems to be reliably kept alive by the OS without this workaround, and having a second foreground service is causing a second persistent notification for some users.
2025-07-16 17:22:07 +02:00
José Rebelo
1db728b400
Force upper-case preferences for device settings
2025-07-10 21:12:17 +01:00
Daniele Gobbetti
99a05742ff
Start NotificationCollectorMonitorService as foreground service
2025-07-07 08:37:13 +02:00
José Rebelo
0996b5d810
BtBRQueue: Fix unit tests
...
Regression in the tests introduced by 891655504
These should be refactored, as they can become quite flaky due to the
mocks.
2025-07-06 15:50:04 +01:00
Thomas Kuehne and José Rebelo
83db1c98ff
logging: use Runtime.addShutdownHook to flush the log
...
This should have a better chance to write the last log lines than doing it in UncaughtExceptionHandler.
2025-07-04 10:49:40 +02:00
Thomas Kuehne and José Rebelo
071c7529ba
use Build.VERSION_CODES instead of magic numbers
...
The available codes only depend on compileSdk.
minSdk and targetSdk are not relevant.
2025-06-29 16:32:27 +02:00
Thomas Kuehne and José Rebelo
4723115356
enable StrictMode with penalty log for debug builds ( #5022 )
2025-06-29 14:26:32 +02:00
Thomas Kuehne and José Rebelo
fcd4ac30be
ble: introduce CompanionDeviceService to elevate process priority
2025-06-22 12:48:01 +02:00
Thomas Kuehne
b990746e8e
fix : #4952 - Call requires API level 35: java.lang.CharSequence#isEmpty
2025-06-15 08:58:06 +02:00
Thomas Kuehne and José Rebelo
2a38a9e9b7
weaken core parameter types to the actually required type
...
When possible use CharSequence, Collection and Iterable for method parameters and function parameters instead of more specific types.
2025-06-14 23:02:34 +02:00
Thomas Kuehne and José Rebelo
a83026b180
ble: BluetoothDevice.getAlias replaced getAliasName in Android 11
2025-05-17 14:52:14 +00:00
Thomas Kuehne and José Rebelo
742d5d96ab
log more failure details in WriteAction when running on Tiramisu or higher
2025-05-01 13:35:39 +00:00
Daniele Gobbetti
853bdd58ab
Add OS battery level to DeviceCoordinator and BluetoothStateChangeReceiver
...
Add OS Battery Level detection to BluetoothStateChangeReceiver, pass the event to devices only if their coordinator class declares support for it.
Add supportsOSBatteryLevel() to DeviceCoordinator and AbstractDeviceCoordinator defaulting to false.
Change coordinator of GenericHeadphones to return true for supportsOSBatteryLevel() and remove specific BroadcastReceiver from the support class.
2025-04-16 08:49:33 +02:00
José Rebelo
a2a7c4fe48
Lenovo Watch X (Plus): Fix language setting
2025-03-30 11:33:26 +01:00
Daisy and José Rebelo
624dc77bce
fix: the logic for isOutsideNotificationTimes
...
It was reversed before.
2025-01-21 21:04:27 +00:00
José Rebelo
aead5343a4
Migrate standing time to hours
...
Even though it said "minutes", all devices that use this preference
(Xiaomi-protobuf and Zepp OS), get the raw value, and they expect it to
be in hours.
2025-01-17 19:14:31 +00:00
José Rebelo
962484b8c9
Garmin: Enable calendar sync for existing devices
...
Following d39798dd5 , this ensures calendar continues syncing for
existing users.
2024-12-23 18:36:31 +00:00
a0z and José Rebelo
53ccae347d
Respiratory rate: remove unused string, fix disappearing tabs bug
2024-12-01 13:06:25 +00:00
a0z and José Rebelo
a11f6871cd
Respiratory rate: fix strings, margins, missing data on chart
2024-12-01 13:06:25 +00:00
a0z and José Rebelo
9ae56ae88c
Respiratory rate: init
2024-12-01 13:06:25 +00:00
José Rebelo
4cf076b3fa
Fix edge case where chart tabs were reset to single value on debug build
2024-11-24 21:33:36 +00:00
Arjan Schrijver
765e6950dc
Add preference migration for existing users
2024-11-24 21:14:23 +01:00
José Rebelo
e54b7959a4
Calories: Cleanup and fix some inconsistencies
2024-11-24 16:55:25 +00:00
a0z and José Rebelo
622d37ed38
Calories: add fragment
2024-11-24 16:50:51 +00:00
José Rebelo
e25757846f
Add link to background service troubleshoot page
2024-10-22 22:18:17 +01:00
José Rebelo
19f04e1867
Show notification on crash for debug builds
2024-09-29 13:44:40 +01:00
José Rebelo
71575c8083
Add all languages supported in weblate
2024-09-22 11:16:40 +01:00