Skip to content

Commit

Permalink
Listener for airside logs + Widget to display airside logs (#22)
Browse files Browse the repository at this point in the history
* commiting to new branch

* experimenting

* works, but has test data hardcoded in

* modified but not finalized

* made changes

* fixed changes

* adding into main dart

* changes

* new changes with refactor

* functional changes made

* widget commit

* fixed changes

* trying to rebase main

* changes from main refactor

* formatted files

* Fixed merge conflicts in .metadata

* Fixed merge conflict pubspec.lock

* fixed changes, made some modifications

* pushing changes

* fixing build issue

* trying to fix build issue

* fixing requested changes

* fixing build, forgot to format

* fixing new requested changes

* adding tests

* fixing nitpicks

* tests completed

* restored main

* adding test_logs

* fixed file change

---------

Co-authored-by: Balaji <[email protected]>
  • Loading branch information
ellyokes253 and BalajiLeninrajan authored Jul 12, 2024
1 parent 5c858c5 commit 1b3ce62
Show file tree
Hide file tree
Showing 12 changed files with 586 additions and 22 deletions.
27 changes: 21 additions & 6 deletions flutter_app/.metadata
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,35 @@
# This file should be version controlled and should not be manually edited.

version:
revision: "34ab5378801b427adf2224f23d488961e7dd746f"
channel: "master"
revision: "761747bfc538b5af34aa0d3fac380f1bc331ec49"
channel: "stable"

project_type: app

# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: 34ab5378801b427adf2224f23d488961e7dd746f
base_revision: 34ab5378801b427adf2224f23d488961e7dd746f
create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
- platform: android
create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
- platform: ios
create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
- platform: linux
create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
- platform: macos
create_revision: 34ab5378801b427adf2224f23d488961e7dd746f
base_revision: 34ab5378801b427adf2224f23d488961e7dd746f
create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
- platform: web
create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
- platform: windows
create_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49
base_revision: 761747bfc538b5af34aa0d3fac380f1bc331ec49

# User provided section

Expand Down
14 changes: 14 additions & 0 deletions flutter_app/lib/modules/get_airside_logs.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import 'dart:io';

class GetAirsideLogs {
final String pathToDirectory;

GetAirsideLogs({required this.pathToDirectory});

List<File> getFiles() {
return Directory(pathToDirectory)
.listSync(recursive: true, followLinks: true)
.whereType<File>()
.toList();
}
}
24 changes: 24 additions & 0 deletions flutter_app/lib/screens/log_displayer_screen.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import 'package:flutter/material.dart';

class LogDisplayerScreen extends StatelessWidget {
final String fileContext;
final String fileName;
const LogDisplayerScreen(
{Key? key, required this.fileContext, required this.fileName})
: super(key: key);

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(fileName),
),
body: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(fileContext),
),
),
);
}
}
63 changes: 63 additions & 0 deletions flutter_app/lib/widgets/display_all_logs_widget.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import 'package:flutter/material.dart';
import 'package:imacs/modules/get_airside_logs.dart';
import 'package:imacs/screens/log_displayer_screen.dart';

class LogsList extends StatelessWidget {
const LogsList({
super.key,
required this.getAirsideLogs,
});

final GetAirsideLogs getAirsideLogs;

static Route _logDisplayerRoute(BuildContext context, Object? arguments) {
final args = arguments as Map<String, String>;
return MaterialPageRoute(
builder: (context) => LogDisplayerScreen(
fileContext: args['fileContent']!, fileName: args['fileName']!),
);
}

@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: SizedBox(
width: 600,
child: AspectRatio(
aspectRatio: 4 / 3,
child: ListView.builder(
itemCount: getAirsideLogs.getFiles().length,
itemBuilder: (context, index) {
List<String> filePath =
getAirsideLogs.getFiles()[index].uri.pathSegments;
String fileName = filePath.length == 1
? filePath.last
: filePath
.sublist(filePath.length - 2, filePath.length)
.join('/');
return Padding(
padding: const EdgeInsets.all(8.0),
child: Card(
child: ListTile(
title: Text(fileName),
onTap: () {
String fileContent =
getAirsideLogs.getFiles()[index].readAsStringSync();
Navigator.of(context).restorablePush(
_logDisplayerRoute, // restorable push wouldn't function without static method
arguments: {
'fileContent': fileContent,
'fileName': fileName,
},
);
},
),
),
);
},
),
),
),
);
}
}
32 changes: 16 additions & 16 deletions flutter_app/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -216,18 +216,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
url: "https://pub.dev"
source: hosted
version: "10.0.5"
version: "10.0.4"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
url: "https://pub.dev"
source: hosted
version: "3.0.5"
version: "3.0.3"
leak_tracker_testing:
dependency: transitive
description:
Expand Down Expand Up @@ -272,18 +272,18 @@ packages:
dependency: transitive
description:
name: material_color_utilities
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
url: "https://pub.dev"
source: hosted
version: "0.11.1"
version: "0.8.0"
meta:
dependency: transitive
description:
name: meta
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
url: "https://pub.dev"
source: hosted
version: "1.15.0"
version: "1.12.0"
mime:
dependency: transitive
description:
Expand Down Expand Up @@ -437,26 +437,26 @@ packages:
dependency: "direct dev"
description:
name: test
sha256: "7ee44229615f8f642b68120165ae4c2a75fe77ae2065b1e55ae4711f6cf0899e"
sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073"
url: "https://pub.dev"
source: hosted
version: "1.25.7"
version: "1.25.2"
test_api:
dependency: transitive
description:
name: test_api
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
url: "https://pub.dev"
source: hosted
version: "0.7.2"
version: "0.7.0"
test_core:
dependency: transitive
description:
name: test_core
sha256: "55ea5a652e38a1dfb32943a7973f3681a60f872f8c3a05a14664ad54ef9c6696"
sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4"
url: "https://pub.dev"
source: hosted
version: "0.6.4"
version: "0.6.0"
typed_data:
dependency: transitive
description:
Expand All @@ -477,10 +477,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
url: "https://pub.dev"
source: hosted
version: "14.2.4"
version: "14.2.1"
watcher:
dependency: transitive
description:
Expand Down
61 changes: 61 additions & 0 deletions flutter_app/test/test_logs/2024-06-18_07-46-57/main.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
07:46:57: [INFO] [test_functions.py | main | 20] main logger initialized
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [INFO] [test_functions.py | main | 28] Test Info
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [INFO] [test_functions.py | main | 28] Test Info
07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [INFO] [test_functions.py | main | 28] Test Info
07:46:57: [ERROR] [test_functions.py | main | 32] Test Error
07:46:57: [INFO] [test_functions.py | main | 28] Test Info
07:46:57: [ERROR] [test_functions.py | main | 32] Test Error
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [ERROR] [test_functions.py | main | 32] Test Error
07:46:57: [ERROR] [test_functions.py | main | 32] Test Error
07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:46:57: [ERROR] [test_functions.py | main | 32] Test Error
07:46:57: [INFO] [test_functions.py | main | 28] Test Info
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [INFO] [test_functions.py | main | 28] Test Info
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [INFO] [test_functions.py | main | 28] Test Info
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [INFO] [test_functions.py | main | 28] Test Info
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [ERROR] [test_functions.py | main | 32] Test Error
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [INFO] [test_functions.py | main | 28] Test Info
07:46:57: [ERROR] [test_functions.py | main | 32] Test Error
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [INFO] [test_functions.py | main | 28] Test Info
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [WARNING] [test_functions.py | main | 30] Test Warning
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
07:46:57: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:46:57: [ERROR] [test_functions.py | main | 32] Test Error
07:46:57: [ERROR] [test_functions.py | main | 32] Test Error
07:46:57: [DEBUG] [test_functions.py | main | 26] Test Debug
61 changes: 61 additions & 0 deletions flutter_app/test/test_logs/2024-06-18_07-47-01/main.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
07:47:01: [INFO] [test_functions.py | main | 20] main logger initialized
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [ERROR] [test_functions.py | main | 32] Test Error
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [ERROR] [test_functions.py | main | 32] Test Error
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [ERROR] [test_functions.py | main | 32] Test Error
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [ERROR] [test_functions.py | main | 32] Test Error
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [ERROR] [test_functions.py | main | 32] Test Error
07:47:01: [ERROR] [test_functions.py | main | 32] Test Error
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [ERROR] [test_functions.py | main | 32] Test Error
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [ERROR] [test_functions.py | main | 32] Test Error
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [DEBUG] [test_functions.py | main | 26] Test Debug
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [CRITICAL] [test_functions.py | main | 34] Test Critical
07:47:01: [INFO] [test_functions.py | main | 28] Test Info
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
07:47:01: [WARNING] [test_functions.py | main | 30] Test Warning
Loading

0 comments on commit 1b3ce62

Please sign in to comment.