diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml new file mode 100644 index 0000000..86624d6 --- /dev/null +++ b/.idea/libraries/Dart_Packages.xml @@ -0,0 +1,1286 @@ +<component name="libraryTable"> + <library name="Dart Packages" type="DartPackagesLibraryType"> + <properties> + <option name="packageNameToDirsMap"> + <entry key="animated_background"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/animated_background-2.0.0/lib" /> + </list> + </value> + </entry> + <entry key="animated_flip_counter"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/animated_flip_counter-0.2.5/lib" /> + </list> + </value> + </entry> + <entry key="animated_list_plus"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/animated_list_plus-0.5.0/lib" /> + </list> + </value> + </entry> + <entry key="animations"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/animations-2.0.7/lib" /> + </list> + </value> + </entry> + <entry key="app_group_directory"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/lib" /> + </list> + </value> + </entry> + <entry key="archive"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/archive-3.3.7/lib" /> + </list> + </value> + </entry> + <entry key="args"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/args-2.4.1/lib" /> + </list> + </value> + </entry> + <entry key="async"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/async-2.11.0/lib" /> + </list> + </value> + </entry> + <entry key="auto_size_text"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/auto_size_text-3.0.0/lib" /> + </list> + </value> + </entry> + <entry key="background_fetch"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/background_fetch-1.1.6/lib" /> + </list> + </value> + </entry> + <entry key="boolean_selector"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/lib" /> + </list> + </value> + </entry> + <entry key="characters"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/characters-1.3.0/lib" /> + </list> + </value> + </entry> + <entry key="checked_yaml"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/checked_yaml-2.0.3/lib" /> + </list> + </value> + </entry> + <entry key="cli_util"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/cli_util-0.4.0/lib" /> + </list> + </value> + </entry> + <entry key="clock"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/clock-1.1.1/lib" /> + </list> + </value> + </entry> + <entry key="collection"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/collection-1.17.1/lib" /> + </list> + </value> + </entry> + <entry key="confetti"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/confetti-0.6.0/lib" /> + </list> + </value> + </entry> + <entry key="connectivity_plus"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.1/lib" /> + </list> + </value> + </entry> + <entry key="connectivity_plus_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-1.2.4/lib" /> + </list> + </value> + </entry> + <entry key="convert"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/convert-3.1.1/lib" /> + </list> + </value> + </entry> + <entry key="cross_file"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/cross_file-0.3.3+4/lib" /> + </list> + </value> + </entry> + <entry key="crypto"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/crypto-3.0.3/lib" /> + </list> + </value> + </entry> + <entry key="csslib"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/csslib-0.17.3/lib" /> + </list> + </value> + </entry> + <entry key="cupertino_icons"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/lib" /> + </list> + </value> + </entry> + <entry key="dbus"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/dbus-0.7.8/lib" /> + </list> + </value> + </entry> + <entry key="device_calendar"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/device_calendar-4.3.1/lib" /> + </list> + </value> + </entry> + <entry key="dropdown_button2"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/dropdown_button2-1.9.4/lib" /> + </list> + </value> + </entry> + <entry key="dynamic_color"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/dynamic_color-1.6.5/lib" /> + </list> + </value> + </entry> + <entry key="elegant_notification"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/elegant_notification-1.10.0/lib" /> + </list> + </value> + </entry> + <entry key="equatable"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/equatable-2.0.5/lib" /> + </list> + </value> + </entry> + <entry key="fake_async"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/fake_async-1.3.1/lib" /> + </list> + </value> + </entry> + <entry key="ffi"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/ffi-2.0.2/lib" /> + </list> + </value> + </entry> + <entry key="file"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/file-6.1.4/lib" /> + </list> + </value> + </entry> + <entry key="file_picker"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/file_picker-5.3.2/lib" /> + <option value="$USER_HOME$/.pub-cache/git/flutter_file_picker-b49c9beafb8a30b8486eb524e54946453c1b1928//lib" /> + </list> + </value> + </entry> + <entry key="fl_chart"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/fl_chart-0.45.1/lib" /> + </list> + </value> + </entry> + <entry key="flutter"> + <value> + <list> + <option value="/opt/flutter/packages/flutter/lib" /> + </list> + </value> + </entry> + <entry key="flutter_acrylic"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/lib" /> + <option value="$USER_HOME$/.pub-cache/git/flutter_acrylic-a9d5fffe6b91e1e28758c157f03b62ca9daed07a//lib" /> + </list> + </value> + </entry> + <entry key="flutter_custom_tabs"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.0.4/lib" /> + </list> + </value> + </entry> + <entry key="flutter_custom_tabs_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_custom_tabs_platform_interface-1.0.1/lib" /> + </list> + </value> + </entry> + <entry key="flutter_custom_tabs_web"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.0.0/lib" /> + </list> + </value> + </entry> + <entry key="flutter_displaymode"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0/lib" /> + </list> + </value> + </entry> + <entry key="flutter_expandable_fab"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_expandable_fab-1.8.1/lib" /> + <option value="$USER_HOME$/.pub-cache/git/flutter_expandable_fab-019fc1fb2c59e6baca5c23a339aa9752ecf99964//lib" /> + </list> + </value> + </entry> + <entry key="flutter_feather_icons"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_feather_icons-2.0.0+1/lib" /> + </list> + </value> + </entry> + <entry key="flutter_image_compress"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_image_compress-1.1.3/lib" /> + </list> + </value> + </entry> + <entry key="flutter_launcher_icons"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_launcher_icons-0.13.1/lib" /> + </list> + </value> + </entry> + <entry key="flutter_linkify"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_linkify-5.0.2/lib" /> + </list> + </value> + </entry> + <entry key="flutter_lints"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/lib" /> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_lints-1.0.4/lib" /> + </list> + </value> + </entry> + <entry key="flutter_local_notifications"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.0/lib" /> + </list> + </value> + </entry> + <entry key="flutter_local_notifications_linux"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-4.0.0+1/lib" /> + </list> + </value> + </entry> + <entry key="flutter_local_notifications_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-7.0.0+1/lib" /> + </list> + </value> + </entry> + <entry key="flutter_localizations"> + <value> + <list> + <option value="/opt/flutter/packages/flutter_localizations/lib" /> + </list> + </value> + </entry> + <entry key="flutter_markdown"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_markdown-0.6.14/lib" /> + </list> + </value> + </entry> + <entry key="flutter_material_color_picker"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_material_color_picker-1.1.0+2/lib" /> + </list> + </value> + </entry> + <entry key="flutter_native_image"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/lib" /> + </list> + </value> + </entry> + <entry key="flutter_native_splash"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_native_splash-2.3.0/lib" /> + </list> + </value> + </entry> + <entry key="flutter_native_timezone"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_native_timezone-2.0.0/lib" /> + </list> + </value> + </entry> + <entry key="flutter_plugin_android_lifecycle"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.15/lib" /> + </list> + </value> + </entry> + <entry key="flutter_svg"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_svg-1.1.6/lib" /> + </list> + </value> + </entry> + <entry key="flutter_test"> + <value> + <list> + <option value="/opt/flutter/packages/flutter_test/lib" /> + </list> + </value> + </entry> + <entry key="flutter_web_plugins"> + <value> + <list> + <option value="/opt/flutter/packages/flutter_web_plugins/lib" /> + </list> + </value> + </entry> + <entry key="graphs"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/graphs-2.3.1/lib" /> + </list> + </value> + </entry> + <entry key="home_widget"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/home_widget-0.1.6/lib" /> + </list> + </value> + </entry> + <entry key="html"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/html-0.15.3/lib" /> + </list> + </value> + </entry> + <entry key="http"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/http-0.13.6/lib" /> + </list> + </value> + </entry> + <entry key="http_parser"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/http_parser-4.0.2/lib" /> + </list> + </value> + </entry> + <entry key="i18n_extension"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/i18n_extension-9.0.0/lib" /> + </list> + </value> + </entry> + <entry key="image"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/image-4.0.17/lib" /> + </list> + </value> + </entry> + <entry key="image_picker"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/image_picker-0.8.7+5/lib" /> + </list> + </value> + </entry> + <entry key="image_picker_android"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/image_picker_android-0.8.6+16/lib" /> + </list> + </value> + </entry> + <entry key="image_picker_for_web"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/image_picker_for_web-2.1.12/lib" /> + </list> + </value> + </entry> + <entry key="image_picker_ios"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.7+4/lib" /> + </list> + </value> + </entry> + <entry key="image_picker_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.6.3/lib" /> + </list> + </value> + </entry> + <entry key="intl"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/intl-0.18.0/lib" /> + </list> + </value> + </entry> + <entry key="js"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/js-0.6.7/lib" /> + </list> + </value> + </entry> + <entry key="json_annotation"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/json_annotation-4.8.1/lib" /> + </list> + </value> + </entry> + <entry key="linkify"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/linkify-4.1.0/lib" /> + </list> + </value> + </entry> + <entry key="lints"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/lints-2.1.0/lib" /> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/lints-1.0.1/lib" /> + </list> + </value> + </entry> + <entry key="live_activities"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/live_activities-1.7.4/lib" /> + </list> + </value> + </entry> + <entry key="lottie"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/lottie-1.4.3/lib" /> + </list> + </value> + </entry> + <entry key="macos_window_utils"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/macos_window_utils-1.1.3/lib" /> + </list> + </value> + </entry> + <entry key="markdown"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/markdown-7.1.0/lib" /> + </list> + </value> + </entry> + <entry key="matcher"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/matcher-0.12.15/lib" /> + </list> + </value> + </entry> + <entry key="material_color_utilities"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib" /> + </list> + </value> + </entry> + <entry key="meta"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/meta-1.9.1/lib" /> + </list> + </value> + </entry> + <entry key="mime"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/mime-1.0.4/lib" /> + </list> + </value> + </entry> + <entry key="nested"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/nested-1.0.0/lib" /> + </list> + </value> + </entry> + <entry key="nm"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/nm-0.5.0/lib" /> + </list> + </value> + </entry> + <entry key="open_file"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/git/open_file-0ee6d69b5810e066ceb23776cea3716749038669//lib" /> + </list> + </value> + </entry> + <entry key="package_info_plus"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/package_info_plus-4.0.2/lib" /> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/package_info_plus-3.1.2/lib" /> + </list> + </value> + </entry> + <entry key="package_info_plus_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1/lib" /> + </list> + </value> + </entry> + <entry key="path"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/path-1.8.3/lib" /> + </list> + </value> + </entry> + <entry key="path_drawing"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/lib" /> + </list> + </value> + </entry> + <entry key="path_parsing"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/path_parsing-1.0.1/lib" /> + </list> + </value> + </entry> + <entry key="path_provider"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider-2.0.15/lib" /> + </list> + </value> + </entry> + <entry key="path_provider_android"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_android-2.0.27/lib" /> + </list> + </value> + </entry> + <entry key="path_provider_foundation"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3/lib" /> + </list> + </value> + </entry> + <entry key="path_provider_linux"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.11/lib" /> + </list> + </value> + </entry> + <entry key="path_provider_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.0.6/lib" /> + </list> + </value> + </entry> + <entry key="path_provider_windows"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.7/lib" /> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.6/lib" /> + </list> + </value> + </entry> + <entry key="permission_handler"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/permission_handler-10.2.0/lib" /> + </list> + </value> + </entry> + <entry key="permission_handler_android"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/permission_handler_android-10.2.1/lib" /> + </list> + </value> + </entry> + <entry key="permission_handler_apple"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/permission_handler_apple-9.0.8/lib" /> + </list> + </value> + </entry> + <entry key="permission_handler_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/permission_handler_platform_interface-3.9.0/lib" /> + </list> + </value> + </entry> + <entry key="permission_handler_windows"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.2/lib" /> + </list> + </value> + </entry> + <entry key="petitparser"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/petitparser-5.4.0/lib" /> + </list> + </value> + </entry> + <entry key="photo_view"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/photo_view-0.14.0/lib" /> + </list> + </value> + </entry> + <entry key="platform"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/platform-3.1.0/lib" /> + </list> + </value> + </entry> + <entry key="plugin_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4/lib" /> + </list> + </value> + </entry> + <entry key="pointycastle"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/lib" /> + </list> + </value> + </entry> + <entry key="process"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/process-4.2.4/lib" /> + </list> + </value> + </entry> + <entry key="provider"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/provider-5.0.0/lib" /> + </list> + </value> + </entry> + <entry key="quick_actions"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/quick_actions-1.0.5/lib" /> + </list> + </value> + </entry> + <entry key="quick_actions_android"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.6/lib" /> + </list> + </value> + </entry> + <entry key="quick_actions_ios"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.6/lib" /> + </list> + </value> + </entry> + <entry key="quick_actions_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/quick_actions_platform_interface-1.0.4/lib" /> + </list> + </value> + </entry> + <entry key="rive"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/rive-0.9.1/lib" /> + </list> + </value> + </entry> + <entry key="share_plus"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus-7.0.2/lib" /> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus-5.0.0/lib" /> + </list> + </value> + </entry> + <entry key="share_plus_linux"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus_linux-3.0.1/lib" /> + </list> + </value> + </entry> + <entry key="share_plus_macos"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus_macos-3.0.1/lib" /> + </list> + </value> + </entry> + <entry key="share_plus_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus_platform_interface-3.2.1/lib" /> + </list> + </value> + </entry> + <entry key="share_plus_web"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus_web-3.1.0/lib" /> + </list> + </value> + </entry> + <entry key="share_plus_windows"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus_windows-4.0.0/lib" /> + </list> + </value> + </entry> + <entry key="sky_engine"> + <value> + <list> + <option value="/opt/flutter/bin/cache/pkg/sky_engine/lib" /> + </list> + </value> + </entry> + <entry key="source_span"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/source_span-1.9.1/lib" /> + </list> + </value> + </entry> + <entry key="sprintf"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/sprintf-7.0.0/lib" /> + </list> + </value> + </entry> + <entry key="sqflite"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/sqflite-2.2.8+4/lib" /> + </list> + </value> + </entry> + <entry key="sqflite_common"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/sqflite_common-2.4.5/lib" /> + </list> + </value> + </entry> + <entry key="sqflite_common_ffi"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/sqflite_common_ffi-2.2.5/lib" /> + </list> + </value> + </entry> + <entry key="sqlite3"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/sqlite3-1.11.1/lib" /> + </list> + </value> + </entry> + <entry key="stack_trace"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/lib" /> + </list> + </value> + </entry> + <entry key="stream_channel"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/lib" /> + </list> + </value> + </entry> + <entry key="string_scanner"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/lib" /> + </list> + </value> + </entry> + <entry key="synchronized"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/synchronized-3.1.0/lib" /> + </list> + </value> + </entry> + <entry key="term_glyph"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/lib" /> + </list> + </value> + </entry> + <entry key="test_api"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/test_api-0.5.1/lib" /> + </list> + </value> + </entry> + <entry key="timezone"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/timezone-0.9.2/lib" /> + </list> + </value> + </entry> + <entry key="typed_data"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/typed_data-1.3.2/lib" /> + </list> + </value> + </entry> + <entry key="uni_links"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/uni_links-0.5.1/lib" /> + </list> + </value> + </entry> + <entry key="uni_links_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/uni_links_platform_interface-1.0.0/lib" /> + </list> + </value> + </entry> + <entry key="uni_links_web"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0/lib" /> + </list> + </value> + </entry> + <entry key="universal_io"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/universal_io-2.2.0/lib" /> + </list> + </value> + </entry> + <entry key="url_launcher"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher-6.1.11/lib" /> + </list> + </value> + </entry> + <entry key="url_launcher_android"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_android-6.0.35/lib" /> + </list> + </value> + </entry> + <entry key="url_launcher_ios"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.4/lib" /> + </list> + </value> + </entry> + <entry key="url_launcher_linux"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.5/lib" /> + </list> + </value> + </entry> + <entry key="url_launcher_macos"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.5/lib" /> + </list> + </value> + </entry> + <entry key="url_launcher_platform_interface"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.1.2/lib" /> + </list> + </value> + </entry> + <entry key="url_launcher_web"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.17/lib" /> + </list> + </value> + </entry> + <entry key="url_launcher_windows"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.6/lib" /> + </list> + </value> + </entry> + <entry key="uuid"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/uuid-3.0.7/lib" /> + </list> + </value> + </entry> + <entry key="vector_math"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib" /> + </list> + </value> + </entry> + <entry key="win32"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/win32-5.0.3/lib" /> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/win32-2.7.0/lib" /> + </list> + </value> + </entry> + <entry key="workmanager"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/workmanager-0.5.1/lib" /> + </list> + </value> + </entry> + <entry key="wtf_sliding_sheet"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/wtf_sliding_sheet-1.0.0/lib" /> + </list> + </value> + </entry> + <entry key="xdg_directories"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/xdg_directories-1.0.0/lib" /> + </list> + </value> + </entry> + <entry key="xml"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/xml-6.3.0/lib" /> + </list> + </value> + </entry> + <entry key="yaml"> + <value> + <list> + <option value="$USER_HOME$/.pub-cache/hosted/pub.dev/yaml-3.1.2/lib" /> + </list> + </value> + </entry> + </option> + </properties> + <CLASSES> + <root url="file://$USER_HOME$/.pub-cache/git/flutter_acrylic-a9d5fffe6b91e1e28758c157f03b62ca9daed07a//lib" /> + <root url="file://$USER_HOME$/.pub-cache/git/flutter_expandable_fab-019fc1fb2c59e6baca5c23a339aa9752ecf99964//lib" /> + <root url="file://$USER_HOME$/.pub-cache/git/flutter_file_picker-b49c9beafb8a30b8486eb524e54946453c1b1928//lib" /> + <root url="file://$USER_HOME$/.pub-cache/git/open_file-0ee6d69b5810e066ceb23776cea3716749038669//lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/animated_background-2.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/animated_flip_counter-0.2.5/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/animated_list_plus-0.5.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/animations-2.0.7/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/app_group_directory-2.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/archive-3.3.7/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/args-2.4.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/async-2.11.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/auto_size_text-3.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/background_fetch-1.1.6/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/characters-1.3.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/checked_yaml-2.0.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/cli_util-0.4.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/clock-1.1.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/collection-1.17.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/confetti-0.6.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/connectivity_plus-4.0.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-1.2.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/convert-3.1.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/cross_file-0.3.3+4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/crypto-3.0.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/csslib-0.17.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.5/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/dbus-0.7.8/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/device_calendar-4.3.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/dropdown_button2-1.9.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/dynamic_color-1.6.5/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/elegant_notification-1.10.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/equatable-2.0.5/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/fake_async-1.3.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/ffi-2.0.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/file-6.1.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/file_picker-5.3.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/fl_chart-0.45.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_acrylic-1.1.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_custom_tabs-1.0.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_custom_tabs_platform_interface-1.0.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_custom_tabs_web-1.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_displaymode-0.6.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_expandable_fab-1.8.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_feather_icons-2.0.0+1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_image_compress-1.1.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_launcher_icons-0.13.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_linkify-5.0.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_lints-1.0.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_local_notifications-14.1.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-4.0.0+1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_local_notifications_platform_interface-7.0.0+1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_markdown-0.6.14/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_material_color_picker-1.1.0+2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_native_image-0.0.6+1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_native_splash-2.3.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_native_timezone-2.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.15/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/flutter_svg-1.1.6/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/graphs-2.3.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/home_widget-0.1.6/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/html-0.15.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/http-0.13.6/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/http_parser-4.0.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/i18n_extension-9.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/image-4.0.17/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/image_picker-0.8.7+5/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/image_picker_android-0.8.6+16/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/image_picker_for_web-2.1.12/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.7+4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.6.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/intl-0.18.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/js-0.6.7/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/json_annotation-4.8.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/linkify-4.1.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/lints-1.0.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/lints-2.1.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/live_activities-1.7.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/lottie-1.4.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/macos_window_utils-1.1.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/markdown-7.1.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/matcher-0.12.15/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/meta-1.9.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/mime-1.0.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/nested-1.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/nm-0.5.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/package_info_plus-3.1.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/package_info_plus-4.0.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/path-1.8.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/path_parsing-1.0.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider-2.0.15/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_android-2.0.27/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_foundation-2.2.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_linux-2.1.11/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.0.6/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.6/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/path_provider_windows-2.1.7/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/permission_handler-10.2.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/permission_handler_android-10.2.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/permission_handler_apple-9.0.8/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/permission_handler_platform_interface-3.9.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/permission_handler_windows-0.1.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/petitparser-5.4.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/photo_view-0.14.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/platform-3.1.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/pointycastle-3.7.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/process-4.2.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/provider-5.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/quick_actions-1.0.5/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/quick_actions_android-1.0.6/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/quick_actions_ios-1.0.6/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/quick_actions_platform_interface-1.0.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/rive-0.9.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus-5.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus-7.0.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus_linux-3.0.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus_macos-3.0.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus_platform_interface-3.2.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus_web-3.1.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/share_plus_windows-4.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/source_span-1.9.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/sprintf-7.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/sqflite-2.2.8+4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/sqflite_common-2.4.5/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/sqflite_common_ffi-2.2.5/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/sqlite3-1.11.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/synchronized-3.1.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/test_api-0.5.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/timezone-0.9.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/typed_data-1.3.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/uni_links-0.5.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/uni_links_platform_interface-1.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/uni_links_web-0.1.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/universal_io-2.2.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher-6.1.11/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_android-6.0.35/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_ios-6.1.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_linux-3.0.5/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_macos-3.0.5/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.1.2/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_web-2.0.17/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/url_launcher_windows-3.0.6/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/uuid-3.0.7/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/win32-2.7.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/win32-5.0.3/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/workmanager-0.5.1/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/wtf_sliding_sheet-1.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/xdg_directories-1.0.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/xml-6.3.0/lib" /> + <root url="file://$USER_HOME$/.pub-cache/hosted/pub.dev/yaml-3.1.2/lib" /> + <root url="file:///opt/flutter/bin/cache/pkg/sky_engine/lib" /> + <root url="file:///opt/flutter/packages/flutter/lib" /> + <root url="file:///opt/flutter/packages/flutter_localizations/lib" /> + <root url="file:///opt/flutter/packages/flutter_test/lib" /> + <root url="file:///opt/flutter/packages/flutter_web_plugins/lib" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> +</component> \ No newline at end of file diff --git a/.idea/libraries/Dart_SDK.xml b/.idea/libraries/Dart_SDK.xml new file mode 100644 index 0000000..563d1c4 --- /dev/null +++ b/.idea/libraries/Dart_SDK.xml @@ -0,0 +1,27 @@ +<component name="libraryTable"> + <library name="Dart SDK"> + <CLASSES> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/async" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/cli" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/collection" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/convert" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/core" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/developer" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/ffi" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/html" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/indexed_db" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/io" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/isolate" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/js" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/js_util" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/math" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/mirrors" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/svg" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/typed_data" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/web_audio" /> + <root url="file:///opt/flutter/bin/cache/dart-sdk/lib/web_gl" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> +</component> \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..de791dd --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectRootManager" version="2" project-jdk-name="Android API 33, extension level 3 Platform" project-jdk-type="Android SDK" /> +</project> \ No newline at end of file diff --git a/filcnaplo/lib/helpers/notification_helper.dart b/filcnaplo/lib/helpers/notification_helper.dart index c1cfcb6..b3b70ba 100644 --- a/filcnaplo/lib/helpers/notification_helper.dart +++ b/filcnaplo/lib/helpers/notification_helper.dart @@ -1,37 +1,47 @@ -import 'dart:math'; import 'dart:ui'; import 'package:filcnaplo/api/providers/database_provider.dart'; import 'package:filcnaplo/api/providers/status_provider.dart'; import 'package:filcnaplo/api/providers/user_provider.dart'; -import 'package:filcnaplo/database/init.dart'; import 'package:filcnaplo/models/settings.dart'; import 'package:filcnaplo/helpers/notification_helper.i18n.dart'; +import 'package:filcnaplo_kreta_api/client/api.dart'; import 'package:filcnaplo_kreta_api/client/client.dart'; +import 'package:filcnaplo_kreta_api/models/absence.dart'; import 'package:filcnaplo_kreta_api/models/grade.dart'; import 'package:filcnaplo_kreta_api/providers/grade_provider.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; +import 'package:intl/intl.dart'; class NotificationsHelper { + late DatabaseProvider database; + late SettingsProvider settingsProvider; + late UserProvider userProvider; + late KretaClient kretaClient; + FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); @pragma('vm:entry-point') void backgroundJob() async { // initialize providers - FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = - FlutterLocalNotificationsPlugin(); - DatabaseProvider database = DatabaseProvider(); - var db = await initDB(database); + database = DatabaseProvider(); await database.init(); - SettingsProvider settingsProvider = + settingsProvider = await database.query.getSettings(database); - UserProvider userProvider = await database.query.getUsers(settingsProvider); + userProvider = await database.query.getUsers(settingsProvider); if (userProvider.id != null && settingsProvider.notificationsEnabled) { - // refresh grades + // refresh kreta login final status = StatusProvider(); - final kretaClient = KretaClient( + kretaClient = KretaClient( user: userProvider, settings: settingsProvider, status: status); kretaClient.refreshLogin(); - GradeProvider gradeProvider = GradeProvider( + gradeNotification(); + absenceNotification(); + } + } + + void gradeNotification() async { + // fetch grades + GradeProvider gradeProvider = GradeProvider( settings: settingsProvider, user: userProvider, database: database, @@ -54,13 +64,25 @@ class NotificationsHelper { priority: Priority.max, color: const Color(0xFF3D7BF4), ticker: 'Jegyek'); - const NotificationDetails notificationDetails = - NotificationDetails(android: androidNotificationDetails); + const NotificationDetails notificationDetails = NotificationDetails(android: androidNotificationDetails); + if(userProvider.getUsers().length == 1) { await flutterLocalNotificationsPlugin.show( - // probably shouldn't use a random int - Random().nextInt(432234 * 2), - "title".i18n, - "body".i18n.fill([ + grade.id.hashCode, + "title_grade".i18n, + "body_grade".i18n.fill([ + grade.value.value.toString(), + grade.subject.isRenamed && + settingsProvider.renamedSubjectsEnabled + ? grade.subject.renamedTo! + : grade.subject.name + ]), + notificationDetails); + } else { // multiple users are added, also display student name + await flutterLocalNotificationsPlugin.show( + grade.id.hashCode, + "title_grade".i18n, + "body_grade_multiuser".i18n.fill([ + userProvider.displayName!, grade.value.value.toString(), grade.subject.isRenamed && settingsProvider.renamedSubjectsEnabled @@ -69,9 +91,56 @@ class NotificationsHelper { ]), notificationDetails); } + } } // set grade seen status gradeProvider.seenAll(); + } + void absenceNotification() async { + List? absenceJson = await kretaClient.getAPI(KretaAPI.absences(userProvider.instituteCode ?? "")); + List<Absence> storedAbsences = await database.userQuery.getAbsences(userId: userProvider.id!); + if(absenceJson == null) { + return; + } + List<Absence> absences = absenceJson.map((e) => Absence.fromJson(e)).toList(); + if(absences != storedAbsences) { + absences.removeWhere((element) => storedAbsences.contains(element)); + for(Absence absence in absences) { + const AndroidNotificationDetails androidNotificationDetails = + AndroidNotificationDetails('ABSENCES', 'Hiányzások', + channelDescription: 'Értesítés hiányzások beírásakor', + importance: Importance.max, + priority: Priority.max, + color: const Color(0xFF3D7BF4), + ticker: 'Hiányzások'); + const NotificationDetails notificationDetails = NotificationDetails(android: androidNotificationDetails); + if(userProvider.getUsers().length == 1) { + await flutterLocalNotificationsPlugin.show( + absence.id.hashCode, + "title_absence".i18n, + "body_absence".i18n.fill([ + DateFormat("yyyy-MM-dd").format(absence.date), + absence.subject.isRenamed && + settingsProvider.renamedSubjectsEnabled + ? absence.subject.renamedTo! + : absence.subject.name + ]), + notificationDetails); + } else { + await flutterLocalNotificationsPlugin.show( + absence.id.hashCode, + "title_absence".i18n, + "body_absence_multiuser".i18n.fill([ + userProvider.displayName!, + DateFormat("yyyy-MM-dd").format(absence.date), + absence.subject.isRenamed && + settingsProvider.renamedSubjectsEnabled + ? absence.subject.renamedTo! + : absence.subject.name + ]), + notificationDetails); + } + } } } } diff --git a/filcnaplo/lib/helpers/notification_helper.i18n.dart b/filcnaplo/lib/helpers/notification_helper.i18n.dart index 5c96488..cccd35c 100644 --- a/filcnaplo/lib/helpers/notification_helper.i18n.dart +++ b/filcnaplo/lib/helpers/notification_helper.i18n.dart @@ -4,16 +4,28 @@ extension Localization on String { static final _t = Translations.byLocale("hu_hu") + { "en_en": { - "title": "New grade", - "body": "You got a %s in %s" + "title_grade": "New grade", + "body_grade": "You got a %s in %s", + "body_grade_multiuser": "%s got a %s in %s", + "title_absence": "Absence recorded", + "body_absence": "An absence was recorded on %s for %s", + "body_absence_multiuser": "An absence was recorded for %s on %s for the subject %s", }, "hu_hu": { - "title": "Új jegy", - "body": "%s-st kaptál %s tantárgyból" + "title_grade": "Új jegy", + "body_grade": "%s-st kaptál %s tantárgyból", + "body_grade_multiuser": "%s tanuló %s-st kapott %s tantárgyból", + "title_absence": "Új hiányzás", + "body_absence": "Új hiányzást kaptál %s napon %s tantárgyból", + "body_absence_multiuser": "%s tanuló új hiányzást kapott %s napon %s tantárgyból" }, "de_de": { - "title": "Neue Note", - "body": "Du hast eine %s in %s" + "title_grade": "Neue Note", + "body_grade": "Du hast eine %s in %s", + "body_grade_multiuser": "%s hast eine %s in %s", + "title_absence": "Abwesenheit aufgezeichnet", + "body_absence": "Auf %s für %s wurde eine Abwesenheit aufgezeichnet", + "body_absence_multiuser": "Für %s wurde am %s für das Thema Mathematik eine Abwesenheit aufgezeichnet" }, }; diff --git a/filcnaplo/lib/main.dart b/filcnaplo/lib/main.dart index 1131ffb..0dd0955 100644 --- a/filcnaplo/lib/main.dart +++ b/filcnaplo/lib/main.dart @@ -4,7 +4,6 @@ import 'package:filcnaplo/api/providers/database_provider.dart'; import 'package:filcnaplo/database/init.dart'; import 'package:filcnaplo/helpers/notification_helper.dart'; import 'package:filcnaplo/models/settings.dart'; -import 'package:filcnaplo_kreta_api/client/client.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:filcnaplo/app.dart'; diff --git a/filcnaplo/lib/ui/filter/widgets.dart b/filcnaplo/lib/ui/filter/widgets.dart index bce82ae..54589d7 100644 --- a/filcnaplo/lib/ui/filter/widgets.dart +++ b/filcnaplo/lib/ui/filter/widgets.dart @@ -89,7 +89,9 @@ Future<List<DateWidget>> getFilterWidgets(FilterType activeData, // Grades case FilterType.grades: - gradeProvider.seenAll(); + if(!settingsProvider.gradeOpeningFun) { + gradeProvider.seenAll(); + } items = grade_filter.getWidgets( gradeProvider.grades, gradeProvider.lastSeenDate); if (settingsProvider.gradeOpeningFun) {