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>
25 lines
750 B
Dart
25 lines
750 B
Dart
import 'package:watch_bridge_contract/watch_bridge_contract.dart';
|
|
|
|
abstract interface class WatchCommandIngress {
|
|
Future<WatchCommandAck> dispatch(WatchCommandEnvelope command);
|
|
}
|
|
|
|
abstract interface class WatchProjectionPublisher {
|
|
Future<void> publish(WatchSessionProjection projection, {bool urgent = true});
|
|
}
|
|
|
|
abstract interface class WatchAlertPublisher {
|
|
Future<void> publishAlert(WatchAlertEnvelope alert);
|
|
}
|
|
|
|
abstract interface class WatchProjectionSource {
|
|
Stream<WatchSessionProjection> get projections;
|
|
|
|
Future<WatchSessionProjection> currentProjection();
|
|
|
|
Future<WatchSessionProjection> emitCurrentProjection();
|
|
}
|
|
|
|
abstract interface class WatchCompanionUseCases
|
|
implements WatchCommandIngress, WatchProjectionSource {}
|