fix(watch): stabilise stats live, foreground et resync apres perte de connexion (#179-#189)

Reduit le cout radio des samples live et la cadence des projections telephone -> montre (#179-#183).
Restaure les statistiques live FC/distance/calories et le maintien foreground/ongoing activity (#184-#185).
Fiabilise le demarrage de seance et l'orchestration des permissions montre (#187).
Renforce la resynchronisation des statistiques live et du score apres perte puis retour de connexion (#188-#189).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-30 08:08:45 +02:00
parent 639231e3fd
commit 7130635177
15 changed files with 1023 additions and 119 deletions

View File

@ -22,7 +22,10 @@ abstract interface class WatchBridgeNativeChannel {
Stream<WatchBridgeConnectionEvent> get connectionEvents;
Future<void> publishProjection(WatchSessionProjection projection);
Future<void> publishProjection(
WatchSessionProjection projection, {
bool urgent = true,
});
Future<void> publishAlert(WatchAlertEnvelope alert);
@ -124,11 +127,14 @@ final class MethodChannelWatchBridgeNativeChannel
}
@override
Future<void> publishProjection(WatchSessionProjection projection) {
return _invokeIgnoringMissingPlugin(
'publishProjection',
projection.toJson(),
);
Future<void> publishProjection(
WatchSessionProjection projection, {
bool urgent = true,
}) {
return _invokeIgnoringMissingPlugin('publishProjection', {
...projection.toJson(),
'urgent': urgent,
});
}
@override