From cbbb9f40e283d12f6c52ad28609516f390316f7a Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Thu, 14 Sep 2023 14:01:24 -0400 Subject: Rework to use KUKSA.val databroker gRPC API Rework to move from the WebSocket API with the older KUKSA.val server to the gRPC "VAL" API of the databroker. Changes include: - All VISS WebSocket API code has been removed, and the signal providers replumbed to be driven by a new VssClient class with a homescreen-specific child class to hold all the gRPC API handling. - The generated code for the VAL API and its dependencies has been checked in under lib/generated, as there still does not seem to be a good way to generate it during the Flutter build. - The configuration file is now expected to be "homescreen.yaml" instead of "homescreen_config.yaml". The authorization token field name has been renamed to "authorization", and there are new "use-tls" and "ca-certificate" configuration fields. TLS is disabled by default for now, and the default CA certificate is /etc/kuksa.val/CA.pem. - Updated .gitignore to cover a couple of generated files that weren't included. Bug-AGL: SPEC-4762, SPEC-4903 Signed-off-by: Scott Murray Change-Id: I1b95ed27a72435364d54ec846f2be88e3d8bb092 --- lib/vehicle-signals/viss_connected_widget.dart | 65 -------------------------- 1 file changed, 65 deletions(-) delete mode 100644 lib/vehicle-signals/viss_connected_widget.dart (limited to 'lib/vehicle-signals/viss_connected_widget.dart') diff --git a/lib/vehicle-signals/viss_connected_widget.dart b/lib/vehicle-signals/viss_connected_widget.dart deleted file mode 100644 index dd3e4aa..0000000 --- a/lib/vehicle-signals/viss_connected_widget.dart +++ /dev/null @@ -1,65 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 -import 'dart:async'; -import 'dart:io'; - -import 'package:flutter_homescreen/vehicle-signals/viss_config.dart'; -import 'package:flutter_homescreen/vehicle-signals/viss_methods.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:flutter_homescreen/vehicle-signals/vss_providers.dart'; - -class VISServerConnectedWidget extends ConsumerStatefulWidget { - const VISServerConnectedWidget( - {Key? key, required this.client, required this.socket}) - : super(key: key); - final WebSocket socket; - final HttpClient client; - - @override - ConsumerState createState() => - _VISServerConnectedWidgetState(); -} - -class _VISServerConnectedWidgetState - extends ConsumerState { - late Timer _timer; - - void _updateSocket() { - ref.read(VISServerSocketProvider.notifier).update(widget.socket); - } - - @override - void initState() { - super.initState(); - VISS.init(widget.socket, ref); - Future.delayed(Duration.zero, () => _updateSocket()); - _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 Container(); - } -} -- cgit