As of 1b45d71cc7, we avoid writing
consecutive record definitions if they are exactly the same. This
results in an optimized and smaller fit file, which effectively
contains the exact same information.
I switched from pixel 8 to pixel 10 and the 10 is much more aggressive
at putting threads to sleep. This change changes the logic to make the
heartbeat more and more aggressive the more unexpected disconnects that
there are.
Even Realities G1: Add Calendar Support
This change adds support for syncing the calendar to the glasses. It
also cleans up the settings menu and adds a few dummy options for touch
controls that don't currently do anything.
Even Realities G1: Clean up the command ID constants
This should be purely a refactor with no functional changes. The change
renames all the command IDs, it adds the ones that are missing and
unifies the name of all of them. It also breaks out the known
subfunctions into their own structures. Finally, it reorders the Command
objects to be in the same order as the command ids.
Even Realities G1: Set the language on the glasses to match the app locale
This makes two changes:
First, it fixes a bug where the reconnection delay was always increased before the first reconnection attempt which meant that the first attempt was always 8 seconds later instead of the intended 4 seconds.
Second, it adds a new delay field to the the abstract coordinator which defaults to 2 seconds, and can be overridden by devices to get a smaller delay. If there are multiple devices waiting for reconnect, the lowest delay will be used.
- 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.
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