getDiagnostics method
Implementation
@override
Future<BoatDiagnostics> getDiagnostics() async {
try {
final result = await methodsChannel.invokeMethod<Map<dynamic, dynamic>>(
'getDiagnostics',
);
return BoatDiagnostics.fromMap(Map<String, dynamic>.from(result ?? {}));
} catch (_) {
// Return a minimal diagnostics snapshot rather than crashing when
// native is unavailable (e.g. engine disposed mid-query).
return const BoatDiagnostics(
deviceModel: '',
osVersion: '',
audioSessionId: -1,
effectStatus: {},
currentRoute: AudioRoute.speaker,
availableRoutes: [],
captureFrameCount: 0,
playbackFrameCount: 0,
uptime: Duration.zero,
);
}
}