Added connectivity Logs

qlline_design_update
Faiz Hashmi 4 weeks ago
parent 5fa860a4f5
commit 510f50fc7f

@ -28,6 +28,7 @@ class AppStrings {
static String dataLogsFileName = "data_logs.txt"; static String dataLogsFileName = "data_logs.txt";
static String errorLogsFileName = "error_logs.txt"; static String errorLogsFileName = "error_logs.txt";
static String connectivityLogsFileName = "connectivity_logs.txt";
static String openAppNativeFunctionName = "reopenApp"; static String openAppNativeFunctionName = "reopenApp";

@ -26,9 +26,7 @@ class MyApp extends StatelessWidget {
return OrientationBuilder(builder: (context, orientation) { return OrientationBuilder(builder: (context, orientation) {
SizeConfig().init(constraints, orientation); SizeConfig().init(constraints, orientation);
SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []); SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);
SystemChrome.setPreferredOrientations([ SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
DeviceOrientation.portraitUp,
]);
return MultiProvider( return MultiProvider(
providers: [ providers: [
ChangeNotifierProvider<ScreenConfigViewModel>(create: (context) => getIt.get<ScreenConfigViewModel>()), ChangeNotifierProvider<ScreenConfigViewModel>(create: (context) => getIt.get<ScreenConfigViewModel>()),

@ -34,9 +34,15 @@ class LoggerServiceImp implements LoggerService {
await logDir.create(recursive: true); await logDir.create(recursive: true);
} }
final logFileName = type == LogTypeEnum.error String logFileName = "";
? AppStrings.errorLogsFileName
: AppStrings.dataLogsFileName; 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'); final file = File('${logDir.path}/${screenConfigViewModel.currentScreenIP}_$logFileName');
@ -45,21 +51,18 @@ class LoggerServiceImp implements LoggerService {
final lastLogsClearedAt = screenConfigViewModel.lastTimeLogsCleared; final lastLogsClearedAt = screenConfigViewModel.lastTimeLogsCleared;
final now = DateTime.now(); final now = DateTime.now();
if (lastLogsClearedAt != null && if (lastLogsClearedAt != null && now.difference(lastLogsClearedAt).inHours >= AppConstants.clearLogsHoursThreshold) {
now.difference(lastLogsClearedAt).inHours >= AppConstants.clearLogsHoursThreshold) {
final clearingMessage = "[$timestamp] [SOURCE: $source] ${type.name.toUpperCase()}: LOGS HAVE BEEN CLEARED\n"; final clearingMessage = "[$timestamp] [SOURCE: $source] ${type.name.toUpperCase()}: LOGS HAVE BEEN CLEARED\n";
await file.writeAsString(clearingMessage); await file.writeAsString(clearingMessage);
screenConfigViewModel.lastTimeLogsCleared = now; screenConfigViewModel.lastTimeLogsCleared = now;
cacheService.setLastTimeLogsCleared(lastTimeCleared: now.millisecondsSinceEpoch); cacheService.setLastTimeLogsCleared(lastTimeCleared: now.millisecondsSinceEpoch);
} }
await file.writeAsString("$formattedMessage\n", mode: FileMode.append); await file.writeAsString("$formattedMessage\n", mode: FileMode.append);
} catch (e) { } catch (e) {
logger.e('Logging failed: $e'); logger.e('Logging failed: $e');
} }
} }
@override @override
void logError(String message) { void logError(String message) {
logger.e(message); logger.e(message);

@ -5,15 +5,14 @@ enum ViewState {
} }
enum CallTypeEnum { enum CallTypeEnum {
vitalSign, // 1 vitalSign, // 1
doctor, // 2 doctor, // 2
procedure, // 3 procedure, // 3
vaccination, // 4 vaccination, // 4
nebulization, // 5 nebulization, // 5
none, // 6 none, // 6
} }
enum ScreenOrientationEnum { enum ScreenOrientationEnum {
portraitUp, // 1 portraitUp, // 1
portraitDown, // 2 portraitDown, // 2
@ -52,6 +51,5 @@ enum KioskScreenStateEnums {
enum LogTypeEnum { enum LogTypeEnum {
data, data,
error, error,
connectivity,
} }

@ -89,7 +89,7 @@ class QueuingViewModel extends ChangeNotifier {
Future<void> onHubReconnected(var response) async { Future<void> onHubReconnected(var response) async {
log("onHubConnected: $response"); 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>(); ScreenConfigViewModel screenConfigViewModel = getIt.get<ScreenConfigViewModel>();
screenConfigViewModel.updateIsHubConnected(true); screenConfigViewModel.updateIsHubConnected(true);
@ -98,7 +98,7 @@ class QueuingViewModel extends ChangeNotifier {
Future<void> onHubDisconnected(var response) async { Future<void> onHubDisconnected(var response) async {
log("onHubDisconnected: $response"); 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>(); ScreenConfigViewModel screenConfigViewModel = getIt.get<ScreenConfigViewModel>();
screenConfigViewModel.updateIsHubConnected(false); screenConfigViewModel.updateIsHubConnected(false);

@ -558,11 +558,18 @@ class ScreenConfigViewModel extends ChangeNotifier {
void syncHubConnectionState() async { void syncHubConnectionState() async {
QueuingViewModel queuingViewModel = getIt.get<QueuingViewModel>(); QueuingViewModel queuingViewModel = getIt.get<QueuingViewModel>();
bool newState = (queuingViewModel.signalrRepo as SignalrRepoImp).isConnected; 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) { if (isHubConnected != newState) {
updateIsHubConnected(newState); updateIsHubConnected(newState);
} }
if (!isHubConnected) { if (!isHubConnected) {
log("Hub is Not Connected!, I will try to reconnect now.");
QueuingViewModel queuingViewModel = getIt.get<QueuingViewModel>(); QueuingViewModel queuingViewModel = getIt.get<QueuingViewModel>();
bool? status = await queuingViewModel.startHubConnection(); bool? status = await queuingViewModel.startHubConnection();
// syncHubConnectionState will update isHubConnected // syncHubConnectionState will update isHubConnected

Loading…
Cancel
Save