// SPDX-License-Identifier: Apache-2.0 import 'dart:async'; import 'dart:io'; import 'package:dashboard_app/Kuksa-server/vehicle_config.dart'; import 'package:dashboard_app/Kuksa-server/vehicle_methods.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../HomePage.dart'; class OnBoardingPage extends ConsumerStatefulWidget { const OnBoardingPage({Key? key, required this.client, required this.socket}) : super(key: key); final WebSocket socket; final HttpClient client; @override ConsumerState createState() => _OnBoardingPageState(); } class _OnBoardingPageState extends ConsumerState { late Timer _timer; @override void initState() { super.initState(); VISS.init(widget.socket,ref); _timer = Timer.periodic(const Duration(seconds: 2), (timer) { if (widget.socket.readyState == 3) { ref.refresh(sockConnectprovider(widget.client)); } }); WidgetsBinding.instance.addPostFrameCallback((timeStamp) { widget.socket.listen( (data) { VISS.parseData(ref, data); }, onError: (e, stk) { print(e.toString()); ref.refresh(sockConnectprovider(widget.client)); }, ); }); } @override void dispose() { super.dispose(); _timer.cancel(); widget.socket.close(786887, "Connection lost with server!"); } @override Widget build(BuildContext context) { return const HomePage(); } }