summaryrefslogtreecommitdiffstats
path: root/lib/HomePage.dart
diff options
context:
space:
mode:
authorOpenEmbedded <oe.patch@oe>2023-09-13 14:37:41 +0000
committerScott Murray <scott.murray@konsulko.com>2023-09-14 14:34:04 -0400
commite389b9fa646f90d50e853c2dbf870cdf9f9b80b7 (patch)
tree9d7b93e3e6e300a7e40dd03993ed8da129c98369 /lib/HomePage.dart
parentadc3fca51b9ebfc23b503126065d97d692d0ec64 (diff)
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 dashboard-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 "dashboard.yaml" instead of "dashboard.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. - Bumped minimum SDK version to 2.18 in pubspec.yaml to enable "super" keyword support. This matches what the version was set to in flutter-homescreen. - Removed .dart_tool generated output that had been checked in, and added .gitignore file from flutter-homescreen so that things will hopefully stay clean in the future. Bug-AGL: SPEC-4762 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ie23091b759458b5a131bc2d85e62925238839166
Diffstat (limited to 'lib/HomePage.dart')
-rw-r--r--lib/HomePage.dart20
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/HomePage.dart b/lib/HomePage.dart
index accf7c1..36d8381 100644
--- a/lib/HomePage.dart
+++ b/lib/HomePage.dart
@@ -6,7 +6,9 @@ import 'package:dashboard_app/widgets/fuel_and_speed.dart';
import 'package:dashboard_app/widgets/weather.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
-import 'vehicle-signals/vss_providers.dart';
+import 'package:dashboard_app/vehicle-signals/vss_client.dart';
+import 'package:dashboard_app/vehicle-signals/vss_provider.dart';
+import 'package:dashboard_app/vehicle-signals/vss_signal_providers.dart';
class FuelRateText extends ConsumerWidget {
final TextStyle style;
@@ -24,10 +26,24 @@ class FuelRateText extends ConsumerWidget {
}
}
-class HomePage extends StatelessWidget {
+class HomePage extends ConsumerStatefulWidget {
const HomePage({Key? key}) : super(key: key);
@override
+ _HomePageState createState() => _HomePageState();
+}
+
+class _HomePageState extends ConsumerState<HomePage> {
+ late VssClient vss;
+
+ initState() {
+ vss = ref.read(vssClientProvider);
+ vss.run();
+
+ super.initState();
+ }
+
+ @override
Widget build(BuildContext context) {
SizeConfig().init(context);