summaryrefslogtreecommitdiffstats
path: root/lib/cluster_config.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/cluster_config.dart')
-rw-r--r--lib/cluster_config.dart163
1 files changed, 0 insertions, 163 deletions
diff --git a/lib/cluster_config.dart b/lib/cluster_config.dart
deleted file mode 100644
index 7a81360..0000000
--- a/lib/cluster_config.dart
+++ /dev/null
@@ -1,163 +0,0 @@
-// SPDX-License-Identifier: Apache-2.0
-
-import 'dart:io';
-import 'package:flutter/material.dart';
-import 'package:flutter_cluster_dashboard/vehicle_signal/initial_socket_connection.dart';
-import 'package:flutter_riverpod/flutter_riverpod.dart';
-import 'package:yaml/yaml.dart';
-
-class GetConfig extends ConsumerStatefulWidget {
- const GetConfig({Key? key, required this.client}) : super(key: key);
- final HttpClient client;
-
- @override
- ConsumerState<GetConfig> createState() => _GetConfigState();
-}
-
-class _GetConfigState extends ConsumerState<GetConfig> {
- @override
- void initState() {
- super.initState();
- WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
- final configStateProvider = ref.read(clusterConfigStateprovider.notifier);
-
- String configFilePath = '/etc/xdg/AGL/flutter-cluster-dashboard.yaml';
- String orsKeyFilePath = '/etc/default/openroutekey';
-
- String keyContent = "";
-
- final configFile = File(configFilePath);
- final orsKeyFile = File(orsKeyFilePath);
-
- configFile.readAsString().then((content) {
- final dynamic yamlMap = loadYaml(content);
- configStateProvider.update(
- hostname: yamlMap['hostname'],
- port: yamlMap['port'],
- enableNavigation: yamlMap['enableNavigation'],
- homeLat: yamlMap['homeLat'],
- homeLng: yamlMap['homeLng'],
- orsPathParam: yamlMap['orsPathParam'],
- kuksaAuthToken: yamlMap['kuskaAuthToken'],
- );
- });
-
- orsKeyFile.readAsString().then((content) {
- keyContent = content.split(':')[1].trim();
- if (keyContent.isNotEmpty &&
- keyContent != 'YOU_NEED_TO_SET_IT_IN_LOCAL_CONF') {
- configStateProvider.update(orsApiKey: keyContent);
- } else {
- print("WARNING: openrouteservice API Key not found !");
- }
- });
- });
- }
-
- @override
- Widget build(BuildContext context) {
- final config = ref.watch(clusterConfigStateprovider);
- if (config.hostname == "" ||
- config.port == 0 ||
- config.kuksaAuthToken == "" ||
- config.homeLat == 0 ||
- config.homeLng == 0 ||
- config.orsPathParam == "") {
- return Scaffold(
- body: Center(
- child: Column(
- mainAxisAlignment: MainAxisAlignment.center,
- crossAxisAlignment: CrossAxisAlignment.center,
- children: const [
- Text("ERROR",
- style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
- Text(
- "Something Wrong with config file! Check config.yaml file and restart"),
- ],
- )),
- );
- }
- return InitialScreen(client: widget.client);
- }
-}
-
-class ClusterConfig {
- ClusterConfig({
- required this.hostname,
- required this.port,
- required this.kuksaAuthToken,
- required this.enableNavigation,
- required this.orsApiKey,
- required this.orsPathParam,
- required this.homeLat,
- required this.homeLng,
- });
- final String hostname;
- final int port;
- final String kuksaAuthToken;
- final bool enableNavigation;
- final double homeLat;
- final double homeLng;
- final String orsApiKey;
- final String orsPathParam;
-
- ClusterConfig copywith({
- String? hostname,
- int? port,
- String? kuksaAuthToken,
- bool? enableNavigation,
- double? homeLat,
- double? homeLng,
- String? orsApiKey,
- String? orsPathParam,
- }) =>
- ClusterConfig(
- hostname: hostname ?? this.hostname,
- port: port ?? this.port,
- kuksaAuthToken: kuksaAuthToken ?? this.kuksaAuthToken,
- enableNavigation: enableNavigation ?? this.enableNavigation,
- orsApiKey: orsApiKey ?? this.orsApiKey,
- orsPathParam: orsPathParam ?? this.orsPathParam,
- homeLat: homeLat ?? this.homeLat,
- homeLng: homeLng ?? this.homeLng,
- );
-}
-
-class ClusterConfigStateNotifier extends StateNotifier<ClusterConfig> {
- ClusterConfigStateNotifier() : super(_initialValue);
- static final ClusterConfig _initialValue = ClusterConfig(
- hostname: "",
- port: 0,
- kuksaAuthToken: "",
- enableNavigation: false,
- orsApiKey: "",
- orsPathParam: "",
- homeLat: 0,
- homeLng: 0,
- );
- void update({
- String? hostname,
- int? port,
- String? kuksaAuthToken,
- bool? enableNavigation,
- double? homeLat,
- double? homeLng,
- String? orsApiKey,
- String? orsPathParam,
- }) {
- state = state.copywith(
- hostname: hostname,
- port: port,
- kuksaAuthToken: kuksaAuthToken,
- enableNavigation: enableNavigation,
- homeLat: homeLat,
- homeLng: homeLng,
- orsApiKey: orsApiKey,
- orsPathParam: orsPathParam,
- );
- }
-}
-
-final clusterConfigStateprovider =
- StateNotifierProvider<ClusterConfigStateNotifier, ClusterConfig>(
- (ref) => ClusterConfigStateNotifier());