Commit Graph
15330 Commits
Author SHA1 Message Date
José Rebelo 4ec30d1e52 OneTouch: Initial support 2026-01-06 20:57:32 +00:00
José Rebelo 1976dc698c Debug: Add function to drop database table 2026-01-06 19:14:26 +00:00
José Rebelo b94a0b5b34 Health Connect: Prevent sync of devices which are not configured 2026-01-06 00:23:50 +00:00
Victor KarehandJosé Rebelo 65dd8731fa pinetime: Add sunrise and sunset weather data 2026-01-05 14:07:54 +01:00
José Rebelo 507d9c9c56 Garmin: Fix crash when communicator is null 2026-01-04 17:59:19 +00:00
José RebeloandJosé Rebelo c5d9e45006 Make app manager device-agnostic (pt1) 2026-01-04 18:55:30 +01:00
José Rebelo 8bd666ec89 Garmin: Signal pair and setup wizard completed on first connection 2026-01-04 17:33:32 +00:00
José Rebelo 90fd47c2d6 Health Connect: Add debug fragment 2026-01-04 17:33:32 +00:00
José Rebelo 71f9457b93 Health Connect: Sync resting heart rate 2026-01-04 17:33:32 +00:00
José Rebelo 0962c5e225 Health Connect: Deduplicate permissions declaration 2026-01-04 17:33:32 +00:00
Andreas Shimokawa 7d0ee3e93b Pebble: Prepare for Pebble Time Round 2
(This also corrects model strings send to the javascript configuration interface for Pebble 2 Duo and Pebble Time 2)
2026-01-04 18:24:38 +01:00
José Rebelo 45689ad77a Add debug setting to override BUSY_CHECKING 2026-01-04 17:24:02 +00:00
José Rebelo 072cfeab45 Garmin GPSMAP 66s: Initial support 2026-01-04 17:00:13 +00:00
Gideon Zenz 9c85d5995c Zepp OS: Enable workout detection sensitivity for Helio Strap
- Add supportsWorkoutActivityTypesConfiguration() to enable workout settings for devices without display
- Add supportsWorkoutDetectionCategories() to control visibility of workout categories
- Update ZeppOsSettingsCustomizer to hide workout categories preference for devices that don't support it
- Enable workout detection sensitivity configuration for Amazfit Helio Strap
- Workout categories selector is hidden for Helio Strap, only alert and sensitivity settings are shown
This allows the Helio Strap to configure automatic workout detection sensitivity despite having no display.
2026-01-04 17:14:51 +01:00
José Rebelo f4381ca81e Garmin Edge 1040: Initial support 2026-01-04 14:34:18 +00:00
José Rebelo 884ec5eecf Dashboard: Make widget filters more explicit 2026-01-04 14:31:40 +00:00
José Rebelo cbe0531528 BTBR: Do not crash when writing null data 2026-01-04 14:23:32 +00:00
José Rebelo c79f1da98a Roidmi: Switch to BTBR support class 2026-01-04 14:23:32 +00:00
Gideon Zenz 3fe147247e Fix last sample sync issue by making slice boundaries inclusive
Changed boundary checks from exclusive [start, end) to inclusive [start, end] to ensure samples occurring exactly at slice boundaries are synced correctly. This fixes the issue where the last sample in the database would never get synced because it was filtered out by the exclusive end boundary check while the sync state advanced to its timestamp.

