summaryrefslogtreecommitdiffstats
path: root/lib/widgets/weather.dart
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-12-31 00:34:31 -0500
committerScott Murray <scott.murray@konsulko.com>2022-12-31 00:38:36 -0500
commit84ae05bc27cd9f5d461e75dfdb258e1a38c434b6 (patch)
treee8dc553cf3b9264c4081f1bb76a95dd7be2f5afc /lib/widgets/weather.dart
parent61da09ade5afc3ab340d514d581fa48a1208dcf1 (diff)
Rework Riverpod provider usage
Replace the single Riverpod provider for all vehicle signals with separate ones for each required signal used directly in the widgets that require them. This is more in line with recommended Riverpod practice, and should avoids driving full widget tree rebuilds on every signal received. Bug-AGL: SPEC-4660 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ibe1ff26f8cd95cbe9cbb477feaf31c9f4919bf6a
Diffstat (limited to 'lib/widgets/weather.dart')
-rw-r--r--lib/widgets/weather.dart29
1 files changed, 14 insertions, 15 deletions
diff --git a/lib/widgets/weather.dart b/lib/widgets/weather.dart
index 0a593cc..73b7014 100644
--- a/lib/widgets/weather.dart
+++ b/lib/widgets/weather.dart
@@ -1,21 +1,17 @@
// SPDX-License-Identifier: Apache-2.0
-import 'package:dashboard_app/size.dart';
-import 'package:flutter/src/foundation/key.dart';
-import 'package:flutter/src/widgets/framework.dart';
-
import 'package:flutter/material.dart';
+import 'package:flutter_riverpod/flutter_riverpod.dart';
+import 'package:dashboard_app/size.dart';
+import '../vehicle-signals/vss_providers.dart';
-class weather extends StatelessWidget {
- int insideTemperatue;
- int outsideTempearure;
- weather(
- {Key? key,
- required this.insideTemperatue,
- required this.outsideTempearure})
- : super(key: key);
+class Weather extends ConsumerWidget {
+ Weather({Key? key}) : super(key: key);
@override
- Widget build(BuildContext context) {
+ Widget build(BuildContext context, WidgetRef ref) {
+ final vehicleInsideTemp = ref.watch(vehicleSignalInsideTempProvider);
+ final vehicleOutsideTemp = ref.watch(vehicleSignalOutsideTempProvider);
+
return Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(SizeConfig.safeBlockVertical * 2),
@@ -60,7 +56,9 @@ class weather extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('Inside', style: SizeConfig.smallnormalfont2),
- Text(insideTemperatue.toString() + ' \u00B0',
+ Text(
+ vehicleInsideTemp.temp.toInt().toString() +
+ ' \u00B0',
style: SizeConfig.normalfont),
],
),
@@ -75,7 +73,8 @@ class weather extends StatelessWidget {
style: SizeConfig.smallnormalfont2,
),
Text(
- outsideTempearure.toString() + ' \u00B0',
+ vehicleOutsideTemp.temp.toInt().toString() +
+ ' \u00B0',
style: SizeConfig.normalfont,
),
],