From 36cbc8e89bfd9cc080980bb14fd81efc901ef122 Mon Sep 17 00:00:00 2001
From: Inex Code <inex.code@selfprivacy.org>
Date: Fri, 16 Sep 2022 10:50:05 +0300
Subject: [PATCH] Catch StateError on server_detailed_info_cubit.dart

---
 .../server_detailed_info_cubit.dart           | 30 +++++++++++--------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/lib/logic/cubit/server_detailed_info/server_detailed_info_cubit.dart b/lib/logic/cubit/server_detailed_info/server_detailed_info_cubit.dart
index 2290c0a5..5f75497b 100644
--- a/lib/logic/cubit/server_detailed_info/server_detailed_info_cubit.dart
+++ b/lib/logic/cubit/server_detailed_info/server_detailed_info_cubit.dart
@@ -15,19 +15,23 @@ class ServerDetailsCubit extends Cubit<ServerDetailsState> {
 
   void check() async {
     final bool isReadyToCheck = getIt<ApiConfigModel>().serverDetails != null;
-    if (isReadyToCheck) {
-      emit(ServerDetailsLoading());
-      final ServerDetailsRepositoryDto data = await repository.load();
-      emit(
-        Loaded(
-          serverInfo: data.hetznerServerInfo,
-          autoUpgradeSettings: data.autoUpgradeSettings,
-          serverTimezone: data.serverTimezone,
-          checkTime: DateTime.now(),
-        ),
-      );
-    } else {
-      emit(ServerDetailsNotReady());
+    try {
+      if (isReadyToCheck) {
+        emit(ServerDetailsLoading());
+        final ServerDetailsRepositoryDto data = await repository.load();
+        emit(
+          Loaded(
+            serverInfo: data.hetznerServerInfo,
+            autoUpgradeSettings: data.autoUpgradeSettings,
+            serverTimezone: data.serverTimezone,
+            checkTime: DateTime.now(),
+          ),
+        );
+      } else {
+        emit(ServerDetailsNotReady());
+      }
+    } on StateError {
+      print('Tried to emit server info state when cubit is closed');
     }
   }
 }