shifted logs to external (8.4)

appointment_merge
Faiz Hashmi 3 months ago
parent ab535f0d7f
commit 000ac6f98f

@ -106,7 +106,7 @@ class AppConstants {
static String testIP = '12.4.5.1'; // projectID.QlineType.ScreenType.AnyNumber (1 to 10) static String testIP = '12.4.5.1'; // projectID.QlineType.ScreenType.AnyNumber (1 to 10)
static int thresholdForListUI = 3; static int thresholdForListUI = 3;
static double currentBuildVersion = 8.3; static double currentBuildVersion = 8.4;
static double clearLogsHoursThreshold = 48; static double clearLogsHoursThreshold = 48;
} }
@ -273,7 +273,7 @@ class MockJsonRepo {
"isQueue": true, "isQueue": true,
"isToneReq": true, "isToneReq": true,
"isVoiceReq": true, "isVoiceReq": true,
"orientationType": 1, "orientationType ": 1,
"isTurnOn": true, "isTurnOn": true,
"concurrentCallDelaySec": 3, "concurrentCallDelaySec": 3,
"crTypeAckIP": "192.168.1.100", "crTypeAckIP": "192.168.1.100",

@ -12,7 +12,6 @@ import 'package:wakelock_plus/wakelock_plus.dart';
void main() async { void main() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
await AppDependencies.addDependencies(); await AppDependencies.addDependencies();
// Keep the screen on
await WakelockPlus.enable(); await WakelockPlus.enable();
// The following foreground task logic is now handled natively in Android. Commented out for clarity. // The following foreground task logic is now handled natively in Android. Commented out for clarity.

@ -29,22 +29,28 @@ class LoggerServiceImp implements LoggerService {
final timestamp = DateFormat('yyyy-MM-dd hh:mm:ss a').format(DateTime.now()); final timestamp = DateFormat('yyyy-MM-dd hh:mm:ss a').format(DateTime.now());
final formattedMessage = "[$timestamp] [SOURCE: $source] ${type.name.toUpperCase()}: $message"; final formattedMessage = "[$timestamp] [SOURCE: $source] ${type.name.toUpperCase()}: $message";
final dir = await getApplicationDocumentsDirectory(); final baseDir = await getExternalStorageDirectory();
final logDir = Directory('${dir.path}/logs'); final logDir = Directory('${baseDir!.path}/logs');
if (!await logDir.exists()) { if (!await logDir.exists()) {
await logDir.create(recursive: true); await logDir.create(recursive: true);
} }
final logFileName = type == LogTypeEnum.error ? AppStrings.errorLogsFileName : AppStrings.dataLogsFileName; final logFileName = type == LogTypeEnum.error
? AppStrings.errorLogsFileName
: AppStrings.dataLogsFileName;
final file = File('${logDir.path}/$logFileName'); final file = File('${logDir.path}/$logFileName');
ScreenConfigViewModel screenConfigViewModel = getIt.get<ScreenConfigViewModel>(); ScreenConfigViewModel screenConfigViewModel = getIt.get<ScreenConfigViewModel>();
CacheService cacheService = getIt.get<CacheService>(); CacheService cacheService = getIt.get<CacheService>();
final lastLogsClearedAt = screenConfigViewModel.lastTimeLogsCleared; final lastLogsClearedAt = screenConfigViewModel.lastTimeLogsCleared;
final now = DateTime.now(); final now = DateTime.now();
if (lastLogsClearedAt != null && now.difference(lastLogsClearedAt).inHours >= AppConstants.clearLogsHoursThreshold) {
if (lastLogsClearedAt != null &&
now.difference(lastLogsClearedAt).inHours >= AppConstants.clearLogsHoursThreshold) {
await file.writeAsString(''); await file.writeAsString('');
getIt.get<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);

@ -37,43 +37,43 @@ class AppFooter extends StatelessWidget {
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
fontSize: SizeConfig.getWidthMultiplier() * 1.5, fontSize: SizeConfig.getWidthMultiplier() * 1.5,
)), )),
Row( // Row(
children: [ // children: [
InkWell( // InkWell(
onTap: () { // onTap: () {
screenConfigVM.updateCurrentScreenRotation(ScreenOrientationEnum.portraitUp); // screenConfigVM.updateCurrentScreenRotation(ScreenOrientationEnum.portraitUp);
}, // },
child: Icon( // child: Icon(
Icons.arrow_upward, // Icons.arrow_upward,
size: SizeConfig.getWidthMultiplier() * 2, // size: SizeConfig.getWidthMultiplier() * 2,
), // ),
), // ),
InkWell( // InkWell(
onTap: () { // onTap: () {
screenConfigVM.updateCurrentScreenRotation(ScreenOrientationEnum.landscapeRight); // screenConfigVM.updateCurrentScreenRotation(ScreenOrientationEnum.landscapeRight);
}, // },
child: Icon(Icons.arrow_forward, size: SizeConfig.getWidthMultiplier() * 2), // child: Icon(Icons.arrow_forward, size: SizeConfig.getWidthMultiplier() * 2),
), // ),
InkWell( // InkWell(
onTap: () { // onTap: () {
screenConfigVM.updateCurrentScreenRotation(ScreenOrientationEnum.portraitDown); // screenConfigVM.updateCurrentScreenRotation(ScreenOrientationEnum.portraitDown);
}, // },
child: Icon( // child: Icon(
Icons.arrow_downward, // Icons.arrow_downward,
size: SizeConfig.getWidthMultiplier() * 2, // size: SizeConfig.getWidthMultiplier() * 2,
), // ),
), // ),
InkWell( // InkWell(
onTap: () { // onTap: () {
screenConfigVM.updateCurrentScreenRotation(ScreenOrientationEnum.landscapeLeft); // screenConfigVM.updateCurrentScreenRotation(ScreenOrientationEnum.landscapeLeft);
}, // },
child: Icon( // child: Icon(
Icons.arrow_back, // Icons.arrow_back,
size: SizeConfig.getWidthMultiplier() * 2, // size: SizeConfig.getWidthMultiplier() * 2,
), // ),
), // ),
], // ],
), // ),
], ],
), ),
const SizedBox(width: 10), const SizedBox(width: 10),