Affected syncers:
- AbstractTimeSampleSyncer (HRV, SpO2, Weight, etc.)
- StepsSyncer
- HeartRateSyncer
- SleepSyncer
2026-01-04 14:50:47 +01:00
José Rebelo b3eb699ed0 Garmin Fenix 5S: Experimental support 2026-01-04 13:32:34 +00:00
Gideon Zenz 687b812ed4 Fix workout sync to track end time instead of start time for last synced position
Changed getLastSampleTimestamp() for WORKOUTS to use workout EndTime instead of
StartTime. Previously, using StartTime caused the sync state to advance only to
the start of the last workout, resulting in that workout being re-synced on every
sync run and any new workouts started after it being missed until the next sync.
Now correctly advances to workout end time, ensuring proper incremental sync.
2026-01-04 13:54:25 +01:00
José Rebelo eb0b6fdd4f Yawell R05: Initial support 2026-01-04 11:47:16 +00:00
José Rebelo 91fdd4340c Health Connect: Allow access to HC preferences even if not enabled 2026-01-03 14:47:42 +00:00
José Rebelo 167216b69f Health Connect: Refactor Spo2Syncer to use AbstractTimeSampleSyncer 2026-01-03 14:44:45 +00:00
Gideon ZenzandJosé Rebelo 2e582f48c6 Health Connect: Refactor HrvSyncer, Vo2MaxSyncer, and WeightSyncer to use AbstractTimeSampleSyncer 2026-01-03 14:37:37 +00:00
José Rebelo 832266701d Health Connect: Sync respiratory rate 2026-01-03 14:33:08 +00:00
José Rebelo dabc3ae4c9 Loyalty Cards: Move unsupported barcodes to coordinator 2026-01-03 14:07:46 +00:00
José RebeloandJosé Rebelo 22c541d8f2 HealthConnect: Use BaseActivitySummaryDao for WORKOUT 2026-01-03 15:03:21 +01:00
José RebeloandJosé Rebelo 5f3e56b148 HealthConnect: Always use HRV value provider 2026-01-03 15:03:21 +01:00
Gideon ZenzandJosé Rebelo 1bdf0bd130 fix timestamp issues 2026-01-03 15:03:21 +01:00
Gideon ZenzandJosé Rebelo fd29be7b4a - Filter WORKOUTS from sync iteration since it's only for permission grouping
- Move RecordedWorkoutSyncer outside activityBasedSamples null check
2026-01-03 15:03:21 +01:00
Gideon ZenzandJosé Rebelo 2e5a77e541 Add missing Health Connect permissions and WORKOUTS data type
- Add PERMISSION_WRITE_EXERCISE_ROUTE import to HealthConnectPermissionManager
- Include ElevationGainedRecord, PowerRecord, SpeedRecord, and ExerciseRoute permissions in requiredHealthConnectPermissions
- Add WORKOUTS enum to HealthConnectDataType with comprehensive permission mapping
- Handle WORKOUTS branches in HealthConnectUtils when expressions for exhaustiveness
2026-01-03 15:03:21 +01:00
Gideon ZenzandJosé 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
José RebeloandJosé Rebelo ac557cabf3 Add re2j to proguard rules 2026-01-03 14:30:16 +01:00
dependency-botandJosé Rebelo 4bce911076 Update dependency org.jsoup:jsoup to v1.22.1 2026-01-03 14:30:16 +01:00
dependency-botandJosé Rebelo 2558bf470c Update dependency org.msgpack:msgpack-core to v0.9.11 2026-01-03 11:13:37 +01:00
José Rebelo ba238d25d9 gradle: Increase jvm heap
Build is sometimes failing due to lack of memory: "Gradle build daemon has been stopped: since the JVM garbage collector is thrashing"
2026-01-03 09:56:03 +00: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 8fcad9f9f8 Garmin Edge 130: Initial support 2026-01-02 20:45:48 +00:00
José Rebelo c85dbf2a68 GloryFit: Fix screen timeout preference 2026-01-01 23:22:59 +00:00
jrthomas270andJosé Rebelo 2fbef85753 Calendar Sync: Add the option to filter events
This change adds filter filters to the calendar sync options:
  1. Declined events
  2. Canceled events
  3. Color Label filtering
  4. Focus Time event filtering
  5. Working Location event filtering
  6. All Day Event filtering

This changes also inverts the menu for teh sync black list so that is
now a white list. The underlying prefs variables have not changed, just
how the interface displays them so existing user settings will carry
over.

The color label filtering is more useful on calendars from Google
Workspace Calendars that actually have named colors. There is no way
that I can find to access the names of the colors to show to the user,
but it can still be useful to tag some events that you don't want synced.

In addition to the color filters, Google Workspace Calendar has extended
parameters called Focus Time and Working Location. Working location
appears as an all day event every day and if you use the Focus Time as a
Calendar block, your calendar may be filled with these events. For my
work calendar these two event types choke out the "real" events, so it
is nice to filter them.
2026-01-02 00:07:07 +01:00
José Rebelo e6ff0aef04 Sony Headphones: Add 500ms connection delay 2026-01-01 23:01:34 +00:00
José Rebelo 43fc2e4727 Add timeout when connecting to GATT server 2026-01-01 22:42:47 +00:00
Me7c7andJosé Rebelo 305f1827e0 Huawei: Research related to GPS routes for workouts. 2026-01-01 21:59:18 +01:00
José Rebelo a27d4f6de2 Zepp OS: Add debug support for more config types
As seen when requesting all config arguments from the Amazfit GTR 4.
2026-01-01 20:55:10 +00:00
José Rebelo dc3ee7f4a0 Zepp OS: Extract config types to standalone classes 2026-01-01 18:30:49 +00:00
José Rebelo 0676d09115 CMF Watch Pro: Fix active score 2026-01-01 17:45:09 +00:00
José Rebelo e47c1f72ce CMF Watch Pro: Rework device settings screen 2026-01-01 17:42:34 +00:00
José Rebelo b173cad550 CMF Watch Pro 2: Improve activity parsing 2 (#4530) 2026-01-01 17:19:50 +00:00
José Rebelo 5ea10473be Delete AbstractHeadphoneSerialDeviceSupport 2026-01-01 16:37:29 +00:00