diff --git a/lib/constants/app_constants.dart b/lib/constants/app_constants.dart index d2db732..af2df4e 100644 --- a/lib/constants/app_constants.dart +++ b/lib/constants/app_constants.dart @@ -28,6 +28,7 @@ class AppStrings { static String dataLogsFileName = "data_logs.txt"; static String errorLogsFileName = "error_logs.txt"; + static String connectivityLogsFileName = "connectivity_logs.txt"; static String openAppNativeFunctionName = "reopenApp"; diff --git a/lib/main.dart b/lib/main.dart index 69a0ba5..6f290c7 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -26,9 +26,7 @@ class MyApp extends StatelessWidget { return OrientationBuilder(builder: (context, orientation) { SizeConfig().init(constraints, orientation); SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []); - SystemChrome.setPreferredOrientations([ - DeviceOrientation.portraitUp, - ]); + SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); return MultiProvider( providers: [ ChangeNotifierProvider(create: (context) => getIt.get()), diff --git a/lib/services/logger_service.dart b/lib/services/logger_service.dart index 5b61383..1d7a85c 100644 --- a/lib/services/logger_service.dart +++ b/lib/services/logger_service.dart @@ -34,9 +34,15 @@ class LoggerServiceImp implements LoggerService { await logDir.create(recursive: true); } - final logFileName = type == LogTypeEnum.error - ? AppStrings.errorLogsFileName - : AppStrings.dataLogsFileName; + String logFileName = ""; + + if (type == LogTypeEnum.error) { + logFileName = AppStrings.errorLogsFileName; + } else if (type == LogTypeEnum.data) { + logFileName = AppStrings.dataLogsFileName; + } else { + logFileName = AppStrings.connectivityLogsFileName; + } final file = File('${logDir.path}/${screenConfigViewModel.currentScreenIP}_$logFileName'); @@ -45,21 +51,18 @@ class LoggerServiceImp implements LoggerService { final lastLogsClearedAt = screenConfigViewModel.lastTimeLogsCleared; final now = DateTime.now(); - if (lastLogsClearedAt != null && - now.difference(lastLogsClearedAt).inHours >= AppConstants.clearLogsHoursThreshold) { + if (lastLogsClearedAt != null && now.difference(lastLogsClearedAt).inHours >= AppConstants.clearLogsHoursThreshold) { final clearingMessage = "[$timestamp] [SOURCE: $source] ${type.name.toUpperCase()}: LOGS HAVE BEEN CLEARED\n"; await file.writeAsString(clearingMessage); screenConfigViewModel.lastTimeLogsCleared = now; cacheService.setLastTimeLogsCleared(lastTimeCleared: now.millisecondsSinceEpoch); } await file.writeAsString("$formattedMessage\n", mode: FileMode.append); - } catch (e) { logger.e('Logging failed: $e'); } } - @override void logError(String message) { logger.e(message); diff --git a/lib/utilities/enums.dart b/lib/utilities/enums.dart index 7044d16..959d0d6 100644 --- a/lib/utilities/enums.dart +++ b/lib/utilities/enums.dart @@ -5,15 +5,14 @@ enum ViewState { } enum CallTypeEnum { - vitalSign, // 1 - doctor, // 2 - procedure, // 3 - vaccination, // 4 - nebulization, // 5 - none, // 6 + vitalSign, // 1 + doctor, // 2 + procedure, // 3 + vaccination, // 4 + nebulization, // 5 + none, // 6 } - enum ScreenOrientationEnum { portraitUp, // 1 portraitDown, // 2 @@ -52,6 +51,5 @@ enum KioskScreenStateEnums { enum LogTypeEnum { data, error, + connectivity, } - - diff --git a/lib/view_models/queuing_view_model.dart b/lib/view_models/queuing_view_model.dart index f90fb71..41ef270 100644 --- a/lib/view_models/queuing_view_model.dart +++ b/lib/view_models/queuing_view_model.dart @@ -89,7 +89,7 @@ class QueuingViewModel extends ChangeNotifier { Future onHubReconnected(var response) async { log("onHubConnected: $response"); - loggerService.logToFile(message: response.toString(), source: "onHubReconnected -> queueing_view_model.dart ", type: LogTypeEnum.data); + loggerService.logToFile(message: response.toString(), source: "onHubReconnected -> queueing_view_model.dart ", type: LogTypeEnum.connectivity); ScreenConfigViewModel screenConfigViewModel = getIt.get(); screenConfigViewModel.updateIsHubConnected(true); @@ -98,7 +98,7 @@ class QueuingViewModel extends ChangeNotifier { Future onHubDisconnected(var response) async { log("onHubDisconnected: $response"); - loggerService.logToFile(message: response.toString(), source: "onHubDisconnected -> queueing_view_model.dart ", type: LogTypeEnum.data); + loggerService.logToFile(message: response.toString(), source: "onHubDisconnected -> queueing_view_model.dart ", type: LogTypeEnum.connectivity); ScreenConfigViewModel screenConfigViewModel = getIt.get(); screenConfigViewModel.updateIsHubConnected(false); diff --git a/lib/view_models/screen_config_view_model.dart b/lib/view_models/screen_config_view_model.dart index 03d805e..5f0aebe 100644 --- a/lib/view_models/screen_config_view_model.dart +++ b/lib/view_models/screen_config_view_model.dart @@ -558,11 +558,18 @@ class ScreenConfigViewModel extends ChangeNotifier { void syncHubConnectionState() async { QueuingViewModel queuingViewModel = getIt.get(); bool newState = (queuingViewModel.signalrRepo as SignalrRepoImp).isConnected; + + loggerService.logToFile( + message: "Hub Current Status : $newState", + source: "syncHubConnectionState-> screen_config_view_model.dart", + type: LogTypeEnum.connectivity, + ); + log("[isHubConnected: $isHubConnected] , [newState: $newState]"); + if (isHubConnected != newState) { updateIsHubConnected(newState); } if (!isHubConnected) { - log("Hub is Not Connected!, I will try to reconnect now."); QueuingViewModel queuingViewModel = getIt.get(); bool? status = await queuingViewModel.startHubConnection(); // syncHubConnectionState will update isHubConnected