@ -5,10 +5,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: args name: args
sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.6.0" version: "2.7.0"
async: async:
dependency: transitive dependency: transitive
description: description:
@ -21,10 +21,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: audio_session name: audio_session
sha256: b2a26ba8b7efa1790d6460e82971fde3e398cfbe2295df9dea22f3499d2c12a7 sha256: "2b7fff16a552486d078bfc09a8cde19f426dc6d6329262b684182597bec5b1ac"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.1.23" version: "0.1.25"
blinking_text: blinking_text:
dependency: "direct main" dependency: "direct main"
description: description:
@ -69,10 +69,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: connectivity_plus name: connectivity_plus
sha256: e0817759ec6d2d8e57eb234e6e57d2173931367a865850c7acea40d4b4f9c27d sha256: "051849e2bd7c7b3bc5844ea0d096609ddc3a859890ec3a9ac4a65a2620cc1f99"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.1" version: "6.1.4"
connectivity_plus_platform_interface: connectivity_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
@ -178,10 +178,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_svg name: flutter_svg
sha256: "54900a1a1243f3c4a5506d853a2b5c2dbc38d5f27e52a52618a8054401431123" sha256: d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.16" version: "2.1.0"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@ -191,10 +191,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_tts name: flutter_tts
sha256: cbec5f0447223e1b4c47f893c7f8ef663ac582120c147e4a1e2cade7f2e8b0c8 sha256: bdf2fc4483e74450dc9fc6fe6a9b6a5663e108d4d0dad3324a22c8e26bf48af4
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.2.0" version: "4.2.3"
flutter_web_plugins: flutter_web_plugins:
dependency: transitive dependency: transitive
description: flutter description: flutter
@ -212,18 +212,18 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: get_it name: get_it
sha256: f126a3e286b7f5b578bf436d5592968706c4c1de28a228b870ce375d9f743103 sha256: a4292e7cf67193f8e7c1258203104eb2a51ec8b3a04baa14695f4064c144297b
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.0.3" version: "8.2.0"
http: http:
dependency: "direct overridden" dependency: "direct overridden"
description: description:
name: http name: http
sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.2" version: "1.5.0"
http_parser: http_parser:
dependency: transitive dependency: transitive
description: description:
@ -244,26 +244,26 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: just_audio name: just_audio
sha256: a49e7120b95600bd357f37a2bb04cd1e88252f7cdea8f3368803779b925b1049 sha256: f978d5b4ccea08f267dae0232ec5405c1b05d3f3cd63f82097ea46c015d5c09e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.9.42" version: "0.9.46"
just_audio_platform_interface: just_audio_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: just_audio_platform_interface name: just_audio_platform_interface
sha256: "0243828cce503c8366cc2090cefb2b3c871aa8ed2f520670d76fd47aa1ab2790" sha256: "4cd94536af0219fa306205a58e78d67e02b0555283c1c094ee41e402a14a5c4a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.3.0" version: "4.5.0"
just_audio_web: just_audio_web:
dependency: transitive dependency: transitive
description: description:
name: just_audio_web name: just_audio_web
sha256: "9a98035b8b24b40749507687520ec5ab404e291d2b0937823ff45d92cb18d448" sha256: "6ba8a2a7e87d57d32f0f7b42856ade3d6a9fbe0f1a11fabae0a4f00bb73f0663"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.4.13" version: "0.4.16"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
@ -300,10 +300,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: logger name: logger
sha256: be4b23575aac7ebf01f225a241eb7f6b5641eeaf43c6a8613510fc2f8cf187d1 sha256: "2621da01aabaf223f8f961e751f2c943dbb374dc3559b982f200ccedadaa6999"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.5.0" version: "2.6.0"
logging: logging:
dependency: transitive dependency: transitive
description: description:
@ -364,18 +364,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: package_info_plus name: package_info_plus
sha256: "70c421fe9d9cc1a9a7f3b05ae56befd469fe4f8daa3b484823141a55442d858d" sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "8.1.2" version: "8.3.0"
package_info_plus_platform_interface: package_info_plus_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: package_info_plus_platform_interface name: package_info_plus_platform_interface
sha256: a5ef9986efc7bf772f2696183a3992615baa76c1ffb1189318dd8803778fb05b sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.2" version: "3.2.0"
path: path:
dependency: transitive dependency: transitive
description: description:
@ -468,10 +468,10 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: provider name: provider
sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.2" version: "6.1.5"
qr_code_scanner_plus: qr_code_scanner_plus:
dependency: "direct main" dependency: "direct main"
description: description:
@ -508,10 +508,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_android name: shared_preferences_android
sha256: "02a7d8a9ef346c9af715811b01fbd8e27845ad2c41148eefd31321471b41863d" sha256: "9f9f3d372d4304723e6136663bb291c0b93f5e4c8a4a6314347f481a33bda2b1"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.0" version: "2.4.7"
shared_preferences_foundation: shared_preferences_foundation:
dependency: transitive dependency: transitive
description: description:
@ -540,10 +540,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: shared_preferences_web name: shared_preferences_web
sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e sha256: c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.4.2" version: "2.4.3"
shared_preferences_windows: shared_preferences_windows:
dependency: transitive dependency: transitive
description: description:
@ -613,6 +613,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.0" version: "1.3.0"
synchronized:
dependency: transitive
description:
name: synchronized
sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225"
url: "https://pub.dev"
source: hosted
version: "3.3.0+3"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
@ -657,18 +665,18 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: vector_graphics name: vector_graphics
sha256: "27d5fefe86fb9aace4a9f8375b56b3c292b64d8c04510df230f849850d912cb7" sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.15" version: "1.1.18"
vector_graphics_codec: vector_graphics_codec:
dependency: transitive dependency: transitive
description: description:
name: vector_graphics_codec name: vector_graphics_codec
sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb" sha256: "99fd9fbd34d9f9a32efd7b6a6aae14125d8237b10403b422a6a6dfeac2806146"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.1.12" version: "1.1.13"
vector_graphics_compiler: vector_graphics_compiler:
dependency: transitive dependency: transitive
description: description:
@ -729,10 +737,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: win32 name: win32
sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69" sha256: daf97c9d80197ed7b619040e86c8ab9a9dad285e7671ee7390f9180cc828a51e
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "5.9.0" version: "5.10.1"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:

Loading…
Cancel
Save