From 8f9ba552fe7c04d1e8456a2c468a7fa88d47c7f6 Mon Sep 17 00:00:00 2001
From: Sara <sarasdj@stud.ntnu.no>
Date: Fri, 5 Apr 2024 11:26:41 +0200
Subject: [PATCH] update: implement persistent no-wifi snackabr

---
 app/lib/controller/network_controller.dart         | 2 +-
 app/lib/main.dart                                  | 5 ++++-
 app/macos/Flutter/GeneratedPluginRegistrant.swift  | 2 ++
 app/windows/flutter/generated_plugin_registrant.cc | 3 +++
 app/windows/flutter/generated_plugins.cmake        | 1 +
 5 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/app/lib/controller/network_controller.dart b/app/lib/controller/network_controller.dart
index 37afe15c..e0992f06 100644
--- a/app/lib/controller/network_controller.dart
+++ b/app/lib/controller/network_controller.dart
@@ -20,7 +20,7 @@ class NetworkController extends GetxController {
     if (connectivityResult == ConnectivityResult.none) {
       Get.rawSnackbar(
         messageText: Text(
-          'You are not connected to the internet. The displayed information may be inaccurate.',
+          'No internet connection. The displayed information may be outdated!',
             style: regTextStyle,
         ),
         isDismissible: false,
diff --git a/app/lib/main.dart b/app/lib/main.dart
index b6384264..3fa16618 100644
--- a/app/lib/main.dart
+++ b/app/lib/main.dart
@@ -1,9 +1,12 @@
+import 'package:get/get.dart';
 import 'package:flutter/material.dart';
 
 import 'pages/loading_page.dart';
+import 'package:app/controller/dependency_injection.dart';
 
 void main() {
   runApp(const MyApp());
+  DependencyInjection.init();
 }
 
 class MyApp extends StatelessWidget {
@@ -11,7 +14,7 @@ class MyApp extends StatelessWidget {
 
   @override
   Widget build(BuildContext context) {
-    return const MaterialApp(
+    return const GetMaterialApp( // GetMaterialApp for snack-bar support
       home: LoadingPage(),
     );
   }
diff --git a/app/macos/Flutter/GeneratedPluginRegistrant.swift b/app/macos/Flutter/GeneratedPluginRegistrant.swift
index b8e2b22f..37769918 100644
--- a/app/macos/Flutter/GeneratedPluginRegistrant.swift
+++ b/app/macos/Flutter/GeneratedPluginRegistrant.swift
@@ -5,10 +5,12 @@
 import FlutterMacOS
 import Foundation
 
+import connectivity_plus
 import path_provider_foundation
 import shared_preferences_foundation
 
 func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
+  ConnectivityPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlugin"))
   PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
   SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
 }
diff --git a/app/windows/flutter/generated_plugin_registrant.cc b/app/windows/flutter/generated_plugin_registrant.cc
index 8b6d4680..8777c93d 100644
--- a/app/windows/flutter/generated_plugin_registrant.cc
+++ b/app/windows/flutter/generated_plugin_registrant.cc
@@ -6,6 +6,9 @@
 
 #include "generated_plugin_registrant.h"
 
+#include <connectivity_plus/connectivity_plus_windows_plugin.h>
 
 void RegisterPlugins(flutter::PluginRegistry* registry) {
+  ConnectivityPlusWindowsPluginRegisterWithRegistrar(
+      registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin"));
 }
diff --git a/app/windows/flutter/generated_plugins.cmake b/app/windows/flutter/generated_plugins.cmake
index b93c4c30..cc1361d8 100644
--- a/app/windows/flutter/generated_plugins.cmake
+++ b/app/windows/flutter/generated_plugins.cmake
@@ -3,6 +3,7 @@
 #
 
 list(APPEND FLUTTER_PLUGIN_LIST
+  connectivity_plus
 )
 
 list(APPEND FLUTTER_FFI_PLUGIN_LIST
-- 
GitLab