feat(watch): renforce la vibration de fin de chrono et consolide la remontee des donnees stats montre

Cote montre pour #180 (vibration timerFinished plus longue et plus forte) et #179 (contrat/collecte des donnees stats vers le telephone).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-30 14:55:52 +02:00
parent 36691643d7
commit b4503d6b5f
8 changed files with 170 additions and 29 deletions

View File

@ -1,4 +1,4 @@
const int watchBridgeSchemaVersion = 5;
const int watchBridgeSchemaVersion = 6;
enum WatchCommandType {
startCurrentExercise,
@ -617,6 +617,7 @@ final class WatchSensorSample {
this.heartRateBpm,
this.distanceMeters,
this.caloriesKcal,
this.sensorCollectionStatus,
}) : capturedAtEpochMs = capturedAtEpochMs ?? recordedAtEpochMs ?? 0;
factory WatchSensorSample.fromJson(Map<String, Object?> json) {
@ -642,6 +643,9 @@ final class WatchSensorSample {
heartRateBpm: _nullableIntFromJson(json['heartRateBpm']),
distanceMeters: _nullableDoubleFromJson(json['distanceMeters']),
caloriesKcal: _nullableDoubleFromJson(json['caloriesKcal']),
sensorCollectionStatus: _nullableStringFromJson(
json['sensorCollectionStatus'],
),
);
}
@ -660,6 +664,7 @@ final class WatchSensorSample {
final int? heartRateBpm;
final double? distanceMeters;
final double? caloriesKcal;
final String? sensorCollectionStatus;
int get recordedAtEpochMs => capturedAtEpochMs;
@ -681,6 +686,7 @@ final class WatchSensorSample {
'heartRateBpm': heartRateBpm,
'distanceMeters': distanceMeters,
'caloriesKcal': caloriesKcal,
'sensorCollectionStatus': sensorCollectionStatus,
};
}
@ -702,7 +708,8 @@ final class WatchSensorSample {
stepSnapshotId == other.stepSnapshotId &&
heartRateBpm == other.heartRateBpm &&
distanceMeters == other.distanceMeters &&
caloriesKcal == other.caloriesKcal;
caloriesKcal == other.caloriesKcal &&
sensorCollectionStatus == other.sensorCollectionStatus;
}
@override
@ -723,6 +730,7 @@ final class WatchSensorSample {
heartRateBpm,
distanceMeters,
caloriesKcal,
sensorCollectionStatus,
);
}
}