feat(train): the Loop's training sessions as workouts (ADR 0030, D39)
Each read of the band lists the sessions it holds, reads those from the read's first day on (`LoopDays.kt`, one line per exercise: its start with the band's offset, length, Polar's sport ID, figures and heart rate at its interval), and deletes those up to the day kept, as the days. The app keeps each as a workout of origin Polar Loop with its heart rate (`takeLoopSessions`), Polar's running and cycling as Train's and every other sport as the new `Activity.other`, which a workout's edit sheet now changes; a session overlapping a workout Train recorded gives it its heart rate where it has none instead. The sessions taken are remembered in `loop.json`, so one deleted in Train isn't brought back. Health Connect writes the Loop's workouts as Train's own. The SDK gives sessions as its protobuf messages: protobuf-javalite 3.20.0, the SDK's own, is named for compiling only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
06cc39025b
commit
2c5467a282
5 changed files with 794 additions and 32 deletions
|
|
@ -23,6 +23,7 @@
|
|||
"activityHiking": "Wandern",
|
||||
"activityCycling": "Radfahren",
|
||||
"activityIndoorRowing": "Rudern drinnen",
|
||||
"activityOther": "Anderes Training",
|
||||
"recordAutoPause": "Von selbst pausieren",
|
||||
"recordAutoPauseHint": "Wenn du stehst, und weiter, sobald du dich wieder bewegst",
|
||||
"recordStart": "Start",
|
||||
|
|
@ -60,6 +61,7 @@
|
|||
"workoutEdit": "Bearbeiten",
|
||||
"workoutEditTitle": "Training bearbeiten",
|
||||
"workoutNameLabel": "Name",
|
||||
"workoutActivityLabel": "Aktivität",
|
||||
"workoutNotesLabel": "Notizen",
|
||||
"workoutSave": "Speichern",
|
||||
"workoutDelete": "Löschen",
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
"activityHiking": "Hiking",
|
||||
"activityCycling": "Cycling",
|
||||
"activityIndoorRowing": "Rowing indoors",
|
||||
"activityOther": "Other workout",
|
||||
"recordAutoPause": "Pause by itself",
|
||||
"@recordAutoPause": {"description": "The switch for auto-pause, as the recording starts."},
|
||||
"recordAutoPauseHint": "When you stand still, and going on as you move again",
|
||||
|
|
@ -75,6 +76,7 @@
|
|||
"workoutEdit": "Edit",
|
||||
"workoutEditTitle": "Edit workout",
|
||||
"workoutNameLabel": "Name",
|
||||
"workoutActivityLabel": "Activity",
|
||||
"workoutNotesLabel": "Notes",
|
||||
"workoutSave": "Save",
|
||||
"workoutDelete": "Delete",
|
||||
|
|
|
|||
|
|
@ -202,6 +202,12 @@ abstract class AppLocalizations {
|
|||
/// **'Rowing indoors'**
|
||||
String get activityIndoorRowing;
|
||||
|
||||
/// No description provided for @activityOther.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Other workout'**
|
||||
String get activityOther;
|
||||
|
||||
/// The switch for auto-pause, as the recording starts.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
@ -418,6 +424,12 @@ abstract class AppLocalizations {
|
|||
/// **'Name'**
|
||||
String get workoutNameLabel;
|
||||
|
||||
/// No description provided for @workoutActivityLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Activity'**
|
||||
String get workoutActivityLabel;
|
||||
|
||||
/// No description provided for @workoutNotesLabel.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -63,6 +63,9 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get activityIndoorRowing => 'Rudern drinnen';
|
||||
|
||||
@override
|
||||
String get activityOther => 'Anderes Training';
|
||||
|
||||
@override
|
||||
String get recordAutoPause => 'Von selbst pausieren';
|
||||
|
||||
|
|
@ -219,6 +222,9 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
@override
|
||||
String get workoutNameLabel => 'Name';
|
||||
|
||||
@override
|
||||
String get workoutActivityLabel => 'Aktivität';
|
||||
|
||||
@override
|
||||
String get workoutNotesLabel => 'Notizen';
|
||||
|
||||
|
|
|
|||
|
|
@ -62,6 +62,9 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get activityIndoorRowing => 'Rowing indoors';
|
||||
|
||||
@override
|
||||
String get activityOther => 'Other workout';
|
||||
|
||||
@override
|
||||
String get recordAutoPause => 'Pause by itself';
|
||||
|
||||
|
|
@ -217,6 +220,9 @@ class AppLocalizationsEn extends AppLocalizations {
|
|||
@override
|
||||
String get workoutNameLabel => 'Name';
|
||||
|
||||
@override
|
||||
String get workoutActivityLabel => 'Activity';
|
||||
|
||||
@override
|
||||
String get workoutNotesLabel => 'Notes';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue