From b93e358494a5e71162393c9a23179fbbca830019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Fri, 23 Feb 2024 10:09:11 -0400 Subject: [PATCH 01/67] deps: Add cognitive_data package --- pubspec.lock | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ pubspec.yaml | 3 +++ 2 files changed, 54 insertions(+) diff --git a/pubspec.lock b/pubspec.lock index 2092859..5445c4a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -50,6 +50,15 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.1" + cognitive_data: + dependency: "direct main" + description: + path: "." + ref: HEAD + resolved-ref: "1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae" + url: "https://github.com/mario-bermonti/cognitive_data.git" + source: git + version: "0.0.1" collection: dependency: transitive description: @@ -85,6 +94,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.5" + drift: + dependency: transitive + description: + name: drift + url: "https://pub.dartlang.org" + source: hosted + version: "1.7.1" fake_async: dependency: transitive description: @@ -254,6 +270,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.8.2" + path_provider: + dependency: transitive + description: + name: path_provider + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.15" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.27" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.1" path_provider_linux: dependency: transitive description: @@ -448,6 +485,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.9.0" + sqlite3: + dependency: transitive + description: + name: sqlite3 + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + sqlite3_flutter_libs: + dependency: transitive + description: + name: sqlite3_flutter_libs + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.20" stack_trace: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 013c215..0b5abf8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,6 +14,9 @@ dependencies: stimuli: git: url: https://github.com/mario-bermonti/stimuli.git + cognitive_data: + git: + url: https://github.com/mario-bermonti/cognitive_data.git file_picker: ^5.2.4 shared_preferences: ^2.0.15 permission_handler: ^10.2.0 From 526e5faee50521ee7a7e9837e26e6ffe449ee123 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Fri, 23 Feb 2024 10:09:57 -0400 Subject: [PATCH 02/67] deps: Add autom updated files after updating deps --- .dart_tool/package_config.json | 44 ++++++++++++- .dart_tool/package_config_subset | 28 ++++++++ .../flutter/generated_plugin_registrant.cc | 4 ++ example/linux/flutter/generated_plugins.cmake | 1 + .../Flutter/GeneratedPluginRegistrant.swift | 4 ++ example/pubspec.lock | 65 +++++++++++++++++++ .../flutter/generated_plugin_registrant.cc | 3 + .../windows/flutter/generated_plugins.cmake | 1 + 8 files changed, 149 insertions(+), 1 deletion(-) diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index d26660e..70cf7ec 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -43,6 +43,12 @@ "packageUri": "lib/", "languageVersion": "2.12" }, + { + "name": "cognitive_data", + "rootUri": "file:///Users/MBP/.pub-cache/git/cognitive_data-1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae/", + "packageUri": "lib/", + "languageVersion": "2.18" + }, { "name": "collection", "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0", @@ -73,6 +79,12 @@ "packageUri": "lib/", "languageVersion": "2.12" }, + { + "name": "drift", + "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/drift-1.7.1", + "packageUri": "lib/", + "languageVersion": "2.15" + }, { "name": "fake_async", "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1", @@ -223,6 +235,24 @@ "packageUri": "lib/", "languageVersion": "2.12" }, + { + "name": "path_provider", + "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.15", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "path_provider_android", + "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.27", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "path_provider_foundation", + "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_foundation-2.2.1", + "packageUri": "lib/", + "languageVersion": "2.17" + }, { "name": "path_provider_linux", "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.10", @@ -391,6 +421,18 @@ "packageUri": "lib/", "languageVersion": "2.14" }, + { + "name": "sqlite3", + "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3-1.8.0", + "packageUri": "lib/", + "languageVersion": "2.17" + }, + { + "name": "sqlite3_flutter_libs", + "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3_flutter_libs-0.5.20", + "packageUri": "lib/", + "languageVersion": "2.12" + }, { "name": "stack_trace", "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0", @@ -500,7 +542,7 @@ "languageVersion": "2.17" } ], - "generated": "2023-12-09T22:02:40.179266Z", + "generated": "2024-02-23T14:08:22.984323Z", "generator": "pub", "generatorVersion": "2.18.0-216.0.dev" } diff --git a/.dart_tool/package_config_subset b/.dart_tool/package_config_subset index 3960aeb..cb1c1f7 100644 --- a/.dart_tool/package_config_subset +++ b/.dart_tool/package_config_subset @@ -1,3 +1,7 @@ +cognitive_data +2.18 +file:///Users/MBP/.pub-cache/git/cognitive_data-1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae/ +file:///Users/MBP/.pub-cache/git/cognitive_data-1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae/lib/ stimuli 2.18 file:///Users/MBP/.pub-cache/git/stimuli-9a7231c7fe6d7f80fc8fb8455e8a68cb69b40815/ @@ -50,6 +54,10 @@ cupertino_icons 2.12 file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/ file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/lib/ +drift +2.15 +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/drift-1.7.1/ +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/drift-1.7.1/lib/ fake_async 2.12 file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/ @@ -138,6 +146,18 @@ path 2.12 file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/ file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/ +path_provider +2.17 +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.15/ +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.15/lib/ +path_provider_android +2.17 +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.27/ +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.27/lib/ +path_provider_foundation +2.17 +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_foundation-2.2.1/ +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_foundation-2.2.1/lib/ path_provider_linux 2.17 file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.10/ @@ -246,6 +266,14 @@ source_span 2.14 file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/ file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/ +sqlite3 +2.17 +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3-1.8.0/ +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3-1.8.0/lib/ +sqlite3_flutter_libs +2.12 +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3_flutter_libs-0.5.20/ +file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3_flutter_libs-0.5.20/lib/ stack_trace 2.12 file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/ diff --git a/example/linux/flutter/generated_plugin_registrant.cc b/example/linux/flutter/generated_plugin_registrant.cc index e71a16d..2c1ec4f 100644 --- a/example/linux/flutter/generated_plugin_registrant.cc +++ b/example/linux/flutter/generated_plugin_registrant.cc @@ -6,6 +6,10 @@ #include "generated_plugin_registrant.h" +#include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) sqlite3_flutter_libs_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "Sqlite3FlutterLibsPlugin"); + sqlite3_flutter_libs_plugin_register_with_registrar(sqlite3_flutter_libs_registrar); } diff --git a/example/linux/flutter/generated_plugins.cmake b/example/linux/flutter/generated_plugins.cmake index 2e1de87..7ea2a80 100644 --- a/example/linux/flutter/generated_plugins.cmake +++ b/example/linux/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + sqlite3_flutter_libs ) list(APPEND FLUTTER_FFI_PLUGIN_LIST diff --git a/example/macos/Flutter/GeneratedPluginRegistrant.swift b/example/macos/Flutter/GeneratedPluginRegistrant.swift index 724bb2a..140712b 100644 --- a/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,8 +5,12 @@ import FlutterMacOS import Foundation +import path_provider_foundation import shared_preferences_foundation +import sqlite3_flutter_libs func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) + Sqlite3FlutterLibsPlugin.register(with: registry.registrar(forPlugin: "Sqlite3FlutterLibsPlugin")) } diff --git a/example/pubspec.lock b/example/pubspec.lock index 5a5de20..9172b8c 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -29,6 +29,15 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.1.1" + cognitive_data: + dependency: transitive + description: + path: "." + ref: HEAD + resolved-ref: "1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae" + url: "https://github.com/mario-bermonti/cognitive_data.git" + source: git + version: "0.0.1" collection: dependency: transitive description: @@ -36,6 +45,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.16.0" + convert: + dependency: transitive + description: + name: convert + url: "https://pub.dartlang.org" + source: hosted + version: "3.1.0" cupertino_icons: dependency: "direct main" description: @@ -50,6 +66,13 @@ packages: relative: true source: path version: "0.0.1" + drift: + dependency: transitive + description: + name: drift + url: "https://pub.dartlang.org" + source: hosted + version: "1.7.1" fake_async: dependency: transitive description: @@ -156,6 +179,27 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.8.2" + path_provider: + dependency: transitive + description: + name: path_provider + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.15" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.27" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + url: "https://pub.dartlang.org" + source: hosted + version: "2.2.1" path_provider_linux: dependency: transitive description: @@ -294,6 +338,20 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.9.0" + sqlite3: + dependency: transitive + description: + name: sqlite3 + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + sqlite3_flutter_libs: + dependency: transitive + description: + name: sqlite3_flutter_libs + url: "https://pub.dartlang.org" + source: hosted + version: "0.5.20" stack_trace: dependency: transitive description: @@ -338,6 +396,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.4.9" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.2" vector_math: dependency: transitive description: diff --git a/example/windows/flutter/generated_plugin_registrant.cc b/example/windows/flutter/generated_plugin_registrant.cc index 48de52b..ec6c447 100644 --- a/example/windows/flutter/generated_plugin_registrant.cc +++ b/example/windows/flutter/generated_plugin_registrant.cc @@ -7,8 +7,11 @@ #include "generated_plugin_registrant.h" #include +#include void RegisterPlugins(flutter::PluginRegistry* registry) { PermissionHandlerWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin")); + Sqlite3FlutterLibsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("Sqlite3FlutterLibsPlugin")); } diff --git a/example/windows/flutter/generated_plugins.cmake b/example/windows/flutter/generated_plugins.cmake index 0e69e40..3cc3711 100644 --- a/example/windows/flutter/generated_plugins.cmake +++ b/example/windows/flutter/generated_plugins.cmake @@ -4,6 +4,7 @@ list(APPEND FLUTTER_PLUGIN_LIST permission_handler_windows + sqlite3_flutter_libs ) list(APPEND FLUTTER_FFI_PLUGIN_LIST From ba94e9dccc4179926390fd0d11fda40cd4efde23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Fri, 23 Feb 2024 10:29:36 -0400 Subject: [PATCH 03/67] improve: Require sessionID in UserConfig --- lib/src/digit_span_task/components/config/user_config.dart | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/src/digit_span_task/components/config/user_config.dart b/lib/src/digit_span_task/components/config/user_config.dart index 0024598..36993c4 100644 --- a/lib/src/digit_span_task/components/config/user_config.dart +++ b/lib/src/digit_span_task/components/config/user_config.dart @@ -14,9 +14,16 @@ class UserConfig extends GetxController { /// are randomized (e.g., "123" may be turned into "213"). late final List stimListExperimental; + /// ID that uniquely identifies this participant's session. + /// It will be used to pair the different data collected by [digit_span_tasks] + /// for the participant's particular session. So it is essential that + /// the [sessionID] is an unique identifier across all the sessions for this + /// participant. + final String sessionID; UserConfig({ required stimListPractice, required stimListExperimental, + required this.sessionID, }) { this.stimListPractice = randomizeDigitsInSets(stimListPractice); this.stimListExperimental = randomizeDigitsInSets(stimListExperimental); From fc246de91df7b9214d3142adacc94d12f1d32b28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Fri, 23 Feb 2024 10:30:46 -0400 Subject: [PATCH 04/67] improve: Require participantID in UserConfig --- .../digit_span_task/components/config/user_config.dart | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/src/digit_span_task/components/config/user_config.dart b/lib/src/digit_span_task/components/config/user_config.dart index 36993c4..1cbb07d 100644 --- a/lib/src/digit_span_task/components/config/user_config.dart +++ b/lib/src/digit_span_task/components/config/user_config.dart @@ -20,10 +20,18 @@ class UserConfig extends GetxController { /// the [sessionID] is an unique identifier across all the sessions for this /// participant. final String sessionID; + + /// ID that uniquely identifies this participant. + /// It will be used to pair the different data collected by [digit_span_tasks] + /// for the participant. So it is essential that the [participantID] is an + /// unique identifier across all participant. + final String participantID; + UserConfig({ required stimListPractice, required stimListExperimental, required this.sessionID, + required this.participantID, }) { this.stimListPractice = randomizeDigitsInSets(stimListPractice); this.stimListExperimental = randomizeDigitsInSets(stimListExperimental); From 7f70fc151fd76b0372f90d73b18c11914bf21397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Fri, 23 Feb 2024 10:34:00 -0400 Subject: [PATCH 05/67] improve: Add autogenerated changes by flutter --- .dart_tool/package_config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index 70cf7ec..a94e219 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -542,7 +542,7 @@ "languageVersion": "2.17" } ], - "generated": "2024-02-23T14:08:22.984323Z", + "generated": "2024-02-23T14:33:41.659100Z", "generator": "pub", "generatorVersion": "2.18.0-216.0.dev" } From 9b4500c92ce97136691800cd2beb00f29926a2f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 15:49:47 -0400 Subject: [PATCH 06/67] improve: Instantiate InMemoryDB in manager --- lib/src/digit_span_task/components/data/data_manager.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index c11a2ce..05e0831 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -1,3 +1,4 @@ +import 'package:cognitive_data/databases/in_memory_db.dart'; import 'package:get/get.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_tasks_data.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/trial_data.dart'; @@ -7,6 +8,7 @@ import 'package:digit_span_tasks/src/digit_span_task/components/data/data_model. /// Used for adding data, getting data for practice or experimental session, /// and exporting data. class DataManager extends GetxController { + final InMemoryDB db = InMemoryDB(); DataModel practiceData = DataModel(); DataModel experimentalData = DataModel(); From 5bfe9c40b77c348d09109ab148dbde0d3dc9eeca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 15:58:05 -0400 Subject: [PATCH 07/67] improve: Define SessionType enum --- lib/src/digit_span_task/components/config/session_type.dart | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 lib/src/digit_span_task/components/config/session_type.dart diff --git a/lib/src/digit_span_task/components/config/session_type.dart b/lib/src/digit_span_task/components/config/session_type.dart new file mode 100644 index 0000000..4170ff9 --- /dev/null +++ b/lib/src/digit_span_task/components/config/session_type.dart @@ -0,0 +1,2 @@ +/// Identifies whether it is a practice or experimental session +enum SessionType { practice, experimental } From 4ca4d300a3da70203a54dd533dc01689e43aab6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 16:03:14 -0400 Subject: [PATCH 08/67] improve: Implement sessionType in ds_config --- lib/src/digit_span_task/components/config/ds_config.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/digit_span_task/components/config/ds_config.dart b/lib/src/digit_span_task/components/config/ds_config.dart index 0cff778..f91ba6c 100644 --- a/lib/src/digit_span_task/components/config/ds_config.dart +++ b/lib/src/digit_span_task/components/config/ds_config.dart @@ -1,3 +1,4 @@ +import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; import 'package:get/get.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/config/user_config.dart'; @@ -9,6 +10,7 @@ class DSConfig extends GetxController { /// The [isPractice] flag controls whether the practice or experimental should /// be presented and how to store the data. bool isPractice = true; + SessionType sessionType = SessionType.practice; DSConfig({required this.userConfig}); } From 75b799c235bf6876c0bee285a87bf2181d24ebc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 16:28:11 -0400 Subject: [PATCH 09/67] improve: Instantiate DSConfig in DataManager --- lib/src/digit_span_task/components/data/data_manager.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 05e0831..c6108fd 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -1,4 +1,5 @@ import 'package:cognitive_data/databases/in_memory_db.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/config/ds_config.dart'; import 'package:get/get.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_tasks_data.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/trial_data.dart'; @@ -9,6 +10,7 @@ import 'package:digit_span_tasks/src/digit_span_task/components/data/data_model. /// and exporting data. class DataManager extends GetxController { final InMemoryDB db = InMemoryDB(); + final DSConfig _config = Get.find(); DataModel practiceData = DataModel(); DataModel experimentalData = DataModel(); From b08523629a784f266c5628f6dd0341304e490c42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 16:29:34 -0400 Subject: [PATCH 10/67] doc: Add docstring to sessionType in DSConfig --- lib/src/digit_span_task/components/config/ds_config.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/digit_span_task/components/config/ds_config.dart b/lib/src/digit_span_task/components/config/ds_config.dart index f91ba6c..9c672e8 100644 --- a/lib/src/digit_span_task/components/config/ds_config.dart +++ b/lib/src/digit_span_task/components/config/ds_config.dart @@ -10,6 +10,9 @@ class DSConfig extends GetxController { /// The [isPractice] flag controls whether the practice or experimental should /// be presented and how to store the data. bool isPractice = true; + + /// Controls whether the practice or experimental should be presented and + /// how to manage the data. SessionType sessionType = SessionType.practice; DSConfig({required this.userConfig}); From bac1a726b08a950af698ae7c58cb7ee142b84073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 21:18:48 -0400 Subject: [PATCH 11/67] maint: Add files autom generated by flutter --- .dart_tool/package_config.json | 180 ++++++++-------- .dart_tool/package_config_subset | 360 +++++++++++++++---------------- 2 files changed, 270 insertions(+), 270 deletions(-) diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index a94e219..548cbc6 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -3,535 +3,535 @@ "packages": [ { "name": "_fe_analyzer_shared", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/_fe_analyzer_shared-47.0.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/_fe_analyzer_shared-47.0.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "analyzer", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/analyzer-4.7.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/analyzer-4.7.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "args", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/args-2.3.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/args-2.3.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "async", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/async-2.9.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/async-2.9.0", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "boolean_selector", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "characters", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "clock", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "cognitive_data", - "rootUri": "file:///Users/MBP/.pub-cache/git/cognitive_data-1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae/", + "rootUri": "file:///Users/mbp/.pub-cache/git/cognitive_data-1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae/", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "collection", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "convert", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/convert-3.1.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/convert-3.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "coverage", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/coverage-1.3.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/coverage-1.3.2", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "crypto", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "cupertino_icons", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "drift", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/drift-1.7.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/drift-1.7.1", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "fake_async", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "ffi", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/ffi-2.0.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/ffi-2.0.2", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "file", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/file-6.1.4", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/file-6.1.4", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "file_picker", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/file_picker-5.3.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/file_picker-5.3.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter", - "rootUri": "file:///Users/MBP/coding/tools/flutter/packages/flutter", + "rootUri": "file:///Users/mbp/coding/tools/flutter/packages/flutter", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_lints", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_plugin_android_lifecycle", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-2.0.14", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-2.0.14", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_test", - "rootUri": "file:///Users/MBP/coding/tools/flutter/packages/flutter_test", + "rootUri": "file:///Users/mbp/coding/tools/flutter/packages/flutter_test", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_web_plugins", - "rootUri": "file:///Users/MBP/coding/tools/flutter/packages/flutter_web_plugins", + "rootUri": "file:///Users/mbp/coding/tools/flutter/packages/flutter_web_plugins", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "frontend_server_client", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/frontend_server_client-2.1.3", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/frontend_server_client-2.1.3", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "get", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/get-4.6.5", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/get-4.6.5", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "glob", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/glob-2.1.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/glob-2.1.1", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "http_multi_server", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/http_multi_server-3.2.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/http_multi_server-3.2.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "http_parser", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "io", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/io-1.0.4", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/io-1.0.4", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "js", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/js-0.6.4", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/js-0.6.4", "packageUri": "lib/", "languageVersion": "2.16" }, { "name": "lints", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/lints-2.0.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/lints-2.0.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "logging", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "matcher", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.11", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.11", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "material_color_utilities", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5", "packageUri": "lib/", "languageVersion": "2.13" }, { "name": "meta", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "mime", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/mime-1.0.3", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/mime-1.0.3", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "node_preamble", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/node_preamble-2.0.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/node_preamble-2.0.2", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "package_config", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/package_config-2.1.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/package_config-2.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "path", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path-1.8.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path-1.8.2", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "path_provider", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.15", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.15", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "path_provider_android", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.27", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.27", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "path_provider_foundation", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_foundation-2.2.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_foundation-2.2.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "path_provider_linux", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.10", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.10", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "path_provider_platform_interface", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.6", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.6", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "path_provider_windows", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.6", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.6", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "permission_handler", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler-10.4.3", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler-10.4.3", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "permission_handler_android", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_android-10.3.3", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_android-10.3.3", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "permission_handler_apple", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_apple-9.1.4", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_apple-9.1.4", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "permission_handler_platform_interface", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_platform_interface-3.11.3", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_platform_interface-3.11.3", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "permission_handler_windows", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_windows-0.1.3", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_windows-0.1.3", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "platform", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "plugin_platform_interface", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.4", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.4", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "pool", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/pool-1.5.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/pool-1.5.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "process", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/process-4.2.4", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/process-4.2.4", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "pub_semver", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/pub_semver-2.1.4", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/pub_semver-2.1.4", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shared_preferences", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences-2.1.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences-2.1.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shared_preferences_android", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_android-2.1.4", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_android-2.1.4", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shared_preferences_foundation", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_foundation-2.2.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_foundation-2.2.2", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shared_preferences_linux", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_linux-2.2.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_linux-2.2.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shared_preferences_platform_interface", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_platform_interface-2.2.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_platform_interface-2.2.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shared_preferences_web", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-2.1.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-2.1.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shared_preferences_windows", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-2.2.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-2.2.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shelf", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf-1.4.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf-1.4.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shelf_packages_handler", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf_packages_handler-3.0.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf_packages_handler-3.0.2", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shelf_static", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf_static-1.1.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf_static-1.1.2", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "shelf_web_socket", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf_web_socket-1.0.4", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf_web_socket-1.0.4", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "sky_engine", - "rootUri": "file:///Users/MBP/coding/tools/flutter/bin/cache/pkg/sky_engine", + "rootUri": "file:///Users/mbp/coding/tools/flutter/bin/cache/pkg/sky_engine", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "source_map_stack_trace", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_map_stack_trace-2.1.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/source_map_stack_trace-2.1.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "source_maps", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_maps-0.10.10", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/source_maps-0.10.10", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "source_span", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "sqlite3", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3-1.8.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/sqlite3-1.8.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "sqlite3_flutter_libs", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3_flutter_libs-0.5.20", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/sqlite3_flutter_libs-0.5.20", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "stack_trace", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "stimuli", - "rootUri": "file:///Users/MBP/.pub-cache/git/stimuli-9a7231c7fe6d7f80fc8fb8455e8a68cb69b40815/", + "rootUri": "file:///Users/mbp/.pub-cache/git/stimuli-9a7231c7fe6d7f80fc8fb8455e8a68cb69b40815/", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "stream_channel", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "string_scanner", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "term_glyph", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "test", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/test-1.21.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/test-1.21.1", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "test_api", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.9", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.9", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "test_core", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/test_core-0.4.13", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/test_core-0.4.13", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "typed_data", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.2", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "vector_math", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "vm_service", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/vm_service-8.3.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/vm_service-8.3.0", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "watcher", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/watcher-1.0.2", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/watcher-1.0.2", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "web_socket_channel", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/web_socket_channel-2.4.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/web_socket_channel-2.4.0", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "webkit_inspection_protocol", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/webkit_inspection_protocol-1.2.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/webkit_inspection_protocol-1.2.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "win32", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/win32-4.1.4", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/win32-4.1.4", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "xdg_directories", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/xdg_directories-1.0.0", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/xdg_directories-1.0.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "yaml", - "rootUri": "file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/yaml-3.1.1", + "rootUri": "file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/yaml-3.1.1", "packageUri": "lib/", "languageVersion": "2.12" }, @@ -542,7 +542,7 @@ "languageVersion": "2.17" } ], - "generated": "2024-02-23T14:33:41.659100Z", + "generated": "2024-02-25T01:18:37.345614Z", "generator": "pub", "generatorVersion": "2.18.0-216.0.dev" } diff --git a/.dart_tool/package_config_subset b/.dart_tool/package_config_subset index cb1c1f7..ddc6989 100644 --- a/.dart_tool/package_config_subset +++ b/.dart_tool/package_config_subset @@ -1,361 +1,361 @@ cognitive_data 2.18 -file:///Users/MBP/.pub-cache/git/cognitive_data-1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae/ -file:///Users/MBP/.pub-cache/git/cognitive_data-1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae/lib/ +file:///Users/mbp/.pub-cache/git/cognitive_data-1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae/ +file:///Users/mbp/.pub-cache/git/cognitive_data-1ccab9a918c15db74a7b8b35aa7bc5d0079a31ae/lib/ stimuli 2.18 -file:///Users/MBP/.pub-cache/git/stimuli-9a7231c7fe6d7f80fc8fb8455e8a68cb69b40815/ -file:///Users/MBP/.pub-cache/git/stimuli-9a7231c7fe6d7f80fc8fb8455e8a68cb69b40815/lib/ +file:///Users/mbp/.pub-cache/git/stimuli-9a7231c7fe6d7f80fc8fb8455e8a68cb69b40815/ +file:///Users/mbp/.pub-cache/git/stimuli-9a7231c7fe6d7f80fc8fb8455e8a68cb69b40815/lib/ _fe_analyzer_shared 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/_fe_analyzer_shared-47.0.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/_fe_analyzer_shared-47.0.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/_fe_analyzer_shared-47.0.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/_fe_analyzer_shared-47.0.0/lib/ analyzer 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/analyzer-4.7.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/analyzer-4.7.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/analyzer-4.7.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/analyzer-4.7.0/lib/ args 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/args-2.3.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/args-2.3.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/args-2.3.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/args-2.3.1/lib/ async 2.14 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/async-2.9.0/lib/ boolean_selector 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/boolean_selector-2.1.0/lib/ characters 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/characters-1.2.1/lib/ clock 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/clock-1.1.1/lib/ collection 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/collection-1.16.0/lib/ convert 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/convert-3.1.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/convert-3.1.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/convert-3.1.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/convert-3.1.0/lib/ coverage 2.15 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/coverage-1.3.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/coverage-1.3.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/coverage-1.3.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/coverage-1.3.2/lib/ crypto 2.14 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/crypto-3.0.2/lib/ cupertino_icons 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/cupertino_icons-1.0.5/lib/ drift 2.15 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/drift-1.7.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/drift-1.7.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/drift-1.7.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/drift-1.7.1/lib/ fake_async 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/fake_async-1.3.1/lib/ ffi 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/ffi-2.0.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/ffi-2.0.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/ffi-2.0.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/ffi-2.0.2/lib/ file 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/file-6.1.4/lib/ file_picker 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/file_picker-5.3.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/file_picker-5.3.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/file_picker-5.3.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/file_picker-5.3.1/lib/ flutter_lints 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/flutter_lints-2.0.1/lib/ flutter_plugin_android_lifecycle 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-2.0.14/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-2.0.14/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-2.0.14/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/flutter_plugin_android_lifecycle-2.0.14/lib/ frontend_server_client 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/frontend_server_client-2.1.3/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/frontend_server_client-2.1.3/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/frontend_server_client-2.1.3/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/frontend_server_client-2.1.3/lib/ get 2.15 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/get-4.6.5/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/get-4.6.5/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/get-4.6.5/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/get-4.6.5/lib/ glob 2.15 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/glob-2.1.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/glob-2.1.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/glob-2.1.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/glob-2.1.1/lib/ http_multi_server 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/http_multi_server-3.2.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/http_multi_server-3.2.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/http_multi_server-3.2.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/http_multi_server-3.2.1/lib/ http_parser 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/http_parser-4.0.2/lib/ io 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/io-1.0.4/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/io-1.0.4/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/io-1.0.4/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/io-1.0.4/lib/ js 2.16 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/js-0.6.4/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/js-0.6.4/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/js-0.6.4/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/js-0.6.4/lib/ lints 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/lints-2.0.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/lints-2.0.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/lints-2.0.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/lints-2.0.1/lib/ logging 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/logging-1.1.0/lib/ matcher 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.11/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.11/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.11/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/matcher-0.12.11/lib/ material_color_utilities 2.13 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/material_color_utilities-0.1.5/lib/ meta 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/meta-1.8.0/lib/ mime 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/mime-1.0.3/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/mime-1.0.3/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/mime-1.0.3/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/mime-1.0.3/lib/ node_preamble 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/node_preamble-2.0.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/node_preamble-2.0.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/node_preamble-2.0.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/node_preamble-2.0.2/lib/ package_config 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/package_config-2.1.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/package_config-2.1.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/package_config-2.1.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/package_config-2.1.0/lib/ path 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path-1.8.2/lib/ path_provider 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.15/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.15/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.15/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider-2.0.15/lib/ path_provider_android 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.27/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.27/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.27/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_android-2.0.27/lib/ path_provider_foundation 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_foundation-2.2.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_foundation-2.2.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_foundation-2.2.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_foundation-2.2.1/lib/ path_provider_linux 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.10/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.10/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.10/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_linux-2.1.10/lib/ path_provider_platform_interface 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.6/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.6/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.6/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_platform_interface-2.0.6/lib/ path_provider_windows 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.6/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.6/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.6/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/path_provider_windows-2.1.6/lib/ permission_handler 2.15 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler-10.4.3/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler-10.4.3/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler-10.4.3/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler-10.4.3/lib/ permission_handler_android 2.15 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_android-10.3.3/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_android-10.3.3/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_android-10.3.3/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_android-10.3.3/lib/ permission_handler_apple 2.15 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_apple-9.1.4/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_apple-9.1.4/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_apple-9.1.4/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_apple-9.1.4/lib/ permission_handler_platform_interface 2.14 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_platform_interface-3.11.3/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_platform_interface-3.11.3/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_platform_interface-3.11.3/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_platform_interface-3.11.3/lib/ permission_handler_windows 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_windows-0.1.3/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/permission_handler_windows-0.1.3/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_windows-0.1.3/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/permission_handler_windows-0.1.3/lib/ platform 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/platform-3.1.0/lib/ plugin_platform_interface 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.4/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.4/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.4/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/plugin_platform_interface-2.1.4/lib/ pool 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/pool-1.5.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/pool-1.5.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/pool-1.5.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/pool-1.5.1/lib/ process 2.14 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/process-4.2.4/lib/ pub_semver 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/pub_semver-2.1.4/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/pub_semver-2.1.4/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/pub_semver-2.1.4/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/pub_semver-2.1.4/lib/ shared_preferences 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences-2.1.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences-2.1.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences-2.1.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences-2.1.1/lib/ shared_preferences_android 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_android-2.1.4/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_android-2.1.4/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_android-2.1.4/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_android-2.1.4/lib/ shared_preferences_foundation 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_foundation-2.2.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_foundation-2.2.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_foundation-2.2.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_foundation-2.2.2/lib/ shared_preferences_linux 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_linux-2.2.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_linux-2.2.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_linux-2.2.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_linux-2.2.0/lib/ shared_preferences_platform_interface 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_platform_interface-2.2.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_platform_interface-2.2.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_platform_interface-2.2.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_platform_interface-2.2.0/lib/ shared_preferences_web 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-2.1.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-2.1.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-2.1.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-2.1.0/lib/ shared_preferences_windows 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-2.2.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-2.2.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-2.2.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shared_preferences_windows-2.2.0/lib/ shelf 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf-1.4.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf-1.4.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf-1.4.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf-1.4.1/lib/ shelf_packages_handler 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf_packages_handler-3.0.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf_packages_handler-3.0.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf_packages_handler-3.0.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf_packages_handler-3.0.2/lib/ shelf_static 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf_static-1.1.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf_static-1.1.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf_static-1.1.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf_static-1.1.2/lib/ shelf_web_socket 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf_web_socket-1.0.4/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/shelf_web_socket-1.0.4/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf_web_socket-1.0.4/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/shelf_web_socket-1.0.4/lib/ source_map_stack_trace 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_map_stack_trace-2.1.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_map_stack_trace-2.1.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/source_map_stack_trace-2.1.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/source_map_stack_trace-2.1.1/lib/ source_maps 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_maps-0.10.10/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_maps-0.10.10/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/source_maps-0.10.10/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/source_maps-0.10.10/lib/ source_span 2.14 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/source_span-1.9.0/lib/ sqlite3 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3-1.8.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3-1.8.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/sqlite3-1.8.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/sqlite3-1.8.0/lib/ sqlite3_flutter_libs 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3_flutter_libs-0.5.20/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/sqlite3_flutter_libs-0.5.20/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/sqlite3_flutter_libs-0.5.20/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/sqlite3_flutter_libs-0.5.20/lib/ stack_trace 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/stack_trace-1.10.0/lib/ stream_channel 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/stream_channel-2.1.0/lib/ string_scanner 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/string_scanner-1.1.1/lib/ term_glyph 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/term_glyph-1.2.1/lib/ test 2.14 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/test-1.21.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/test-1.21.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/test-1.21.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/test-1.21.1/lib/ test_api 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.9/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.9/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.9/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/test_api-0.4.9/lib/ test_core 2.14 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/test_core-0.4.13/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/test_core-0.4.13/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/test_core-0.4.13/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/test_core-0.4.13/lib/ typed_data 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/typed_data-1.3.2/lib/ vector_math 2.14 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/vector_math-2.1.2/lib/ vm_service 2.15 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/vm_service-8.3.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/vm_service-8.3.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/vm_service-8.3.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/vm_service-8.3.0/lib/ watcher 2.14 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/watcher-1.0.2/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/watcher-1.0.2/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/watcher-1.0.2/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/watcher-1.0.2/lib/ web_socket_channel 2.15 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/web_socket_channel-2.4.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/web_socket_channel-2.4.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/web_socket_channel-2.4.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/web_socket_channel-2.4.0/lib/ webkit_inspection_protocol 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/webkit_inspection_protocol-1.2.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/webkit_inspection_protocol-1.2.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/webkit_inspection_protocol-1.2.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/webkit_inspection_protocol-1.2.0/lib/ win32 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/win32-4.1.4/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/win32-4.1.4/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/win32-4.1.4/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/win32-4.1.4/lib/ xdg_directories 2.17 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/xdg_directories-1.0.0/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/xdg_directories-1.0.0/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/xdg_directories-1.0.0/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/xdg_directories-1.0.0/lib/ yaml 2.12 -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/yaml-3.1.1/ -file:///Users/MBP/.pub-cache/hosted/pub.dartlang.org/yaml-3.1.1/lib/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/yaml-3.1.1/ +file:///Users/mbp/.pub-cache/hosted/pub.dartlang.org/yaml-3.1.1/lib/ digit_span_tasks 2.17 -file:///Users/MBP/coding/digit_span_tasks/ -file:///Users/MBP/coding/digit_span_tasks/lib/ +file:///Users/mbp/Library/CloudStorage/OneDrive-Personal/coding/digit_span_tasks/ +file:///Users/mbp/Library/CloudStorage/OneDrive-Personal/coding/digit_span_tasks/lib/ sky_engine 2.12 -file:///Users/MBP/coding/tools/flutter/bin/cache/pkg/sky_engine/ -file:///Users/MBP/coding/tools/flutter/bin/cache/pkg/sky_engine/lib/ +file:///Users/mbp/coding/tools/flutter/bin/cache/pkg/sky_engine/ +file:///Users/mbp/coding/tools/flutter/bin/cache/pkg/sky_engine/lib/ flutter 2.17 -file:///Users/MBP/coding/tools/flutter/packages/flutter/ -file:///Users/MBP/coding/tools/flutter/packages/flutter/lib/ +file:///Users/mbp/coding/tools/flutter/packages/flutter/ +file:///Users/mbp/coding/tools/flutter/packages/flutter/lib/ flutter_test 2.17 -file:///Users/MBP/coding/tools/flutter/packages/flutter_test/ -file:///Users/MBP/coding/tools/flutter/packages/flutter_test/lib/ +file:///Users/mbp/coding/tools/flutter/packages/flutter_test/ +file:///Users/mbp/coding/tools/flutter/packages/flutter_test/lib/ flutter_web_plugins 2.17 -file:///Users/MBP/coding/tools/flutter/packages/flutter_web_plugins/ -file:///Users/MBP/coding/tools/flutter/packages/flutter_web_plugins/lib/ +file:///Users/mbp/coding/tools/flutter/packages/flutter_web_plugins/ +file:///Users/mbp/coding/tools/flutter/packages/flutter_web_plugins/lib/ 2 From 865179b1e100dc5b4570856df39cb6abe2d0919c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 16:44:47 -0400 Subject: [PATCH 12/67] refactor: Define participantID in example --- example/lib/main.dart | 2 ++ 1 file changed, 2 insertions(+) diff --git a/example/lib/main.dart b/example/lib/main.dart index a20f7d1..947d09e 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -23,6 +23,8 @@ class MyApp extends StatelessWidget { class MyHomePage extends StatefulWidget { const MyHomePage({super.key}); + final String participantID = '101'; + @override State createState() => _MyHomePageState(); } From f8c63d938ca98e149f5507795809fe7ef1de273e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 21:25:17 -0400 Subject: [PATCH 13/67] refactor: Define sessionID in example --- example/lib/main.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/example/lib/main.dart b/example/lib/main.dart index 947d09e..d729f97 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -24,6 +24,7 @@ class MyHomePage extends StatefulWidget { const MyHomePage({super.key}); final String participantID = '101'; + final String sessionID = '001'; @override State createState() => _MyHomePageState(); From 3198046bd925493d6268cc773961e00ea3b54d6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 16:42:41 -0400 Subject: [PATCH 14/67] refactor(forward): Use participantID to run task refactor(forward): Use participantID in runDigitSpanForward refactor(forward): Add param participantID runDigitSpanForward refactor(forward): Pass participantID runDigitSpanForward --- example/lib/main.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index d729f97..18f2fcd 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -39,7 +39,8 @@ class _MyHomePageState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ ElevatedButton( - onPressed: runDigitSpanForward, + onPressed: () => + runDigitSpanForward(participantID: widget.participantID), child: Text( 'Digit Span Forward', style: Theme.of(context).textTheme.titleLarge, @@ -60,10 +61,11 @@ class _MyHomePageState extends State { ); } - void runDigitSpanForward() async { + void runDigitSpanForward({required String participantID}) async { UserConfig config = UserConfig( stimListPractice: ['01', '234'], stimListExperimental: ['5678', '01567', '987654'], + participantID: participantID, ); DigitSpanTasksData data = await Get.to(() => DigitSpanForward( config: config, From 79456a38158b397fb150e92b07fabc328e15aa89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 21:21:38 -0400 Subject: [PATCH 15/67] refactor(forward): Use sessionID to run task refactor(forward): Pass sessionID config runDigitSpanForward refactor(forward): Require sessionID in runDigitSpanForward refactor(forward): Pass sessionID to runDigitSpanForward --- example/lib/main.dart | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 18f2fcd..0646786 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -39,8 +39,10 @@ class _MyHomePageState extends State { mainAxisAlignment: MainAxisAlignment.center, children: [ ElevatedButton( - onPressed: () => - runDigitSpanForward(participantID: widget.participantID), + onPressed: () => runDigitSpanForward( + participantID: widget.participantID, + sessionID: widget.sessionID, + ), child: Text( 'Digit Span Forward', style: Theme.of(context).textTheme.titleLarge, @@ -61,11 +63,15 @@ class _MyHomePageState extends State { ); } - void runDigitSpanForward({required String participantID}) async { + void runDigitSpanForward({ + required String participantID, + required String sessionID, + }) async { UserConfig config = UserConfig( stimListPractice: ['01', '234'], stimListExperimental: ['5678', '01567', '987654'], participantID: participantID, + sessionID: sessionID, ); DigitSpanTasksData data = await Get.to(() => DigitSpanForward( config: config, From 50d18f295bb73f6329da2ef692fc0aa6345f4bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 21:26:24 -0400 Subject: [PATCH 16/67] refactor(backwards): Use participantID to run task refactor(backwards): Pass participantID to config refactor(backwards): Require participantID to run refactor(backwards): Pass participantID to runDigitSpanBackwards --- example/lib/main.dart | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 0646786..f86a2bd 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -50,7 +50,9 @@ class _MyHomePageState extends State { ), const SizedBox(height: 10), ElevatedButton( - onPressed: runDigitSpanBackwards, + onPressed: () => runDigitSpanBackwards( + participantID: widget.participantID, + ), child: Text( 'Digit Span Backwards', style: Theme.of(context).textTheme.titleLarge, @@ -80,10 +82,11 @@ class _MyHomePageState extends State { print('\n\n\nFORWARD data \n $data'); } - void runDigitSpanBackwards() async { + void runDigitSpanBackwards({required String participantID}) async { UserConfig config = UserConfig( stimListPractice: ['23', '567'], stimListExperimental: ['0123', '45678', '901234'], + participantID: participantID, ); DigitSpanTasksData data = await Get.to(() => DigitSpanBackwards( config: config, From fda607d9354c2764d5d44d2baa4ae62df3c7409c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 24 Feb 2024 21:30:18 -0400 Subject: [PATCH 17/67] refactor(backwards): Use sessionID to run task refactor(backwards): Pass sessionID to config refactor(backwards): Require sessionID run refactor(backwards): Pass sessionID runDigitSpanBackwards --- example/lib/main.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index f86a2bd..5311e78 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -52,6 +52,7 @@ class _MyHomePageState extends State { ElevatedButton( onPressed: () => runDigitSpanBackwards( participantID: widget.participantID, + sessionID: widget.sessionID, ), child: Text( 'Digit Span Backwards', @@ -82,11 +83,15 @@ class _MyHomePageState extends State { print('\n\n\nFORWARD data \n $data'); } - void runDigitSpanBackwards({required String participantID}) async { + void runDigitSpanBackwards({ + required String participantID, + required String sessionID, + }) async { UserConfig config = UserConfig( stimListPractice: ['23', '567'], stimListExperimental: ['0123', '45678', '901234'], participantID: participantID, + sessionID: sessionID, ); DigitSpanTasksData data = await Get.to(() => DigitSpanBackwards( config: config, From cffd71582402b38790e7e0bd011903f36727b74e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sun, 25 Feb 2024 11:12:50 -0400 Subject: [PATCH 18/67] refactor: Implement startTime as field in manager refactor: Implement startTime as field in manager improve: Define startTime field in manager refactor: Fix setting startTime refactor: Make startTime private Can be squashed into previous commits --- lib/src/digit_span_task/components/activity/activity_view.dart | 2 +- lib/src/digit_span_task/components/data/data_manager.dart | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/digit_span_task/components/activity/activity_view.dart b/lib/src/digit_span_task/components/activity/activity_view.dart index 3cff41a..13bf201 100644 --- a/lib/src/digit_span_task/components/activity/activity_view.dart +++ b/lib/src/digit_span_task/components/activity/activity_view.dart @@ -20,7 +20,7 @@ class ActivityView extends StatelessWidget { @override Widget build(BuildContext context) { - data.addStartTime(_config.isPractice); + data.startTime = DateTime.now(); return Obx(() { switch (mDigits.taskStep.value) { case TaskStep.instructions: diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index c6108fd..554b00b 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -11,6 +11,7 @@ import 'package:digit_span_tasks/src/digit_span_task/components/data/data_model. class DataManager extends GetxController { final InMemoryDB db = InMemoryDB(); final DSConfig _config = Get.find(); + late final DateTime _startTime; DataModel practiceData = DataModel(); DataModel experimentalData = DataModel(); From 750329a23e36481c8c165726461c019feea44db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sun, 25 Feb 2024 11:20:24 -0400 Subject: [PATCH 19/67] refactor: Remove addStartTime method startTime will be set directly on the field. --- lib/src/digit_span_task/components/data/data_manager.dart | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 554b00b..0c042e1 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -30,13 +30,6 @@ class DataManager extends GetxController { data.trialData.add(trialData); } - /// Adds the time at which the session started for the current - /// phase (practice or experimental) based on the [isPractice] flag. - void addStartTime(bool isPractice) { - DataModel data = getData(isPractice); - data.sessionData.startTime = DateTime.now(); - } - /// Adds the time at which the session ended for the current /// phase (practice or experimental) based on the [isPractice] flag. void addEndTime(bool isPractice) { From fe5bc4538f5cc48e7eea891ee1109d1734dd794d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sun, 25 Feb 2024 11:46:45 -0400 Subject: [PATCH 20/67] refactor: Implement setter for startTime refactor: Implement setter for startTime refactor: Use new startTime setter --- lib/src/digit_span_task/components/data/data_manager.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 0c042e1..216397f 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -30,6 +30,12 @@ class DataManager extends GetxController { data.trialData.add(trialData); } + set startTime(DateTime time) { + if (_config.isPractice) { + _startTime = time; + } + } + /// Adds the time at which the session ended for the current /// phase (practice or experimental) based on the [isPractice] flag. void addEndTime(bool isPractice) { From 6c71045fc32d1bfea433d5c366f6a61c580a42e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sun, 25 Feb 2024 12:13:09 -0400 Subject: [PATCH 21/67] doc: Add docstring to startTime setter --- lib/src/digit_span_task/components/data/data_manager.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 216397f..e8c46be 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -30,6 +30,10 @@ class DataManager extends GetxController { data.trialData.add(trialData); } + /// Sets the start time for the session, but only if this is a practice phase. + /// Practice and experimental phases are considered part of the same session + /// so the start time for the practice phase is considered the beginning of + /// the session. set startTime(DateTime time) { if (_config.isPractice) { _startTime = time; From 33e5fa97d5f32ca2d107df3103a3327ab09516d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sun, 25 Feb 2024 11:18:49 -0400 Subject: [PATCH 22/67] improve: Implement endTime as field in manager improve: Implement endTime as field in manager improve: Implement endTime as field in manager improve: Implement endTime as field in manager improve: Define endTime field in manager refactor: Fix setting endTime refactor: Make endTime private maint: Remove empty lines lint: Remove empty line --- .../components/activity/activity_controller.dart | 2 +- lib/src/digit_span_task/components/data/data_manager.dart | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/digit_span_task/components/activity/activity_controller.dart b/lib/src/digit_span_task/components/activity/activity_controller.dart index 2d5923b..301369c 100644 --- a/lib/src/digit_span_task/components/activity/activity_controller.dart +++ b/lib/src/digit_span_task/components/activity/activity_controller.dart @@ -47,7 +47,7 @@ class ActivityController extends GetxController { } Future endSession() async { - _data.addEndTime(_config.isPractice); + _data.endTime = DateTime.now(); await reset(); Get.back(); } diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index e8c46be..d56bd75 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -12,6 +12,7 @@ class DataManager extends GetxController { final InMemoryDB db = InMemoryDB(); final DSConfig _config = Get.find(); late final DateTime _startTime; + late final DateTime _endTime; DataModel practiceData = DataModel(); DataModel experimentalData = DataModel(); From 6621b6ed6b8fbbe561fc9dde5d27c51afd442753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sun, 25 Feb 2024 11:21:38 -0400 Subject: [PATCH 23/67] refactor: Remove addEndTime method endTime will be set directly in the field. --- lib/src/digit_span_task/components/data/data_manager.dart | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index d56bd75..88bf90a 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -41,13 +41,6 @@ class DataManager extends GetxController { } } - /// Adds the time at which the session ended for the current - /// phase (practice or experimental) based on the [isPractice] flag. - void addEndTime(bool isPractice) { - DataModel data = getData(isPractice); - data.sessionData.endTime = DateTime.now(); - } - /// Exports the data collected during the session. /// Returns a custom object named [DigitSpanTasksData] that includes data for the /// practice and experimental phase. From 276bf236ac56195cc101209c4bedac35d926ae25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sun, 25 Feb 2024 12:01:01 -0400 Subject: [PATCH 24/67] refactor: Implement setter for endTime refactor: Implement setter for endTime refactor: Use new endTime setter --- lib/src/digit_span_task/components/data/data_manager.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 88bf90a..1a391bf 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -41,6 +41,12 @@ class DataManager extends GetxController { } } + set endTime(DateTime time) { + if (!_config.isPractice) { + _endTime = DateTime.now(); + } + } + /// Exports the data collected during the session. /// Returns a custom object named [DigitSpanTasksData] that includes data for the /// practice and experimental phase. From 4c7ef88928c4f407356d558469f368216f7ea796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sun, 25 Feb 2024 12:13:30 -0400 Subject: [PATCH 25/67] doc: Add docstring to endTime setter --- lib/src/digit_span_task/components/data/data_manager.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 1a391bf..1653b3b 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -41,6 +41,10 @@ class DataManager extends GetxController { } } + /// Sets the end time for the session, but only if this is a experimental + /// phase. Practice and experimental phases are considered part of the same + /// session so the end time for the experimental phase is considered the + /// end of the session. set endTime(DateTime time) { if (!_config.isPractice) { _endTime = DateTime.now(); From 1fb9f7c3e64bed9656621d3327eb349bd76cc268 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 08:58:31 -0400 Subject: [PATCH 26/67] refactor: Remove isPractice flag definition --- lib/src/digit_span_task/components/config/ds_config.dart | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/src/digit_span_task/components/config/ds_config.dart b/lib/src/digit_span_task/components/config/ds_config.dart index 9c672e8..4476955 100644 --- a/lib/src/digit_span_task/components/config/ds_config.dart +++ b/lib/src/digit_span_task/components/config/ds_config.dart @@ -7,10 +7,6 @@ import 'package:digit_span_tasks/src/digit_span_task/components/config/user_conf class DSConfig extends GetxController { final UserConfig userConfig; - /// The [isPractice] flag controls whether the practice or experimental should - /// be presented and how to store the data. - bool isPractice = true; - /// Controls whether the practice or experimental should be presented and /// how to manage the data. SessionType sessionType = SessionType.practice; From 1f36cbb092d9f8380ead5d009ffb6c587286b047 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 09:03:36 -0400 Subject: [PATCH 27/67] refactor: Remove unneeded refs to isPractice --- lib/src/digit_span_task/components/data/data_manager.dart | 1 - .../digit_span_task/components/response/response_controller.dart | 1 - 2 files changed, 2 deletions(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 1653b3b..1e3f228 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -21,7 +21,6 @@ class DataManager extends GetxController { void addTrialData({ required String stim, required String resp, - required bool isPractice, }) { TrialData trialData = TrialData( stim: stim, diff --git a/lib/src/digit_span_task/components/response/response_controller.dart b/lib/src/digit_span_task/components/response/response_controller.dart index 43d1cc6..d303a3c 100644 --- a/lib/src/digit_span_task/components/response/response_controller.dart +++ b/lib/src/digit_span_task/components/response/response_controller.dart @@ -26,7 +26,6 @@ class ResponseController extends GetxController { _data.addTrialData( stim: _stim.stim.currentStim, resp: response, - isPractice: _config.isPractice, ); textController.clear(); From 0e98a71f0b644ffa53636bbe9d2cf5ba6a9b443b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 09:04:51 -0400 Subject: [PATCH 28/67] refactor: Use SessionType when resetting task --- .../components/activity/activity_controller.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/digit_span_task/components/activity/activity_controller.dart b/lib/src/digit_span_task/components/activity/activity_controller.dart index 301369c..54f4cea 100644 --- a/lib/src/digit_span_task/components/activity/activity_controller.dart +++ b/lib/src/digit_span_task/components/activity/activity_controller.dart @@ -1,3 +1,4 @@ +import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; import 'package:get/get.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/data_manager.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/activity/task_step.dart'; @@ -55,6 +56,6 @@ class ActivityController extends GetxController { /// Resets the important settings so another session can be run. Future reset() async { taskStep(TaskStep.instructions); - _config.isPractice = true; + _config.sessionType = SessionType.practice; } } From 074c1777e05a1df067473057807b68cf2a7d90d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 09:05:59 -0400 Subject: [PATCH 29/67] refactor: Use SessionType in startTime setter --- lib/src/digit_span_task/components/data/data_manager.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 1e3f228..8c0e02e 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -1,5 +1,6 @@ import 'package:cognitive_data/databases/in_memory_db.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/config/ds_config.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; import 'package:get/get.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_tasks_data.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/trial_data.dart'; @@ -35,7 +36,7 @@ class DataManager extends GetxController { /// so the start time for the practice phase is considered the beginning of /// the session. set startTime(DateTime time) { - if (_config.isPractice) { + if (_config.sessionType == SessionType.practice) { _startTime = time; } } From b9e4f1346a05eed88db3e74f38f20a16463488db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 09:07:45 -0400 Subject: [PATCH 30/67] refactor: Use SessionType in endTime setter --- lib/src/digit_span_task/components/data/data_manager.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 8c0e02e..3c11e22 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -46,7 +46,7 @@ class DataManager extends GetxController { /// session so the end time for the experimental phase is considered the /// end of the session. set endTime(DateTime time) { - if (!_config.isPractice) { + if (_config.sessionType == SessionType.experimental) { _endTime = DateTime.now(); } } From 7c62d566a0e703bdac138a75116e8b03100ab516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 09:09:03 -0400 Subject: [PATCH 31/67] refactor: Use SessionType in general activity --- lib/src/digit_span_task/digit_span_tasks_activity.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/digit_span_task/digit_span_tasks_activity.dart b/lib/src/digit_span_task/digit_span_tasks_activity.dart index aa553ac..54bd6df 100644 --- a/lib/src/digit_span_task/digit_span_tasks_activity.dart +++ b/lib/src/digit_span_task/digit_span_tasks_activity.dart @@ -1,3 +1,4 @@ +import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/instructions/instructions_model.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -37,7 +38,7 @@ class DigitSpanTasksActivity extends StatelessWidget { onPressed: () async { await Get.to(() => InstructionsPractice()); await Get.to(() => ActivityView()); - _config.isPractice = false; + _config.sessionType = SessionType.experimental; await Get.to(() => InstructionsExperimental()); await Get.to(() => ActivityView()); From 864aea2aacef46ac0e8e6aec4c179b22f509c5d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 09:11:44 -0400 Subject: [PATCH 32/67] refactor: Use SessionType to get stim --- .../components/stim/stim_controller.dart | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/src/digit_span_task/components/stim/stim_controller.dart b/lib/src/digit_span_task/components/stim/stim_controller.dart index 3d04bdb..a833481 100644 --- a/lib/src/digit_span_task/components/stim/stim_controller.dart +++ b/lib/src/digit_span_task/components/stim/stim_controller.dart @@ -1,3 +1,4 @@ +import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; import 'package:get/get.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/activity/activity_controller.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/errors/errors.dart'; @@ -66,10 +67,14 @@ class StimController extends GetxController { } /// Returns the [_stimPractice] or [_stimExperimental] depending on the - /// [_config.isPractice] flag + /// [SessionType] flag Stimuli get stim { - Stimuli stim = - _config.isPractice == true ? _stimPractice : _stimExperimental; + Stimuli stim; + if (_config.sessionType == SessionType.practice) { + stim = _stimPractice; + } else { + stim = _stimExperimental; + } return stim; } } From b4911b9b3eae8fb065f5c6217722d14b72c16bbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 09:17:44 -0400 Subject: [PATCH 33/67] refactor: Remove getData(), not needed --- lib/src/digit_span_task/components/data/data_manager.dart | 7 ------- 1 file changed, 7 deletions(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 3c11e22..60b774b 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -62,11 +62,4 @@ class DataManager extends GetxController { return data; } - - /// Returns the data for the current phase (practice or experimental) based on - /// the [isPractice] flag. - DataModel getData(bool isPractice) { - DataModel data = isPractice == true ? practiceData : experimentalData; - return data; - } } From 2414e0473f3630de792e71c0e2f705662f8b6b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 10:00:35 -0400 Subject: [PATCH 34/67] refactor: Rename exceptions dir refactor: Rename exceptions dir refactor: Rename exceptions dir Can be squashed into previous commits --- .../components/{errors => exceptions}/error_view.dart | 2 +- .../components/{errors => exceptions}/errors.dart | 0 lib/src/digit_span_task/components/stim/stim_controller.dart | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename lib/src/digit_span_task/components/{errors => exceptions}/error_view.dart (97%) rename lib/src/digit_span_task/components/{errors => exceptions}/errors.dart (100%) diff --git a/lib/src/digit_span_task/components/errors/error_view.dart b/lib/src/digit_span_task/components/exceptions/error_view.dart similarity index 97% rename from lib/src/digit_span_task/components/errors/error_view.dart rename to lib/src/digit_span_task/components/exceptions/error_view.dart index 477f3da..4b10dd1 100644 --- a/lib/src/digit_span_task/components/errors/error_view.dart +++ b/lib/src/digit_span_task/components/exceptions/error_view.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/ui_components/default_text.dart'; -import 'package:digit_span_tasks/src/digit_span_task/components/errors/errors.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/exceptions/errors.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/ui_components/screen.dart'; /// Present error screen to participant diff --git a/lib/src/digit_span_task/components/errors/errors.dart b/lib/src/digit_span_task/components/exceptions/errors.dart similarity index 100% rename from lib/src/digit_span_task/components/errors/errors.dart rename to lib/src/digit_span_task/components/exceptions/errors.dart diff --git a/lib/src/digit_span_task/components/stim/stim_controller.dart b/lib/src/digit_span_task/components/stim/stim_controller.dart index a833481..2765998 100644 --- a/lib/src/digit_span_task/components/stim/stim_controller.dart +++ b/lib/src/digit_span_task/components/stim/stim_controller.dart @@ -1,7 +1,7 @@ import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; import 'package:get/get.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/activity/activity_controller.dart'; -import 'package:digit_span_tasks/src/digit_span_task/components/errors/errors.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/exceptions/errors.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/activity/task_step.dart'; import 'package:stimuli/errors.dart'; import 'package:stimuli/stimuli.dart'; From 7a804121c868e29df84fefae139ef1a7a3770de6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 10:06:26 -0400 Subject: [PATCH 35/67] improve: Define sessiontype_conversion_exception --- .../exceptions/sessiontype_conversion_exception.dart | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 lib/src/digit_span_task/components/exceptions/sessiontype_conversion_exception.dart diff --git a/lib/src/digit_span_task/components/exceptions/sessiontype_conversion_exception.dart b/lib/src/digit_span_task/components/exceptions/sessiontype_conversion_exception.dart new file mode 100644 index 0000000..7dbdc8c --- /dev/null +++ b/lib/src/digit_span_task/components/exceptions/sessiontype_conversion_exception.dart @@ -0,0 +1,9 @@ +class DSTSessionTypeConversionException implements Exception { + String message = + "There is no map from SessionType to TrialType for the value provided"; + + @override + String toString() { + return message; + } +} From bcf47546af595bae9e4ea2209366a2720551921c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Mon, 26 Feb 2024 10:11:24 -0400 Subject: [PATCH 36/67] improve: Define a Session to Trial type map --- .../components/config/session_trial_type_map.dart | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 lib/src/digit_span_task/components/config/session_trial_type_map.dart diff --git a/lib/src/digit_span_task/components/config/session_trial_type_map.dart b/lib/src/digit_span_task/components/config/session_trial_type_map.dart new file mode 100644 index 0000000..e716e4a --- /dev/null +++ b/lib/src/digit_span_task/components/config/session_trial_type_map.dart @@ -0,0 +1,7 @@ +import 'package:cognitive_data/models/trial_type.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; + +const Map sessionToTrialTypeMap = { + SessionType.practice: TrialType.practice, + SessionType.experimental: TrialType.experimental, +}; From f35ab0dabe22de189913a70dbe19b3cfcc5e6e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Tue, 27 Feb 2024 08:32:09 -0400 Subject: [PATCH 37/67] improve: Impl fun to convert session to trial type --- .../components/config/session_trial_type_map.dart | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/src/digit_span_task/components/config/session_trial_type_map.dart b/lib/src/digit_span_task/components/config/session_trial_type_map.dart index e716e4a..21d3f2a 100644 --- a/lib/src/digit_span_task/components/config/session_trial_type_map.dart +++ b/lib/src/digit_span_task/components/config/session_trial_type_map.dart @@ -1,7 +1,16 @@ import 'package:cognitive_data/models/trial_type.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/exceptions/sessiontype_conversion_exception.dart'; const Map sessionToTrialTypeMap = { SessionType.practice: TrialType.practice, SessionType.experimental: TrialType.experimental, }; + +TrialType convertSessionToTrialType(SessionType sessionType) { + final TrialType? trialType = sessionToTrialTypeMap[sessionType]; + if (trialType == null) { + throw DSTSessionTypeConversionException(); + } + return trialType; +} From dfa2c2ebc3f32f1c9c04c34e0497dc32f5de23fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Tue, 27 Feb 2024 08:35:19 -0400 Subject: [PATCH 38/67] refactor: Update addTrial impl to use InMemoryDB --- .../components/data/data_manager.dart | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 60b774b..bf42eb9 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -1,11 +1,14 @@ import 'package:cognitive_data/databases/in_memory_db.dart'; +import 'package:cognitive_data/models/trial.dart'; +import 'package:cognitive_data/models/trial_type.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/config/ds_config.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; import 'package:get/get.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_tasks_data.dart'; -import 'package:digit_span_tasks/src/digit_span_task/components/data/trial_data.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/data_model.dart'; +import '../config/session_trial_type_map.dart'; + /// Data manager for DigitSpanTask. /// Used for adding data, getting data for practice or experimental session, /// and exporting data. @@ -23,12 +26,15 @@ class DataManager extends GetxController { required String stim, required String resp, }) { - TrialData trialData = TrialData( + TrialType trialType = convertSessionToTrialType(_config.sessionType); + Trial trial = Trial( stim: stim, response: resp, + participantID: _config.userConfig.participantID, + sessionID: _config.userConfig.sessionID, + trialType: trialType, ); - DataModel data = getData(isPractice); - data.trialData.add(trialData); + db.addTrial(trial: trial); } /// Sets the start time for the session, but only if this is a practice phase. From 8ff6f080c17d6b89f502049eb33f48f6ef1ec9fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Tue, 27 Feb 2024 08:49:07 -0400 Subject: [PATCH 39/67] doc: Add docstring to session to trial type map --- .../components/config/session_trial_type_map.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/src/digit_span_task/components/config/session_trial_type_map.dart b/lib/src/digit_span_task/components/config/session_trial_type_map.dart index 21d3f2a..abfe4cb 100644 --- a/lib/src/digit_span_task/components/config/session_trial_type_map.dart +++ b/lib/src/digit_span_task/components/config/session_trial_type_map.dart @@ -2,6 +2,10 @@ import 'package:cognitive_data/models/trial_type.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/exceptions/sessiontype_conversion_exception.dart'; +/// Maps from a [SessionType] to the corresponding [TrialType]. +/// This mapping is essential because creating a [Trial] object requires a +/// [TrialType], and this conversion provides a straightforward way to obtain +/// the required [TrialType] based on the given [SessionType]. const Map sessionToTrialTypeMap = { SessionType.practice: TrialType.practice, SessionType.experimental: TrialType.experimental, From a52369e69202e7aefecff8b98250ebd56bca19e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Tue, 27 Feb 2024 08:56:16 -0400 Subject: [PATCH 40/67] doc: Add docstring to convertSessionToTrialType() --- .../components/config/session_trial_type_map.dart | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/src/digit_span_task/components/config/session_trial_type_map.dart b/lib/src/digit_span_task/components/config/session_trial_type_map.dart index abfe4cb..5a14ecc 100644 --- a/lib/src/digit_span_task/components/config/session_trial_type_map.dart +++ b/lib/src/digit_span_task/components/config/session_trial_type_map.dart @@ -11,6 +11,12 @@ const Map sessionToTrialTypeMap = { SessionType.experimental: TrialType.experimental, }; +/// Converts a [SessionType] to the corresponding [TrialType]. +/// +/// Given a [SessionType], this function looks up the corresponding +/// [TrialType] using the [sessionToTrialTypeMap]. If a match is found, +/// it returns the associated [TrialType]. If no match is found, a +/// [DSTSessionTypeConversionException] is thrown. TrialType convertSessionToTrialType(SessionType sessionType) { final TrialType? trialType = sessionToTrialTypeMap[sessionType]; if (trialType == null) { From 2d6f9b3dc100281d7eca80365e088d0dc2a5147e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Tue, 27 Feb 2024 09:01:25 -0400 Subject: [PATCH 41/67] doc: Update DataManager.addTrials docstring --- lib/src/digit_span_task/components/data/data_manager.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index bf42eb9..93226b7 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -20,8 +20,10 @@ class DataManager extends GetxController { DataModel practiceData = DataModel(); DataModel experimentalData = DataModel(); - /// Add data [stim], [resp] from a single trial to - /// the manager. Uses [isPractice] to get the data for the current phase. + /// Adds data from a single trial to the in memory db. + /// Given a [stim] and [resp], it defines a [Trial] and adds it to the db. + /// The trial data includes the participantID, sessionID, and the + /// [SessionType] (practice vs experimental) from the [_config]. void addTrialData({ required String stim, required String resp, From 649a3909771de6ea22b38f73d75994dcc74ec975 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Tue, 27 Feb 2024 09:27:35 -0400 Subject: [PATCH 42/67] maint(example): Remove test for example Test provided by flutter startup project --- example/test/widget_test.dart | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 example/test/widget_test.dart diff --git a/example/test/widget_test.dart b/example/test/widget_test.dart deleted file mode 100644 index 092d222..0000000 --- a/example/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:example/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} From 9fd389958ee787b0aa907d6bc211c8f172aa6287 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Tue, 27 Feb 2024 09:28:30 -0400 Subject: [PATCH 43/67] test: Add test for convertSessionToTrialType() test: Define test for convertSessionToTrialType() test: Use const instead of final Can be squashed into previous commits --- .../config/session_trial_type_map_test.dart | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/src/digit_span_task/components/config/session_trial_type_map_test.dart diff --git a/test/src/digit_span_task/components/config/session_trial_type_map_test.dart b/test/src/digit_span_task/components/config/session_trial_type_map_test.dart new file mode 100644 index 0000000..472d2ff --- /dev/null +++ b/test/src/digit_span_task/components/config/session_trial_type_map_test.dart @@ -0,0 +1,25 @@ +import 'package:cognitive_data/models/trial_type.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/config/session_trial_type_map.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + group( + "convertSessionToTrialType", + () { + test( + "Given SessionType.practice, returns a valid TrialType.practice", + () { + /// arrange + const SessionType sessionType = SessionType.practice; + + /// act + final TrialType trialType = convertSessionToTrialType(sessionType); + + /// assert + expect(trialType, TrialType.practice); + }, + ); + }, + ); +} From 9f8dcb322f0493da0083677ad785c4e47c476584 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Tue, 27 Feb 2024 09:33:21 -0400 Subject: [PATCH 44/67] test: Add test for convertSessionToTrialType() --- .../config/session_trial_type_map_test.dart | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/src/digit_span_task/components/config/session_trial_type_map_test.dart b/test/src/digit_span_task/components/config/session_trial_type_map_test.dart index 472d2ff..f9826c4 100644 --- a/test/src/digit_span_task/components/config/session_trial_type_map_test.dart +++ b/test/src/digit_span_task/components/config/session_trial_type_map_test.dart @@ -20,6 +20,19 @@ void main() { expect(trialType, TrialType.practice); }, ); + test( + "Given SessionType.experimental, returns a valid TrialType.experimental", + () { + /// arrange + const SessionType sessionType = SessionType.experimental; + + /// act + final TrialType trialType = convertSessionToTrialType(sessionType); + + /// assert + expect(trialType, TrialType.experimental); + }, + ); }, ); } From cb67c2daf3b15df6f3ea69ca44dcdd022787f0c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Tue, 27 Feb 2024 09:44:14 -0400 Subject: [PATCH 45/67] refactor: Rename DataManager.addTrial() --- lib/src/digit_span_task/components/data/data_manager.dart | 2 +- .../components/response/response_controller.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 93226b7..deaf657 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -24,7 +24,7 @@ class DataManager extends GetxController { /// Given a [stim] and [resp], it defines a [Trial] and adds it to the db. /// The trial data includes the participantID, sessionID, and the /// [SessionType] (practice vs experimental) from the [_config]. - void addTrialData({ + void addTrial({ required String stim, required String resp, }) { diff --git a/lib/src/digit_span_task/components/response/response_controller.dart b/lib/src/digit_span_task/components/response/response_controller.dart index d303a3c..1fe08f8 100644 --- a/lib/src/digit_span_task/components/response/response_controller.dart +++ b/lib/src/digit_span_task/components/response/response_controller.dart @@ -23,7 +23,7 @@ class ResponseController extends GetxController { void submit() { String response = textController.text.trim(); - _data.addTrialData( + _data.addTrial( stim: _stim.stim.currentStim, resp: response, ); From 9a0bf3ad87dc505b21f0d08bd920306329de78b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Wed, 28 Feb 2024 08:52:57 -0400 Subject: [PATCH 46/67] improve: Define data model to return to user improve: Define data model to return to user fix: Fix DigitSpanTaskData constructor --- .../components/data/digit_span_task_data.dart | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 lib/src/digit_span_task/components/data/digit_span_task_data.dart diff --git a/lib/src/digit_span_task/components/data/digit_span_task_data.dart b/lib/src/digit_span_task/components/data/digit_span_task_data.dart new file mode 100644 index 0000000..9cd5eac --- /dev/null +++ b/lib/src/digit_span_task/components/data/digit_span_task_data.dart @@ -0,0 +1,18 @@ +import 'package:cognitive_data/cognitive_data.dart'; + +class DigitSpanTaskData { + /// Data of all the trials + late final List trials; + + /// Metadata about the session + late final Session session; + + /// Metadata about the device on which the data was collected + late final Device device; + + DigitSpanTaskData({ + required this.trials, + required this.session, + required this.device, + }); +} From cf790183dbce5a72147ffb1df02862fb3a40bb88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Wed, 28 Feb 2024 09:33:01 -0400 Subject: [PATCH 47/67] test: Add test for DigitSpanTaskData.toString() --- .../data/digit_span_task_data_test.dart | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 test/src/digit_span_task/components/data/digit_span_task_data_test.dart diff --git a/test/src/digit_span_task/components/data/digit_span_task_data_test.dart b/test/src/digit_span_task/components/data/digit_span_task_data_test.dart new file mode 100644 index 0000000..f925342 --- /dev/null +++ b/test/src/digit_span_task/components/data/digit_span_task_data_test.dart @@ -0,0 +1,61 @@ +import 'package:cognitive_data/cognitive_data.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_task_data.dart'; +import 'package:flutter_test/flutter_test.dart'; + +void main() { + test( + "DigitSpanTaskData.toString returns correct representation", + () { + TestWidgetsFlutterBinding.ensureInitialized(); + + /// arrange + /// session + final Session session = Session( + participantID: '101', + sessionID: '001', + startTime: DateTime.now(), + endTime: DateTime.now()); + + /// device + final Device device = Device(participantID: '101', sessionID: '001'); + + /// list trial + final List trials = [ + Trial( + participantID: '101', + sessionID: '001', + trialType: TrialType.practice, + stim: '456', + response: '123'), + Trial( + participantID: '102', + sessionID: '002', + trialType: TrialType.practice, + stim: '789', + response: '987'), + ]; + + /// DigitSpanTaskData + DigitSpanTaskData data = DigitSpanTaskData( + session: session, + device: device, + trials: trials, + ); + + /// expected + final expectedRepr = 'Session data:' + '\n${session.toString()}' + '\nDevice data:' + '\n${device.toString()}' + '\nTrials data:' + '\n${trials.toString()}'; + + /// act + /// tostring + final String actualRepr = data.toString(); + + /// assert + expect(actualRepr, expectedRepr); + }, + ); +} From 423344e681c81facf6367de9a095eaefd57f7764 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Wed, 28 Feb 2024 09:00:42 -0400 Subject: [PATCH 48/67] improve: Impl DigitSpanTaskData.toString() improve: Impl DigitSpanTaskData.toString() fix: Fix DigitSpanTaskData.toString() represen --- .../components/data/digit_span_task_data.dart | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/src/digit_span_task/components/data/digit_span_task_data.dart b/lib/src/digit_span_task/components/data/digit_span_task_data.dart index 9cd5eac..e93a56e 100644 --- a/lib/src/digit_span_task/components/data/digit_span_task_data.dart +++ b/lib/src/digit_span_task/components/data/digit_span_task_data.dart @@ -15,4 +15,15 @@ class DigitSpanTaskData { required this.session, required this.device, }); + + @override + String toString() { + final representation = 'Session data:' + '\n${session.toString()}' + '\nDevice data:' + '\n${device.toString()}' + '\nTrials data:' + '\n${trials.toString()}'; + return representation; + } } From a3e2f90ce3e77d8ef930f56cb5b9efa2c47930e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Wed, 28 Feb 2024 09:50:58 -0400 Subject: [PATCH 49/67] doc: Update docstring DigitSpanTaskData.trials --- .../digit_span_task/components/data/digit_span_task_data.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/digit_span_task/components/data/digit_span_task_data.dart b/lib/src/digit_span_task/components/data/digit_span_task_data.dart index e93a56e..296bfb2 100644 --- a/lib/src/digit_span_task/components/data/digit_span_task_data.dart +++ b/lib/src/digit_span_task/components/data/digit_span_task_data.dart @@ -1,7 +1,7 @@ import 'package:cognitive_data/cognitive_data.dart'; class DigitSpanTaskData { - /// Data of all the trials + /// Data for all trials late final List trials; /// Metadata about the session From be8157e091de357194e3c459746c85e211fe77b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Wed, 28 Feb 2024 09:55:16 -0400 Subject: [PATCH 50/67] doc: Add docstring to DigitSpanTaskData --- .../digit_span_task/components/data/digit_span_task_data.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/digit_span_task/components/data/digit_span_task_data.dart b/lib/src/digit_span_task/components/data/digit_span_task_data.dart index 296bfb2..2ebd2f3 100644 --- a/lib/src/digit_span_task/components/data/digit_span_task_data.dart +++ b/lib/src/digit_span_task/components/data/digit_span_task_data.dart @@ -1,5 +1,8 @@ import 'package:cognitive_data/cognitive_data.dart'; +/// Structured data collected for a single session. +/// Includes data about the [trials] (practice and experimental), +/// and metadata about the [session] and [device] used to collect the data. class DigitSpanTaskData { /// Data for all trials late final List trials; From 3f86b92217394b8176df705fb5f41c022409baba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Thu, 29 Feb 2024 12:53:10 -0400 Subject: [PATCH 51/67] test: Add test DataManager.collectMetadata() test: Incomplete work - add test test: Fix DataManager.collectMetadata() test Can be squashed into previous commits test: Add asserts to DataManager.collectMetadata() test: Update imports in data_manager_test test: Cleanup DataManager.collectMetadata() test Can be squashed into previous commits doc: Add comment to explain test code Can be squashed into previous commits --- .../components/data/data_manager_test.dart | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 test/src/digit_span_task/components/data/data_manager_test.dart diff --git a/test/src/digit_span_task/components/data/data_manager_test.dart b/test/src/digit_span_task/components/data/data_manager_test.dart new file mode 100644 index 0000000..072729b --- /dev/null +++ b/test/src/digit_span_task/components/data/data_manager_test.dart @@ -0,0 +1,26 @@ +import 'package:digit_span_tasks/digit_span_tasks.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/config/ds_config.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/data/data_manager.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:get/get.dart'; + +void main() { + test( + "DataManager.collectMetadata adds Session and Device data to db.", + () { + final DataManager manager = DataManager(); + + manager.startTime = DateTime.now(); + + /// endTime can only be set during the experimental phase + config.sessionType = SessionType.experimental; + manager.endTime = DateTime.now(); + + manager.collectMetadata(); + + expect(manager.db.session.participantID, '101'); + expect(manager.db.device.participantID, '101'); + }, + ); +} From 2d99644e337ac2b12da113fba059673612015180 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Fri, 1 Mar 2024 08:26:54 -0400 Subject: [PATCH 52/67] test: Define setup fun DataManager.collectMetadata Can be squashed into previous commits --- .../components/data/data_manager_test.dart | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/test/src/digit_span_task/components/data/data_manager_test.dart b/test/src/digit_span_task/components/data/data_manager_test.dart index 072729b..a305ace 100644 --- a/test/src/digit_span_task/components/data/data_manager_test.dart +++ b/test/src/digit_span_task/components/data/data_manager_test.dart @@ -6,11 +6,29 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:get/get.dart'; void main() { + late DSConfig config; + late DataManager manager; + + setUp(() { + /// insert config which contains [participantID] and [sessionID] + Get.put( + DSConfig( + userConfig: UserConfig( + stimListPractice: [], + stimListExperimental: [], + participantID: '101', + sessionID: '001', + ), + ), + ); + config = Get.find(); + + manager = DataManager(); + }); + test( "DataManager.collectMetadata adds Session and Device data to db.", () { - final DataManager manager = DataManager(); - manager.startTime = DateTime.now(); /// endTime can only be set during the experimental phase From e057d7d5617aae2f8724131d9ec25a5ff077d2bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Fri, 1 Mar 2024 08:58:09 -0400 Subject: [PATCH 53/67] test: Add teardown DataManager.collectMetadata test --- .../digit_span_task/components/data/data_manager_test.dart | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/src/digit_span_task/components/data/data_manager_test.dart b/test/src/digit_span_task/components/data/data_manager_test.dart index a305ace..2ab17fe 100644 --- a/test/src/digit_span_task/components/data/data_manager_test.dart +++ b/test/src/digit_span_task/components/data/data_manager_test.dart @@ -26,6 +26,10 @@ void main() { manager = DataManager(); }); + tearDown((() { + config.dispose(); + })); + test( "DataManager.collectMetadata adds Session and Device data to db.", () { From f2cf9a3d9732b6e0bd80aea21da6256a403ab9dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Thu, 29 Feb 2024 12:37:05 -0400 Subject: [PATCH 54/67] improve: Impl DataManager.collect_metadata() improve: Impl DataManager.collect_metadata() maint: Update data_manager.dart imports --- .../components/data/data_manager.dart | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index deaf657..a373958 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -1,10 +1,12 @@ import 'package:cognitive_data/databases/in_memory_db.dart'; +import 'package:cognitive_data/models/device.dart'; +import 'package:cognitive_data/models/session.dart'; import 'package:cognitive_data/models/trial.dart'; import 'package:cognitive_data/models/trial_type.dart'; +import 'package:digit_span_tasks/digit_span_tasks.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/config/ds_config.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; import 'package:get/get.dart'; -import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_tasks_data.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/data_model.dart'; import '../config/session_trial_type_map.dart'; @@ -70,4 +72,22 @@ class DataManager extends GetxController { return data; } + + void collectMetadata() { + final UserConfig config = _config.userConfig; + + final Session session = Session( + participantID: config.participantID, + sessionID: config.sessionID, + startTime: _startTime, + endTime: _endTime, + ); + db.addSession(session: session); + + final Device device = Device( + participantID: config.participantID, + sessionID: config.sessionID, + ); + db.addDevice(device: device); + } } From ff09e390d65e5f579e796a70d137cf3e36c6cc1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Thu, 29 Feb 2024 21:09:23 -0400 Subject: [PATCH 55/67] doc: Add docstring to DataManager.collectMetadata() doc: Add docstring to DataManager.collectMetadata() doc: Update docstring DataManager.collectMetadata() --- lib/src/digit_span_task/components/data/data_manager.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index a373958..62d5902 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -73,6 +73,9 @@ class DataManager extends GetxController { return data; } + /// Collect metadata for the current session. + /// The metadata is added to the [InMemoryDB] and includes info about + /// the [Device] used to collect the data and the [Session]. void collectMetadata() { final UserConfig config = _config.userConfig; From 233fe2ed99efa87dcdfb1a01c357e6218d215f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Thu, 29 Feb 2024 21:16:08 -0400 Subject: [PATCH 56/67] doc: Update DataManager.export docstring doc: Update DataManager.export docstring doc: Update DataManager.export docstring Can be squashed into previous commits --- lib/src/digit_span_task/components/data/data_manager.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 62d5902..f97dbab 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -62,8 +62,8 @@ class DataManager extends GetxController { } /// Exports the data collected during the session. - /// Returns a custom object named [DigitSpanTasksData] that includes data for the - /// practice and experimental phase. + /// Includes data about the [trials] (practice and experimental) + /// and metadata about the [session] and [device] used to collect the data. DigitSpanTasksData export() { DigitSpanTasksData data = DigitSpanTasksData( practiceData: practiceData, From 15c382e11a23184b6e155fdaad2c194d42a47e80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Thu, 29 Feb 2024 21:31:41 -0400 Subject: [PATCH 57/67] test: Add test DataManager.export() test: Add test Datamanager.export() test: Fix DataManager tests Needed to update setup and teardown to better dispose of getx controllers test: Fix DataManager.export test Needed to define startTime test: Simplify DataManager.export test Removes code that was not needed and uses the participantID defined in main. --- .../components/data/data_manager_test.dart | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/test/src/digit_span_task/components/data/data_manager_test.dart b/test/src/digit_span_task/components/data/data_manager_test.dart index 2ab17fe..6388612 100644 --- a/test/src/digit_span_task/components/data/data_manager_test.dart +++ b/test/src/digit_span_task/components/data/data_manager_test.dart @@ -4,12 +4,16 @@ import 'package:digit_span_tasks/src/digit_span_task/components/config/session_t import 'package:digit_span_tasks/src/digit_span_task/components/data/data_manager.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:get/get.dart'; +import 'package:cognitive_data/cognitive_data.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_task_data.dart'; void main() { late DSConfig config; late DataManager manager; setUp(() { + Get.reset(); + /// insert config which contains [participantID] and [sessionID] Get.put( DSConfig( @@ -27,22 +31,44 @@ void main() { }); tearDown((() { - config.dispose(); + Get.delete(); })); + test("DataManager.collectMetadata adds Session and Device data to db.", () { + manager.startTime = DateTime.now(); + + /// endTime can only be set during the experimental phase + config.sessionType = SessionType.experimental; + manager.endTime = DateTime.now(); + + manager.collectMetadata(); + + expect(manager.db.session.participantID, '101'); + expect(manager.db.device.participantID, '101'); + }); + test( - "DataManager.collectMetadata adds Session and Device data to db.", + "DataManager.export returns a DigitSpanTaskData with correct data", () { manager.startTime = DateTime.now(); /// endTime can only be set during the experimental phase config.sessionType = SessionType.experimental; manager.endTime = DateTime.now(); + final Trial trial = Trial( + participantID: participantID, + sessionID: '001', + trialType: TrialType.practice, + stim: '123', + response: '321', + ); + manager.db.addTrial(trial: trial); - manager.collectMetadata(); + final DigitSpanTaskData actual = manager.export(); - expect(manager.db.session.participantID, '101'); - expect(manager.db.device.participantID, '101'); + expect(actual.trials.first.participantID, participantID); + expect(actual.device.participantID, participantID); + expect(actual.session.participantID, participantID); }, ); } From 1baaa699274426063da0f0eb70524bce966e2a9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 2 Mar 2024 10:13:15 -0400 Subject: [PATCH 58/67] test: Define participantID in main() --- .../src/digit_span_task/components/data/data_manager_test.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/src/digit_span_task/components/data/data_manager_test.dart b/test/src/digit_span_task/components/data/data_manager_test.dart index 6388612..ac60355 100644 --- a/test/src/digit_span_task/components/data/data_manager_test.dart +++ b/test/src/digit_span_task/components/data/data_manager_test.dart @@ -10,6 +10,7 @@ import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_ void main() { late DSConfig config; late DataManager manager; + const String participantID = '101'; setUp(() { Get.reset(); @@ -20,7 +21,7 @@ void main() { userConfig: UserConfig( stimListPractice: [], stimListExperimental: [], - participantID: '101', + participantID: participantID, sessionID: '001', ), ), From a6ff6c12ad1f5e0f3d4a5c50402862036849d1cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Thu, 29 Feb 2024 21:35:23 -0400 Subject: [PATCH 59/67] improve: Impl DataManager.export() --- .../components/data/data_manager.dart | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index f97dbab..557dfbf 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -6,6 +6,7 @@ import 'package:cognitive_data/models/trial_type.dart'; import 'package:digit_span_tasks/digit_span_tasks.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/config/ds_config.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_task_data.dart'; import 'package:get/get.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/data_model.dart'; @@ -64,10 +65,13 @@ class DataManager extends GetxController { /// Exports the data collected during the session. /// Includes data about the [trials] (practice and experimental) /// and metadata about the [session] and [device] used to collect the data. - DigitSpanTasksData export() { - DigitSpanTasksData data = DigitSpanTasksData( - practiceData: practiceData, - experimentalData: experimentalData, + DigitSpanTaskData export() { + collectMetadata(); + + final DigitSpanTaskData data = DigitSpanTaskData( + trials: db.trials, + device: db.device, + session: db.session, ); return data; From 6892990db72e8829221ddd9ff6a37eb4f3e394a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 2 Mar 2024 10:16:00 -0400 Subject: [PATCH 60/67] refactor: Fix usage of DataManager.export() --- lib/src/digit_span_task/digit_span_tasks_activity.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/digit_span_task/digit_span_tasks_activity.dart b/lib/src/digit_span_task/digit_span_tasks_activity.dart index 54bd6df..65f41e0 100644 --- a/lib/src/digit_span_task/digit_span_tasks_activity.dart +++ b/lib/src/digit_span_task/digit_span_tasks_activity.dart @@ -1,4 +1,5 @@ import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; +import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_task_data.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/instructions/instructions_model.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -6,7 +7,6 @@ import 'package:digit_span_tasks/src/digit_span_task/components/config/ds_config import 'package:digit_span_tasks/src/digit_span_task/components/data/data_manager.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/activity/activity_controller.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/activity/activity_view.dart'; -import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_tasks_data.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/ui_components/default_appbar.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/ui_components/screen.dart'; import 'package:digit_span_tasks/src/digit_span_task/instructions_experimental.dart'; @@ -42,7 +42,7 @@ class DigitSpanTasksActivity extends StatelessWidget { await Get.to(() => InstructionsExperimental()); await Get.to(() => ActivityView()); - DigitSpanTasksData digitSpanTasksData = _data.export(); + DigitSpanTaskData digitSpanTasksData = _data.export(); Get.back(result: digitSpanTasksData); }, child: Text( From 5392ad205e5eb8bfeefa31b47d48410b9074ee00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 2 Mar 2024 10:59:12 -0400 Subject: [PATCH 61/67] refactor: Delete DataModel, unused old code --- .../components/data/data_model.dart | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 lib/src/digit_span_task/components/data/data_model.dart diff --git a/lib/src/digit_span_task/components/data/data_model.dart b/lib/src/digit_span_task/components/data/data_model.dart deleted file mode 100644 index b9bd4a4..0000000 --- a/lib/src/digit_span_task/components/data/data_model.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:digit_span_tasks/src/digit_span_task/components/data/session_model.dart'; -import 'package:digit_span_tasks/src/digit_span_task/components/data/trial_data.dart'; - -/// Object used to structure data collected by DigitSpanTask for a single -/// phase (practice or experimental). It was designed to be used internally -/// by DigitSpanTask. -class DataModel { - /// data about all the trials for the current session - final List trialData = []; - - /// data about the current session - final SessionModel sessionData = SessionModel(); - - @override - String toString() { - return 'session data: ${sessionData.toString()} \n trial data: \n ${trialData.toString()}'; - } -} From 5b0d7ad05150970bb3b7c5e9528ca2b18b90a308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 2 Mar 2024 11:00:03 -0400 Subject: [PATCH 62/67] refactor: Remove refs to DataModel, old code --- lib/src/digit_span_task/components/data/data_manager.dart | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/src/digit_span_task/components/data/data_manager.dart b/lib/src/digit_span_task/components/data/data_manager.dart index 557dfbf..8d2ce33 100644 --- a/lib/src/digit_span_task/components/data/data_manager.dart +++ b/lib/src/digit_span_task/components/data/data_manager.dart @@ -8,7 +8,6 @@ import 'package:digit_span_tasks/src/digit_span_task/components/config/ds_config import 'package:digit_span_tasks/src/digit_span_task/components/config/session_type.dart'; import 'package:digit_span_tasks/src/digit_span_task/components/data/digit_span_task_data.dart'; import 'package:get/get.dart'; -import 'package:digit_span_tasks/src/digit_span_task/components/data/data_model.dart'; import '../config/session_trial_type_map.dart'; @@ -20,8 +19,6 @@ class DataManager extends GetxController { final DSConfig _config = Get.find(); late final DateTime _startTime; late final DateTime _endTime; - DataModel practiceData = DataModel(); - DataModel experimentalData = DataModel(); /// Adds data from a single trial to the in memory db. /// Given a [stim] and [resp], it defines a [Trial] and adds it to the db. From 89b7502285eb6eb7ff28dc477b1b59c723868b57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 2 Mar 2024 11:00:39 -0400 Subject: [PATCH 63/67] refactor: Delete digit_span_tasks_data, old code --- .../data/digit_span_tasks_data.dart | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 lib/src/digit_span_task/components/data/digit_span_tasks_data.dart diff --git a/lib/src/digit_span_task/components/data/digit_span_tasks_data.dart b/lib/src/digit_span_task/components/data/digit_span_tasks_data.dart deleted file mode 100644 index 2b1fd06..0000000 --- a/lib/src/digit_span_task/components/data/digit_span_tasks_data.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:digit_span_tasks/src/digit_span_task/components/data/data_model.dart'; - -/// Structured data collected by DigitSpanTask. -/// Used to provide data nicely formatted to the user. -class DigitSpanTasksData { - /// Data collected during the practice phase. - DataModel practiceData; - - /// Data collected during the experimental phase. - DataModel experimentalData; - - DigitSpanTasksData( - {required this.practiceData, required this.experimentalData}); - - @override - String toString() { - return 'practice data: \n ${practiceData.toString()} \n\n experimental data: \n ${experimentalData.toString()}'; - } -} From fa028be75aa1f557c8a576a67edaf8530c135ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 2 Mar 2024 11:03:26 -0400 Subject: [PATCH 64/67] refactor: Fix refs to DigitSpanTaskData Originally DigitSpanTasksData --- example/lib/main.dart | 4 ++-- lib/digit_span_tasks.dart | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 5311e78..46d5f90 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -76,7 +76,7 @@ class _MyHomePageState extends State { participantID: participantID, sessionID: sessionID, ); - DigitSpanTasksData data = await Get.to(() => DigitSpanForward( + DigitSpanTaskData data = await Get.to(() => DigitSpanForward( config: config, )); // ignore: avoid_print @@ -93,7 +93,7 @@ class _MyHomePageState extends State { participantID: participantID, sessionID: sessionID, ); - DigitSpanTasksData data = await Get.to(() => DigitSpanBackwards( + DigitSpanTaskData data = await Get.to(() => DigitSpanBackwards( config: config, )); // ignore: avoid_print diff --git a/lib/digit_span_tasks.dart b/lib/digit_span_tasks.dart index 4f5edfc..aa4c403 100644 --- a/lib/digit_span_tasks.dart +++ b/lib/digit_span_tasks.dart @@ -2,5 +2,5 @@ library digit_span_tasks; export 'src/digit_span_forward.dart'; export 'src/digit_span_backwards.dart'; -export 'src/digit_span_task/components/data/digit_span_tasks_data.dart'; +export 'src/digit_span_task/components/data/digit_span_task_data.dart'; export 'src/digit_span_task/components/config/user_config.dart'; From c91a7348ab3e6137984d2a9a18490af826e36d0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 2 Mar 2024 11:05:37 -0400 Subject: [PATCH 65/67] refactor: Delete TrialData model, old code --- .../components/data/trial_data.dart | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 lib/src/digit_span_task/components/data/trial_data.dart diff --git a/lib/src/digit_span_task/components/data/trial_data.dart b/lib/src/digit_span_task/components/data/trial_data.dart deleted file mode 100644 index ce034ad..0000000 --- a/lib/src/digit_span_task/components/data/trial_data.dart +++ /dev/null @@ -1,15 +0,0 @@ -/// Model for the data of a single trial -class TrialData { - final String stim; - final String response; - - TrialData({ - required this.stim, - required this.response, - }); - - @override - String toString() { - return "stim: $stim, resp: $response"; - } -} From 78fe4871d54006334cfc6850cf52c487071c5eab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 2 Mar 2024 11:06:19 -0400 Subject: [PATCH 66/67] refactor: Delete SessionData model, old code --- .../components/data/session_model.dart | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 lib/src/digit_span_task/components/data/session_model.dart diff --git a/lib/src/digit_span_task/components/data/session_model.dart b/lib/src/digit_span_task/components/data/session_model.dart deleted file mode 100644 index d99c28a..0000000 --- a/lib/src/digit_span_task/components/data/session_model.dart +++ /dev/null @@ -1,13 +0,0 @@ -/// Contains the data for a single session -class SessionModel { - /// time at which the session started - late final DateTime startTime; - - /// time at which the session ended - late final DateTime endTime; - - @override - String toString() { - return 'start time: $startTime, end time: $endTime'; - } -} From eb9618b3b040537f549ee5c9b7a32dec774b34c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20E=2E=20Bermonti-P=C3=A9rez?= Date: Sat, 2 Mar 2024 11:12:23 -0400 Subject: [PATCH 67/67] fix: Remove late from DigitSpanTaskData fields --- .../components/data/digit_span_task_data.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/digit_span_task/components/data/digit_span_task_data.dart b/lib/src/digit_span_task/components/data/digit_span_task_data.dart index 2ebd2f3..d7944f6 100644 --- a/lib/src/digit_span_task/components/data/digit_span_task_data.dart +++ b/lib/src/digit_span_task/components/data/digit_span_task_data.dart @@ -5,13 +5,13 @@ import 'package:cognitive_data/cognitive_data.dart'; /// and metadata about the [session] and [device] used to collect the data. class DigitSpanTaskData { /// Data for all trials - late final List trials; + final List trials; /// Metadata about the session - late final Session session; + final Session session; /// Metadata about the device on which the data was collected - late final Device device; + final Device device; DigitSpanTaskData({ required this.trials,