From 6f8eff43e3e9bfb14f744ddee47d518f36c406b6 Mon Sep 17 00:00:00 2001 From: Tien Do Nam Date: Sat, 18 Jul 2026 01:25:45 +0200 Subject: [PATCH] refactor: move to packages/localsend_isolates --- .github/workflows/ci.yml | 4 +- .github/workflows/release.yml | 8 +- app/lib/config/init.dart | 16 +- app/lib/isolate/isolate.dart | 20 - app/lib/main.dart | 2 +- app/lib/model/cross_file.dart | 2 +- .../persistence/receive_history_entry.dart | 2 +- app/lib/model/state/nearby_devices_state.dart | 2 +- .../model/state/send/send_session_state.dart | 4 +- app/lib/model/state/send/sending_file.dart | 4 +- .../model/state/send/web/web_send_file.dart | 2 +- .../state/server/receive_session_state.dart | 6 +- .../model/state/server/receiving_file.dart | 4 +- app/lib/model/state/settings_state.dart | 2 +- app/lib/pages/apk_picker_page.dart | 2 +- app/lib/pages/progress_page.dart | 6 +- app/lib/pages/receive_history_page.dart | 4 +- app/lib/pages/receive_page.dart | 6 +- app/lib/pages/selected_files_page.dart | 2 +- app/lib/pages/send_page.dart | 4 +- .../settings/network_interfaces_page.dart | 2 +- app/lib/pages/tabs/receive_tab_vm.dart | 2 +- app/lib/pages/tabs/send_tab.dart | 4 +- app/lib/pages/tabs/send_tab_vm.dart | 4 +- app/lib/pages/tabs/settings_tab.dart | 4 +- .../pages/tabs/settings_tab_controller.dart | 6 +- app/lib/pages/tabs/settings_tab_vm.dart | 2 +- app/lib/pages/web_send_page.dart | 2 +- app/lib/provider/device_info_provider.dart | 8 +- app/lib/provider/http_provider.dart | 2 +- app/lib/provider/last_devices.provider.dart | 2 +- app/lib/provider/local_ip_provider.dart | 2 +- .../network/nearby_devices_provider.dart | 4 +- app/lib/provider/network/scan_facade.dart | 2 +- app/lib/provider/network/send_provider.dart | 20 +- .../server/controller/receive_controller.dart | 24 +- .../server/controller/send_controller.dart | 14 +- .../network/server/server_provider.dart | 6 +- .../network/webrtc/signaling_provider.dart | 10 +- .../network/webrtc/webrtc_receiver.dart | 10 +- app/lib/provider/persistence_provider.dart | 6 +- .../provider/receive_history_provider.dart | 2 +- app/lib/provider/security_provider.dart | 4 +- .../selected_receiving_files_provider.dart | 2 +- .../selected_sending_files_provider.dart | 2 +- app/lib/provider/settings_provider.dart | 4 +- app/lib/util/device_type_ext.dart | 2 +- app/lib/util/favorites.dart | 2 +- app/lib/util/file_path_helper.dart | 2 +- app/lib/util/file_type_ext.dart | 2 +- app/lib/util/native/cache_helper.dart | 2 +- .../util/native/channel/android_channel.dart | 14 - .../util/native/cross_file_converters.dart | 2 +- app/lib/util/native/device_info_helper.dart | 4 +- app/lib/util/native/file_picker.dart | 4 +- app/lib/util/native/open_file.dart | 2 +- app/lib/util/native/taskbar_helper.dart | 2 +- app/lib/util/security_helper.dart | 4 +- .../widget/animated_opacity_cross_fade.dart | 2 +- .../animations/initial_fade_transition.dart | 2 +- .../animations/initial_slide_transition.dart | 2 +- .../widget/dialogs/address_input_dialog.dart | 6 +- app/lib/widget/dialogs/favorite_dialog.dart | 6 +- .../widget/dialogs/favorite_edit_dialog.dart | 6 +- app/lib/widget/dialogs/open_file_dialog.dart | 2 +- app/lib/widget/file_thumbnail.dart | 2 +- .../widget/list_tile/device_list_tile.dart | 2 +- .../device_placeholder_list_tile.dart | 2 +- app/lib/widget/opacity_slideshow.dart | 2 +- app/lib/widget/rotating_widget.dart | 2 +- app/pubspec.lock | 15 +- app/pubspec.yaml | 7 +- app/test/mocks.mocks.dart | 4 +- app/test/unit/model/device_test.dart | 2 +- .../dto/prepare_upload_request_dto_test.dart | 14 +- .../provider/last_devices_provider_test.dart | 2 +- .../receive_history_provider_test.dart | 2 +- .../unit/util/api_route_builder_test.dart | 4 +- .../unit/util/network_interfaces_test.dart | 2 +- app/test/unit/util/task_runner_test.dart | 4 +- packages/localsend_isolates/.gitignore | 4 + .../localsend_isolates/analysis_options.yaml | 21 + packages/localsend_isolates/build.yaml | 10 + .../flutter_rust_bridge.yaml | 0 .../lib}/api_route_builder.dart | 2 +- .../localsend_isolates/lib}/constants.dart | 0 packages/localsend_isolates/lib/isolate.dart | 20 + .../localsend_isolates/lib}/model/device.dart | 0 .../lib}/model/device.mapper.dart | 0 .../lib}/model/device_info_result.dart | 2 +- .../lib}/model/dto/file_dto.dart | 2 +- .../lib}/model/dto/file_dto.mapper.dart | 0 .../lib}/model/dto/info_dto.dart | 4 +- .../lib}/model/dto/info_dto.mapper.dart | 0 .../lib}/model/dto/info_register_dto.dart | 6 +- .../model/dto/info_register_dto.mapper.dart | 0 .../lib}/model/dto/multicast_dto.dart | 4 +- .../lib}/model/dto/multicast_dto.mapper.dart | 0 .../model/dto/prepare_upload_request_dto.dart | 4 +- .../prepare_upload_request_dto.mapper.dart | 0 .../dto/prepare_upload_response_dto.dart | 0 .../prepare_upload_response_dto.mapper.dart | 0 .../dto/receive_request_response_dto.dart | 4 +- .../receive_request_response_dto.mapper.dart | 0 .../lib}/model/dto/register_dto.dart | 6 +- .../lib}/model/dto/register_dto.mapper.dart | 0 .../lib}/model/file_status.dart | 0 .../lib}/model/file_type.dart | 0 .../lib}/model/file_type.mapper.dart | 0 .../lib}/model/session_status.dart | 0 .../lib}/model/stored_security_context.dart | 0 .../model/stored_security_context.mapper.dart | 0 .../lib/rust/api/crypto.dart | 2 +- .../lib/rust/api/http.dart | 6 +- .../lib/rust/api/http.freezed.dart | 0 .../lib/rust/api/logging.dart | 2 +- .../lib/rust/api/model.dart | 2 +- .../lib/rust/api/server.dart | 4 +- .../lib/rust/api/server.freezed.dart | 0 .../lib/rust/api/stream.dart | 2 +- .../lib/rust/api/webrtc.dart | 4 +- .../lib/rust/api/webrtc.freezed.dart | 0 .../lib/rust/frb_generated.dart | 18 +- .../lib/rust/frb_generated.io.dart | 56 +- .../lib/rust/frb_generated.web.dart | 16 +- .../lib}/src/isolate/child/http_provider.dart | 4 +- .../child/http_scan_discovery_isolate.dart | 8 +- .../lib}/src/isolate/child/main.dart | 8 +- .../child/multicast_discovery_isolate.dart | 8 +- .../src/isolate/child/server_isolate.dart | 18 +- .../lib}/src/isolate/child/sync_provider.dart | 6 +- .../isolate/child/sync_provider.mapper.dart | 0 .../src/isolate/child/upload_isolate.dart | 16 +- .../src/isolate/dto/send_to_isolate_data.dart | 2 +- .../lib}/src/isolate/parent/actions.dart | 16 +- .../lib}/src/isolate/parent/actions_sync.dart | 12 +- .../parent/parent_isolate_provider.dart | 16 +- .../parent_isolate_provider.mapper.dart | 0 .../lib}/src/task/README.md | 0 .../task/discovery/http_scan_discovery.dart | 6 +- .../task/discovery/http_target_discovery.dart | 16 +- .../task/discovery/multicast_discovery.dart | 16 +- .../lib}/src/task/server/http_server.dart | 4 +- .../lib}/src/task/upload/http_upload.dart | 10 +- .../lib/util/android_channel.dart | 17 + .../localsend_isolates/lib}/util/logger.dart | 0 .../lib}/util/network_interfaces.dart | 0 .../localsend_isolates}/lib/util/rust.dart | 14 +- .../localsend_isolates/lib}/util/sleep.dart | 0 .../localsend_isolates/lib}/util/stream.dart | 0 .../lib}/util/task_runner.dart | 0 packages/localsend_isolates/pubspec.lock | 534 ++++++++++++++++++ packages/localsend_isolates/pubspec.yaml | 31 + .../localsend_isolates}/rust-toolchain.toml | 0 .../localsend_isolates}/rust/.gitignore | 0 .../localsend_isolates}/rust/Cargo.lock | 0 .../localsend_isolates}/rust/Cargo.toml | 2 +- .../rust/src/api/crypto.rs | 0 .../localsend_isolates}/rust/src/api/http.rs | 0 .../rust/src/api/logging.rs | 0 .../localsend_isolates}/rust/src/api/mod.rs | 0 .../localsend_isolates}/rust/src/api/model.rs | 0 .../rust/src/api/server.rs | 0 .../rust/src/api/stream.rs | 0 .../rust/src/api/webrtc.rs | 0 .../rust/src/frb_generated.rs | 46 +- .../localsend_isolates}/rust/src/lib.rs | 0 .../rust/src/util/bytes.rs | 0 .../localsend_isolates}/rust/src/util/mod.rs | 0 .../rust_builder/.gitignore | 0 .../rust_builder/README.md | 0 .../rust_builder/android/.gitignore | 0 .../rust_builder/android/build.gradle | 0 .../rust_builder/android/settings.gradle | 0 .../android/src/main/AndroidManifest.xml | 0 .../rust_builder/cargokit/.gitignore | 0 .../rust_builder/cargokit/LICENSE | 0 .../rust_builder/cargokit/README | 0 .../rust_builder/cargokit/build_pod.sh | 0 .../cargokit/build_tool/README.md | 0 .../cargokit/build_tool/analysis_options.yaml | 0 .../cargokit/build_tool/bin/build_tool.dart | 0 .../cargokit/build_tool/lib/build_tool.dart | 0 .../lib/src/android_environment.dart | 0 .../lib/src/artifacts_provider.dart | 0 .../build_tool/lib/src/build_cmake.dart | 0 .../build_tool/lib/src/build_gradle.dart | 0 .../build_tool/lib/src/build_pod.dart | 0 .../build_tool/lib/src/build_tool.dart | 0 .../cargokit/build_tool/lib/src/builder.dart | 0 .../cargokit/build_tool/lib/src/cargo.dart | 0 .../build_tool/lib/src/crate_hash.dart | 0 .../build_tool/lib/src/environment.dart | 0 .../cargokit/build_tool/lib/src/logging.dart | 0 .../cargokit/build_tool/lib/src/options.dart | 0 .../lib/src/precompile_binaries.dart | 0 .../cargokit/build_tool/lib/src/rustup.dart | 0 .../cargokit/build_tool/lib/src/target.dart | 0 .../cargokit/build_tool/lib/src/util.dart | 0 .../build_tool/lib/src/verify_binaries.dart | 0 .../cargokit/build_tool/pubspec.lock | 0 .../cargokit/build_tool/pubspec.yaml | 0 .../cargokit/cmake/cargokit.cmake | 0 .../cargokit/cmake/resolve_symlinks.ps1 | 0 .../cargokit/gradle/plugin.gradle | 0 .../rust_builder/cargokit/run_build_tool.cmd | 0 .../rust_builder/cargokit/run_build_tool.sh | 0 .../rust_builder/ios/Classes/dummy_file.c | 0 .../ios/rust_lib_localsend_app.podspec | 0 .../rust_builder/linux/CMakeLists.txt | 0 .../rust_builder/macos/Classes/dummy_file.c | 0 .../macos/rust_lib_localsend_app.podspec | 0 .../rust_builder/pubspec.yaml | 0 .../rust_builder/windows/.gitignore | 0 .../rust_builder/windows/CMakeLists.txt | 0 215 files changed, 1002 insertions(+), 395 deletions(-) delete mode 100644 app/lib/isolate/isolate.dart create mode 100644 packages/localsend_isolates/.gitignore create mode 100644 packages/localsend_isolates/analysis_options.yaml create mode 100644 packages/localsend_isolates/build.yaml rename {app => packages/localsend_isolates}/flutter_rust_bridge.yaml (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/api_route_builder.dart (94%) rename {app/lib/isolate => packages/localsend_isolates/lib}/constants.dart (100%) create mode 100644 packages/localsend_isolates/lib/isolate.dart rename {app/lib/isolate => packages/localsend_isolates/lib}/model/device.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/device.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/device_info_result.dart (85%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/file_dto.dart (98%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/file_dto.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/info_dto.dart (91%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/info_dto.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/info_register_dto.dart (89%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/info_register_dto.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/multicast_dto.dart (93%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/multicast_dto.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/prepare_upload_request_dto.dart (75%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/prepare_upload_request_dto.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/prepare_upload_response_dto.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/prepare_upload_response_dto.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/receive_request_response_dto.dart (75%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/receive_request_response_dto.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/register_dto.dart (87%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/dto/register_dto.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/file_status.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/file_type.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/file_type.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/session_status.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/stored_security_context.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/model/stored_security_context.mapper.dart (100%) rename {app => packages/localsend_isolates}/lib/rust/api/crypto.dart (94%) rename {app => packages/localsend_isolates}/lib/rust/api/http.dart (95%) rename {app => packages/localsend_isolates}/lib/rust/api/http.freezed.dart (100%) rename {app => packages/localsend_isolates}/lib/rust/api/logging.dart (86%) rename {app => packages/localsend_isolates}/lib/rust/api/model.dart (98%) rename {app => packages/localsend_isolates}/lib/rust/api/server.dart (98%) rename {app => packages/localsend_isolates}/lib/rust/api/server.freezed.dart (100%) rename {app => packages/localsend_isolates}/lib/rust/api/stream.dart (93%) rename {app => packages/localsend_isolates}/lib/rust/api/webrtc.dart (98%) rename {app => packages/localsend_isolates}/lib/rust/api/webrtc.freezed.dart (100%) rename {app => packages/localsend_isolates}/lib/rust/frb_generated.dart (99%) rename {app => packages/localsend_isolates}/lib/rust/frb_generated.io.dart (94%) rename {app => packages/localsend_isolates}/lib/rust/frb_generated.web.dart (99%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/child/http_provider.dart (86%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/child/http_scan_discovery_isolate.dart (86%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/child/main.dart (89%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/child/multicast_discovery_isolate.dart (84%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/child/server_isolate.dart (94%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/child/sync_provider.dart (90%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/child/sync_provider.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/child/upload_isolate.dart (92%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/dto/send_to_isolate_data.dart (67%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/parent/actions.dart (94%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/parent/actions_sync.dart (87%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/parent/parent_isolate_provider.dart (86%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/isolate/parent/parent_isolate_provider.mapper.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/task/README.md (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/task/discovery/http_scan_discovery.dart (91%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/task/discovery/http_target_discovery.dart (76%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/task/discovery/multicast_discovery.dart (93%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/task/server/http_server.dart (96%) rename {app/lib/isolate => packages/localsend_isolates/lib}/src/task/upload/http_upload.dart (87%) create mode 100644 packages/localsend_isolates/lib/util/android_channel.dart rename {app/lib/isolate => packages/localsend_isolates/lib}/util/logger.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/util/network_interfaces.dart (100%) rename {app => packages/localsend_isolates}/lib/util/rust.dart (88%) rename {app/lib/isolate => packages/localsend_isolates/lib}/util/sleep.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/util/stream.dart (100%) rename {app/lib/isolate => packages/localsend_isolates/lib}/util/task_runner.dart (100%) create mode 100644 packages/localsend_isolates/pubspec.lock create mode 100644 packages/localsend_isolates/pubspec.yaml rename {app => packages/localsend_isolates}/rust-toolchain.toml (100%) rename {app => packages/localsend_isolates}/rust/.gitignore (100%) rename {app => packages/localsend_isolates}/rust/Cargo.lock (100%) rename {app => packages/localsend_isolates}/rust/Cargo.toml (89%) rename {app => packages/localsend_isolates}/rust/src/api/crypto.rs (100%) rename {app => packages/localsend_isolates}/rust/src/api/http.rs (100%) rename {app => packages/localsend_isolates}/rust/src/api/logging.rs (100%) rename {app => packages/localsend_isolates}/rust/src/api/mod.rs (100%) rename {app => packages/localsend_isolates}/rust/src/api/model.rs (100%) rename {app => packages/localsend_isolates}/rust/src/api/server.rs (100%) rename {app => packages/localsend_isolates}/rust/src/api/stream.rs (100%) rename {app => packages/localsend_isolates}/rust/src/api/webrtc.rs (100%) rename {app => packages/localsend_isolates}/rust/src/frb_generated.rs (98%) rename {app => packages/localsend_isolates}/rust/src/lib.rs (100%) rename {app => packages/localsend_isolates}/rust/src/util/bytes.rs (100%) rename {app => packages/localsend_isolates}/rust/src/util/mod.rs (100%) rename {app => packages/localsend_isolates}/rust_builder/.gitignore (100%) rename {app => packages/localsend_isolates}/rust_builder/README.md (100%) rename {app => packages/localsend_isolates}/rust_builder/android/.gitignore (100%) rename {app => packages/localsend_isolates}/rust_builder/android/build.gradle (100%) rename {app => packages/localsend_isolates}/rust_builder/android/settings.gradle (100%) rename {app => packages/localsend_isolates}/rust_builder/android/src/main/AndroidManifest.xml (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/.gitignore (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/LICENSE (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/README (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_pod.sh (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/README.md (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/analysis_options.yaml (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/bin/build_tool.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/build_tool.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/android_environment.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/build_pod.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/build_tool.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/builder.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/cargo.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/environment.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/logging.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/options.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/rustup.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/target.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/util.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/pubspec.lock (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/build_tool/pubspec.yaml (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/cmake/cargokit.cmake (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/cmake/resolve_symlinks.ps1 (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/gradle/plugin.gradle (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/run_build_tool.cmd (100%) rename {app => packages/localsend_isolates}/rust_builder/cargokit/run_build_tool.sh (100%) rename {app => packages/localsend_isolates}/rust_builder/ios/Classes/dummy_file.c (100%) rename {app => packages/localsend_isolates}/rust_builder/ios/rust_lib_localsend_app.podspec (100%) rename {app => packages/localsend_isolates}/rust_builder/linux/CMakeLists.txt (100%) rename {app => packages/localsend_isolates}/rust_builder/macos/Classes/dummy_file.c (100%) rename {app => packages/localsend_isolates}/rust_builder/macos/rust_lib_localsend_app.podspec (100%) rename {app => packages/localsend_isolates}/rust_builder/pubspec.yaml (100%) rename {app => packages/localsend_isolates}/rust_builder/windows/.gitignore (100%) rename {app => packages/localsend_isolates}/rust_builder/windows/CMakeLists.txt (100%) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cf482425..05514eea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,7 +25,7 @@ jobs: working-directory: app run: flutter pub get - name: Dependencies (cargokit - rust_builder) - working-directory: app/rust_builder/cargokit/build_tool + working-directory: packages/localsend_isolates/rust_builder/cargokit/build_tool run: flutter pub get - name: Remove gen directory (app) working-directory: app @@ -49,7 +49,7 @@ jobs: working-directory: app run: flutter pub get - name: Dependencies (cargokit - rust_builder) - working-directory: app/rust_builder/cargokit/build_tool + working-directory: packages/localsend_isolates/rust_builder/cargokit/build_tool run: flutter pub get - name: Analyze (app) working-directory: app diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8c5014cf..a40860c9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -69,7 +69,7 @@ jobs: override: ${{ env.RUST_VERSION }} - name: Check rust-toolchain.toml - working-directory: ${{ env.APK_BUILD_DIR }}/app + working-directory: ${{ env.APK_BUILD_DIR }}/packages/localsend_isolates run: rustup show - name: Dependencies @@ -113,7 +113,7 @@ jobs: override: ${{ env.RUST_VERSION }} - name: Check rust-toolchain.toml - working-directory: app + working-directory: packages/localsend_isolates run: rustup show - name: Dependencies @@ -192,7 +192,7 @@ jobs: override: ${{ env.RUST_VERSION }} - name: Check rust-toolchain.toml - working-directory: app + working-directory: packages/localsend_isolates run: rustup show - name: Enable dart_distributor @@ -292,7 +292,7 @@ jobs: override: ${{ env.RUST_VERSION }} - name: Check rust-toolchain.toml - working-directory: app + working-directory: packages/localsend_isolates run: rustup show - name: Dependencies diff --git a/app/lib/config/init.dart b/app/lib/config/init.dart index 5e279a56..45c2de20 100644 --- a/app/lib/config/init.dart +++ b/app/lib/config/init.dart @@ -10,12 +10,6 @@ import 'package:flutter/widgets.dart'; import 'package:flutter_displaymode/flutter_displaymode.dart'; import 'package:localsend_app/config/refena.dart'; import 'package:localsend_app/config/theme.dart'; -import 'package:localsend_app/isolate/api_route_builder.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/isolate.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/dto/multicast_dto.dart'; -import 'package:localsend_app/isolate/util/logger.dart'; import 'package:localsend_app/pages/home_page.dart'; import 'package:localsend_app/pages/home_page_controller.dart'; import 'package:localsend_app/provider/animation_provider.dart'; @@ -32,8 +26,6 @@ import 'package:localsend_app/provider/selection/selected_sending_files_provider import 'package:localsend_app/provider/settings_provider.dart'; import 'package:localsend_app/provider/tv_provider.dart'; import 'package:localsend_app/provider/window_dimensions_provider.dart'; -import 'package:localsend_app/rust/api/logging.dart' as rust_logging; -import 'package:localsend_app/rust/frb_generated.dart'; import 'package:localsend_app/util/i18n.dart'; import 'package:localsend_app/util/native/autostart_helper.dart'; import 'package:localsend_app/util/native/cache_helper.dart'; @@ -45,6 +37,14 @@ import 'package:localsend_app/util/native/platform_check.dart'; import 'package:localsend_app/util/native/tray_helper.dart'; import 'package:localsend_app/util/ui/dynamic_colors.dart'; import 'package:localsend_app/util/ui/snackbar.dart'; +import 'package:localsend_isolates/api_route_builder.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/isolate.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/dto/multicast_dto.dart'; +import 'package:localsend_isolates/rust/api/logging.dart' as rust_logging; +import 'package:localsend_isolates/rust/frb_generated.dart'; +import 'package:localsend_isolates/util/logger.dart'; import 'package:logging/logging.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:share_handler/share_handler.dart'; diff --git a/app/lib/isolate/isolate.dart b/app/lib/isolate/isolate.dart deleted file mode 100644 index 3ab3dc33..00000000 --- a/app/lib/isolate/isolate.dart +++ /dev/null @@ -1,20 +0,0 @@ -export 'package:localsend_app/isolate/src/isolate/child/server_isolate.dart' - show - HttpServerEvent, - HttpServerFileUploadEvent, - HttpServerFileUploadResultEvent, - HttpServerPrepareUploadEvent, - HttpServerRegisterEvent, - HttpServerSessionEndEvent; -export 'package:localsend_app/isolate/src/isolate/child/sync_provider.dart'; -export 'package:localsend_app/isolate/src/isolate/child/upload_isolate.dart' - show - HttpUploadEvent, - HttpUploadFile, - HttpUploadFileFailedEvent, - HttpUploadFileFinishedEvent, - HttpUploadFileProgressEvent, - HttpUploadFileStartedEvent; -export 'package:localsend_app/isolate/src/isolate/parent/actions.dart'; -export 'package:localsend_app/isolate/src/isolate/parent/actions_sync.dart'; -export 'package:localsend_app/isolate/src/isolate/parent/parent_isolate_provider.dart'; diff --git a/app/lib/main.dart b/app/lib/main.dart index 9edd247c..837c5289 100644 --- a/app/lib/main.dart +++ b/app/lib/main.dart @@ -4,7 +4,6 @@ import 'package:localsend_app/config/init.dart'; import 'package:localsend_app/config/init_error.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/isolate.dart'; import 'package:localsend_app/model/persistence/color_mode.dart'; import 'package:localsend_app/pages/home_page.dart'; import 'package:localsend_app/provider/local_ip_provider.dart'; @@ -14,6 +13,7 @@ import 'package:localsend_app/widget/watcher/life_cycle_watcher.dart'; import 'package:localsend_app/widget/watcher/shortcut_watcher.dart'; import 'package:localsend_app/widget/watcher/tray_watcher.dart'; import 'package:localsend_app/widget/watcher/window_watcher.dart'; +import 'package:localsend_isolates/isolate.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/model/cross_file.dart b/app/lib/model/cross_file.dart index 7eaa1744..47e47dc7 100644 --- a/app/lib/model/cross_file.dart +++ b/app/lib/model/cross_file.dart @@ -1,7 +1,7 @@ import 'dart:typed_data'; import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:wechat_assets_picker/wechat_assets_picker.dart'; part 'cross_file.mapper.dart'; diff --git a/app/lib/model/persistence/receive_history_entry.dart b/app/lib/model/persistence/receive_history_entry.dart index cd9e8a72..948e8412 100644 --- a/app/lib/model/persistence/receive_history_entry.dart +++ b/app/lib/model/persistence/receive_history_entry.dart @@ -1,7 +1,7 @@ import 'package:dart_mappable/dart_mappable.dart'; import 'package:intl/intl.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; +import 'package:localsend_isolates/model/file_type.dart'; part 'receive_history_entry.mapper.dart'; diff --git a/app/lib/model/state/nearby_devices_state.dart b/app/lib/model/state/nearby_devices_state.dart index b0018109..e8afb3c3 100644 --- a/app/lib/model/state/nearby_devices_state.dart +++ b/app/lib/model/state/nearby_devices_state.dart @@ -1,5 +1,5 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/device.dart'; +import 'package:localsend_isolates/model/device.dart'; part 'nearby_devices_state.mapper.dart'; diff --git a/app/lib/model/state/send/send_session_state.dart b/app/lib/model/state/send/send_session_state.dart index beda7b4a..af458845 100644 --- a/app/lib/model/state/send/send_session_state.dart +++ b/app/lib/model/state/send/send_session_state.dart @@ -1,8 +1,8 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; import 'package:localsend_app/model/state/send/sending_file.dart'; import 'package:localsend_app/model/state/server/receive_session_state.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/session_status.dart'; part 'send_session_state.mapper.dart'; diff --git a/app/lib/model/state/send/sending_file.dart b/app/lib/model/state/send/sending_file.dart index f55fc0b6..c3c2b694 100644 --- a/app/lib/model/state/send/sending_file.dart +++ b/app/lib/model/state/send/sending_file.dart @@ -1,8 +1,8 @@ import 'dart:typed_data'; import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/file_status.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/file_status.dart'; import 'package:wechat_assets_picker/wechat_assets_picker.dart'; part 'sending_file.mapper.dart'; diff --git a/app/lib/model/state/send/web/web_send_file.dart b/app/lib/model/state/send/web/web_send_file.dart index 0ad0c0b2..fff839c4 100644 --- a/app/lib/model/state/send/web/web_send_file.dart +++ b/app/lib/model/state/send/web/web_send_file.dart @@ -1,5 +1,5 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; import 'package:wechat_assets_picker/wechat_assets_picker.dart'; part 'web_send_file.mapper.dart'; diff --git a/app/lib/model/state/server/receive_session_state.dart b/app/lib/model/state/server/receive_session_state.dart index d7dff59e..06a1caf2 100644 --- a/app/lib/model/state/server/receive_session_state.dart +++ b/app/lib/model/state/server/receive_session_state.dart @@ -1,10 +1,10 @@ import 'dart:async'; import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; import 'package:localsend_app/model/state/server/receiving_file.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/file_type.dart'; +import 'package:localsend_isolates/model/session_status.dart'; part 'receive_session_state.mapper.dart'; diff --git a/app/lib/model/state/server/receiving_file.dart b/app/lib/model/state/server/receiving_file.dart index b8b3f9fc..3a2231b9 100644 --- a/app/lib/model/state/server/receiving_file.dart +++ b/app/lib/model/state/server/receiving_file.dart @@ -1,6 +1,6 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/file_status.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/file_status.dart'; part 'receiving_file.mapper.dart'; diff --git a/app/lib/model/state/settings_state.dart b/app/lib/model/state/settings_state.dart index 45cb74ad..d3d7947c 100644 --- a/app/lib/model/state/settings_state.dart +++ b/app/lib/model/state/settings_state.dart @@ -1,9 +1,9 @@ import 'package:dart_mappable/dart_mappable.dart'; import 'package:flutter/material.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/model/persistence/color_mode.dart'; import 'package:localsend_app/model/send_mode.dart'; +import 'package:localsend_isolates/model/device.dart'; part 'settings_state.mapper.dart'; diff --git a/app/lib/pages/apk_picker_page.dart b/app/lib/pages/apk_picker_page.dart index b8d3f8d2..a1e79d0d 100644 --- a/app/lib/pages/apk_picker_page.dart +++ b/app/lib/pages/apk_picker_page.dart @@ -1,7 +1,6 @@ import 'package:device_apps/device_apps.dart'; import 'package:flutter/material.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; import 'package:localsend_app/provider/apk_provider.dart'; import 'package:localsend_app/provider/selection/selected_sending_files_provider.dart'; import 'package:localsend_app/util/file_size_helper.dart'; @@ -10,6 +9,7 @@ import 'package:localsend_app/util/ui/nav_bar_padding.dart'; import 'package:localsend_app/widget/file_thumbnail.dart'; import 'package:localsend_app/widget/responsive_list_view.dart'; import 'package:localsend_app/widget/sliver/sliver_pinned_header.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/pages/progress_page.dart b/app/lib/pages/progress_page.dart index 02571f10..31372c21 100644 --- a/app/lib/pages/progress_page.dart +++ b/app/lib/pages/progress_page.dart @@ -6,9 +6,6 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/file_status.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; import 'package:localsend_app/model/state/server/receive_session_state.dart'; import 'package:localsend_app/provider/network/send_provider.dart'; import 'package:localsend_app/provider/network/server/server_provider.dart'; @@ -26,6 +23,9 @@ import 'package:localsend_app/widget/custom_progress_bar.dart'; import 'package:localsend_app/widget/dialogs/cancel_session_dialog.dart'; import 'package:localsend_app/widget/dialogs/error_dialog.dart'; import 'package:localsend_app/widget/file_thumbnail.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/file_status.dart'; +import 'package:localsend_isolates/model/session_status.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; import 'package:wakelock_plus/wakelock_plus.dart'; diff --git a/app/lib/pages/receive_history_page.dart b/app/lib/pages/receive_history_page.dart index 547578c2..d4c031c8 100644 --- a/app/lib/pages/receive_history_page.dart +++ b/app/lib/pages/receive_history_page.dart @@ -3,8 +3,6 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; import 'package:localsend_app/model/persistence/receive_history_entry.dart'; import 'package:localsend_app/pages/receive_page.dart'; import 'package:localsend_app/provider/receive_history_provider.dart'; @@ -19,6 +17,8 @@ import 'package:localsend_app/widget/dialogs/file_info_dialog.dart'; import 'package:localsend_app/widget/dialogs/history_clear_dialog.dart'; import 'package:localsend_app/widget/file_thumbnail.dart'; import 'package:localsend_app/widget/responsive_list_view.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/session_status.dart'; import 'package:path/path.dart' as path; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/pages/receive_page.dart b/app/lib/pages/receive_page.dart index 2734cee3..3ab2a17a 100644 --- a/app/lib/pages/receive_page.dart +++ b/app/lib/pages/receive_page.dart @@ -4,9 +4,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; import 'package:localsend_app/model/persistence/color_mode.dart'; import 'package:localsend_app/pages/receive_options_page.dart'; import 'package:localsend_app/provider/favorites_provider.dart'; @@ -20,6 +17,9 @@ import 'package:localsend_app/util/native/taskbar_helper.dart'; import 'package:localsend_app/util/ui/snackbar.dart'; import 'package:localsend_app/widget/device_bage.dart'; import 'package:localsend_app/widget/responsive_list_view.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/session_status.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; import 'package:url_launcher/url_launcher.dart'; diff --git a/app/lib/pages/selected_files_page.dart b/app/lib/pages/selected_files_page.dart index 0eeeb181..0e28a21d 100644 --- a/app/lib/pages/selected_files_page.dart +++ b/app/lib/pages/selected_files_page.dart @@ -2,7 +2,6 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; import 'package:localsend_app/provider/selection/selected_sending_files_provider.dart'; import 'package:localsend_app/util/file_size_helper.dart'; import 'package:localsend_app/util/native/open_file.dart'; @@ -11,6 +10,7 @@ import 'package:localsend_app/widget/custom_basic_appbar.dart'; import 'package:localsend_app/widget/dialogs/message_input_dialog.dart'; import 'package:localsend_app/widget/file_thumbnail.dart'; import 'package:localsend_app/widget/responsive_list_view.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/pages/send_page.dart b/app/lib/pages/send_page.dart index 980b498f..55f4437c 100644 --- a/app/lib/pages/send_page.dart +++ b/app/lib/pages/send_page.dart @@ -3,8 +3,6 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; import 'package:localsend_app/provider/device_info_provider.dart'; import 'package:localsend_app/provider/favorites_provider.dart'; import 'package:localsend_app/provider/network/send_provider.dart'; @@ -16,6 +14,8 @@ import 'package:localsend_app/widget/custom_basic_appbar.dart'; import 'package:localsend_app/widget/dialogs/error_dialog.dart'; import 'package:localsend_app/widget/list_tile/device_list_tile.dart'; import 'package:localsend_app/widget/responsive_list_view.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/session_status.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/pages/settings/network_interfaces_page.dart b/app/lib/pages/settings/network_interfaces_page.dart index 7d78d719..eede28df 100644 --- a/app/lib/pages/settings/network_interfaces_page.dart +++ b/app/lib/pages/settings/network_interfaces_page.dart @@ -3,12 +3,12 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:local_hero/local_hero.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/util/network_interfaces.dart'; import 'package:localsend_app/provider/settings_provider.dart'; import 'package:localsend_app/widget/custom_basic_appbar.dart'; import 'package:localsend_app/widget/dialogs/text_field_tv.dart'; import 'package:localsend_app/widget/labeled_checkbox.dart'; import 'package:localsend_app/widget/responsive_list_view.dart'; +import 'package:localsend_isolates/util/network_interfaces.dart'; import 'package:moform/moform.dart'; import 'package:refena_flutter/refena_flutter.dart'; diff --git a/app/lib/pages/tabs/receive_tab_vm.dart b/app/lib/pages/tabs/receive_tab_vm.dart index c418473a..d1686456 100644 --- a/app/lib/pages/tabs/receive_tab_vm.dart +++ b/app/lib/pages/tabs/receive_tab_vm.dart @@ -1,11 +1,11 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; import 'package:localsend_app/model/state/server/server_state.dart'; import 'package:localsend_app/provider/local_ip_provider.dart'; import 'package:localsend_app/provider/network/server/server_provider.dart'; import 'package:localsend_app/provider/settings_provider.dart'; import 'package:localsend_app/widget/dialogs/quick_save_from_favorites_notice.dart'; import 'package:localsend_app/widget/dialogs/quick_save_notice.dart'; +import 'package:localsend_isolates/util/sleep.dart'; import 'package:refena_flutter/refena_flutter.dart'; /// Whether the advanced network info is shown diff --git a/app/lib/pages/tabs/send_tab.dart b/app/lib/pages/tabs/send_tab.dart index fc7599ce..03c6216d 100644 --- a/app/lib/pages/tabs/send_tab.dart +++ b/app/lib/pages/tabs/send_tab.dart @@ -3,8 +3,6 @@ import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; import 'package:localsend_app/model/send_mode.dart'; import 'package:localsend_app/pages/selected_files_page.dart'; import 'package:localsend_app/pages/tabs/send_tab_vm.dart'; @@ -32,6 +30,8 @@ import 'package:localsend_app/widget/responsive_builder.dart'; import 'package:localsend_app/widget/responsive_list_view.dart'; import 'package:localsend_app/widget/responsive_wrap_view.dart'; import 'package:localsend_app/widget/rotating_widget.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/session_status.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/pages/tabs/send_tab_vm.dart b/app/lib/pages/tabs/send_tab_vm.dart index 23581bcb..d5e12268 100644 --- a/app/lib/pages/tabs/send_tab_vm.dart +++ b/app/lib/pages/tabs/send_tab_vm.dart @@ -1,7 +1,5 @@ import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; import 'package:localsend_app/model/cross_file.dart'; import 'package:localsend_app/model/persistence/favorite_device.dart'; import 'package:localsend_app/model/send_mode.dart'; @@ -21,6 +19,8 @@ import 'package:localsend_app/widget/dialogs/favorite_delete_dialog.dart'; import 'package:localsend_app/widget/dialogs/favorite_dialog.dart'; import 'package:localsend_app/widget/dialogs/favorite_edit_dialog.dart'; import 'package:localsend_app/widget/dialogs/no_files_dialog.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/session_status.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/pages/tabs/settings_tab.dart b/app/lib/pages/tabs/settings_tab.dart index 507476c7..0e63214b 100644 --- a/app/lib/pages/tabs/settings_tab.dart +++ b/app/lib/pages/tabs/settings_tab.dart @@ -6,8 +6,6 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/model/persistence/color_mode.dart'; import 'package:localsend_app/pages/about/about_page.dart'; import 'package:localsend_app/pages/changelog_page.dart'; @@ -32,6 +30,8 @@ import 'package:localsend_app/widget/dialogs/text_field_with_actions.dart'; import 'package:localsend_app/widget/labeled_checkbox.dart'; import 'package:localsend_app/widget/local_send_logo.dart'; import 'package:localsend_app/widget/responsive_list_view.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/device.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; import 'package:url_launcher/url_launcher.dart'; diff --git a/app/lib/pages/tabs/settings_tab_controller.dart b/app/lib/pages/tabs/settings_tab_controller.dart index 87c9c88f..2e53cf33 100644 --- a/app/lib/pages/tabs/settings_tab_controller.dart +++ b/app/lib/pages/tabs/settings_tab_controller.dart @@ -1,8 +1,5 @@ import 'package:flutter/material.dart'; import 'package:localsend_app/config/theme.dart'; -import 'package:localsend_app/isolate/isolate.dart'; -import 'package:localsend_app/isolate/model/device_info_result.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; import 'package:localsend_app/model/persistence/color_mode.dart'; import 'package:localsend_app/pages/language_page.dart'; import 'package:localsend_app/pages/tabs/settings_tab_vm.dart'; @@ -14,6 +11,9 @@ import 'package:localsend_app/util/native/autostart_helper.dart'; import 'package:localsend_app/util/native/context_menu_helper.dart'; import 'package:localsend_app/util/ui/dynamic_colors.dart'; import 'package:localsend_app/util/ui/snackbar.dart'; +import 'package:localsend_isolates/isolate.dart'; +import 'package:localsend_isolates/model/device_info_result.dart'; +import 'package:localsend_isolates/util/sleep.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/pages/tabs/settings_tab_vm.dart b/app/lib/pages/tabs/settings_tab_vm.dart index d3e8d9af..0cebe5b0 100644 --- a/app/lib/pages/tabs/settings_tab_vm.dart +++ b/app/lib/pages/tabs/settings_tab_vm.dart @@ -1,9 +1,9 @@ import 'package:dart_mappable/dart_mappable.dart'; import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/model/device_info_result.dart'; import 'package:localsend_app/model/persistence/color_mode.dart'; import 'package:localsend_app/model/state/server/server_state.dart'; import 'package:localsend_app/model/state/settings_state.dart'; +import 'package:localsend_isolates/model/device_info_result.dart'; part 'settings_tab_vm.mapper.dart'; diff --git a/app/lib/pages/web_send_page.dart b/app/lib/pages/web_send_page.dart index d250a5a0..7f148782 100644 --- a/app/lib/pages/web_send_page.dart +++ b/app/lib/pages/web_send_page.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; import 'package:localsend_app/model/cross_file.dart'; import 'package:localsend_app/provider/local_ip_provider.dart'; import 'package:localsend_app/provider/network/server/server_provider.dart'; @@ -14,6 +13,7 @@ import 'package:localsend_app/widget/dialogs/pin_dialog.dart'; import 'package:localsend_app/widget/dialogs/qr_dialog.dart'; import 'package:localsend_app/widget/dialogs/zoom_dialog.dart'; import 'package:localsend_app/widget/responsive_list_view.dart'; +import 'package:localsend_isolates/util/sleep.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/provider/device_info_provider.dart b/app/lib/provider/device_info_provider.dart index 94c757bc..08bedd3c 100644 --- a/app/lib/provider/device_info_provider.dart +++ b/app/lib/provider/device_info_provider.dart @@ -1,12 +1,12 @@ import 'package:collection/collection.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/isolate.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/device_info_result.dart'; import 'package:localsend_app/provider/local_ip_provider.dart'; import 'package:localsend_app/provider/network/server/server_provider.dart'; import 'package:localsend_app/provider/security_provider.dart'; import 'package:localsend_app/provider/settings_provider.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/isolate.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/device_info_result.dart'; import 'package:refena_flutter/refena_flutter.dart'; final deviceRawInfoProvider = Provider((ref) { diff --git a/app/lib/provider/http_provider.dart b/app/lib/provider/http_provider.dart index 4aefef07..1d25a4c9 100644 --- a/app/lib/provider/http_provider.dart +++ b/app/lib/provider/http_provider.dart @@ -1,5 +1,5 @@ import 'package:localsend_app/provider/security_provider.dart'; -import 'package:localsend_app/rust/api/http.dart'; +import 'package:localsend_isolates/rust/api/http.dart'; import 'package:refena_flutter/refena_flutter.dart'; class HttpClientCollection { diff --git a/app/lib/provider/last_devices.provider.dart b/app/lib/provider/last_devices.provider.dart index 1e3c5bf3..4077ca17 100644 --- a/app/lib/provider/last_devices.provider.dart +++ b/app/lib/provider/last_devices.provider.dart @@ -1,4 +1,4 @@ -import 'package:localsend_app/isolate/model/device.dart'; +import 'package:localsend_isolates/model/device.dart'; import 'package:refena_flutter/refena_flutter.dart'; /// This provider stores the last devices that the user sent a file to. diff --git a/app/lib/provider/local_ip_provider.dart b/app/lib/provider/local_ip_provider.dart index 4512a890..6a32cfe1 100644 --- a/app/lib/provider/local_ip_provider.dart +++ b/app/lib/provider/local_ip_provider.dart @@ -3,10 +3,10 @@ import 'dart:async'; import 'package:collection/collection.dart'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter/foundation.dart'; -import 'package:localsend_app/isolate/util/network_interfaces.dart'; import 'package:localsend_app/model/state/network_state.dart'; import 'package:localsend_app/provider/settings_provider.dart'; import 'package:localsend_app/util/native/platform_check.dart'; +import 'package:localsend_isolates/util/network_interfaces.dart'; import 'package:logging/logging.dart'; import 'package:network_info_plus/network_info_plus.dart' as plugin; import 'package:refena_flutter/refena_flutter.dart'; diff --git a/app/lib/provider/network/nearby_devices_provider.dart b/app/lib/provider/network/nearby_devices_provider.dart index b90737de..ab05dae1 100644 --- a/app/lib/provider/network/nearby_devices_provider.dart +++ b/app/lib/provider/network/nearby_devices_provider.dart @@ -1,12 +1,12 @@ import 'dart:async'; import 'package:collection/collection.dart'; -import 'package:localsend_app/isolate/isolate.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/model/persistence/favorite_device.dart'; import 'package:localsend_app/model/state/nearby_devices_state.dart'; import 'package:localsend_app/provider/favorites_provider.dart'; import 'package:localsend_app/provider/logging/discovery_logs_provider.dart'; +import 'package:localsend_isolates/isolate.dart'; +import 'package:localsend_isolates/model/device.dart'; import 'package:refena_flutter/refena_flutter.dart'; /// This provider is responsible for: diff --git a/app/lib/provider/network/scan_facade.dart b/app/lib/provider/network/scan_facade.dart index 31e8e51e..00e0fc24 100644 --- a/app/lib/provider/network/scan_facade.dart +++ b/app/lib/provider/network/scan_facade.dart @@ -1,12 +1,12 @@ import 'dart:async'; -import 'package:localsend_app/isolate/util/sleep.dart'; import 'package:localsend_app/pages/home_page.dart'; import 'package:localsend_app/pages/home_page_controller.dart'; import 'package:localsend_app/provider/favorites_provider.dart'; import 'package:localsend_app/provider/local_ip_provider.dart'; import 'package:localsend_app/provider/network/nearby_devices_provider.dart'; import 'package:localsend_app/provider/settings_provider.dart'; +import 'package:localsend_isolates/util/sleep.dart'; import 'package:refena_flutter/refena_flutter.dart'; /// Scans the network via multicast first, diff --git a/app/lib/provider/network/send_provider.dart b/app/lib/provider/network/send_provider.dart index 7fc37cb5..5284188a 100644 --- a/app/lib/provider/network/send_provider.dart +++ b/app/lib/provider/network/send_provider.dart @@ -2,13 +2,6 @@ import 'dart:async'; import 'dart:convert'; import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/isolate.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/file_status.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; import 'package:localsend_app/model/cross_file.dart'; import 'package:localsend_app/model/send_mode.dart'; import 'package:localsend_app/model/state/send/send_session_state.dart'; @@ -21,10 +14,17 @@ import 'package:localsend_app/provider/http_provider.dart'; import 'package:localsend_app/provider/progress_provider.dart'; import 'package:localsend_app/provider/selection/selected_sending_files_provider.dart'; import 'package:localsend_app/provider/settings_provider.dart'; -import 'package:localsend_app/rust/api/http.dart' as rust_http; -import 'package:localsend_app/rust/api/model.dart' as rust_model; -import 'package:localsend_app/util/rust.dart'; import 'package:localsend_app/widget/dialogs/pin_dialog.dart'; +import 'package:localsend_isolates/isolate.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/file_status.dart'; +import 'package:localsend_isolates/model/file_type.dart'; +import 'package:localsend_isolates/model/session_status.dart'; +import 'package:localsend_isolates/rust/api/http.dart' as rust_http; +import 'package:localsend_isolates/rust/api/model.dart' as rust_model; +import 'package:localsend_isolates/util/rust.dart'; +import 'package:localsend_isolates/util/sleep.dart'; import 'package:logging/logging.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/provider/network/server/controller/receive_controller.dart b/app/lib/provider/network/server/controller/receive_controller.dart index 401c8dd0..b5214f20 100644 --- a/app/lib/provider/network/server/controller/receive_controller.dart +++ b/app/lib/provider/network/server/controller/receive_controller.dart @@ -6,17 +6,6 @@ import 'package:collection/collection.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/api_route_builder.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/dto/info_dto.dart'; -import 'package:localsend_app/isolate/model/dto/info_register_dto.dart'; -import 'package:localsend_app/isolate/model/dto/prepare_upload_request_dto.dart'; -import 'package:localsend_app/isolate/model/dto/prepare_upload_response_dto.dart'; -import 'package:localsend_app/isolate/model/dto/register_dto.dart'; -import 'package:localsend_app/isolate/model/file_status.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; import 'package:localsend_app/model/state/send/send_session_state.dart'; import 'package:localsend_app/model/state/server/receive_session_state.dart'; import 'package:localsend_app/model/state/server/receiving_file.dart'; @@ -42,9 +31,20 @@ import 'package:localsend_app/util/native/directories.dart'; import 'package:localsend_app/util/native/file_saver.dart'; import 'package:localsend_app/util/native/platform_check.dart'; import 'package:localsend_app/util/native/tray_helper.dart'; -import 'package:localsend_app/util/rust.dart'; import 'package:localsend_app/util/simple_server.dart'; import 'package:localsend_app/widget/dialogs/open_file_dialog.dart'; +import 'package:localsend_isolates/api_route_builder.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/dto/info_dto.dart'; +import 'package:localsend_isolates/model/dto/info_register_dto.dart'; +import 'package:localsend_isolates/model/dto/prepare_upload_request_dto.dart'; +import 'package:localsend_isolates/model/dto/prepare_upload_response_dto.dart'; +import 'package:localsend_isolates/model/dto/register_dto.dart'; +import 'package:localsend_isolates/model/file_status.dart'; +import 'package:localsend_isolates/model/file_type.dart'; +import 'package:localsend_isolates/model/session_status.dart'; +import 'package:localsend_isolates/util/rust.dart'; import 'package:logging/logging.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:refena_flutter/refena_flutter.dart'; diff --git a/app/lib/provider/network/server/controller/send_controller.dart b/app/lib/provider/network/server/controller/send_controller.dart index 2a20ae08..29dc6f25 100644 --- a/app/lib/provider/network/server/controller/send_controller.dart +++ b/app/lib/provider/network/server/controller/send_controller.dart @@ -4,13 +4,6 @@ import 'dart:io'; import 'package:localsend_app/gen/assets.gen.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/api_route_builder.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/dto/info_dto.dart'; -import 'package:localsend_app/isolate/model/dto/receive_request_response_dto.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; -import 'package:localsend_app/isolate/util/stream.dart'; import 'package:localsend_app/model/cross_file.dart'; import 'package:localsend_app/model/state/send/web/web_send_file.dart'; import 'package:localsend_app/model/state/send/web/web_send_session.dart'; @@ -20,6 +13,13 @@ import 'package:localsend_app/provider/network/server/controller/common.dart'; import 'package:localsend_app/provider/network/server/server_utils.dart'; import 'package:localsend_app/provider/settings_provider.dart'; import 'package:localsend_app/util/simple_server.dart'; +import 'package:localsend_isolates/api_route_builder.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/dto/info_dto.dart'; +import 'package:localsend_isolates/model/dto/receive_request_response_dto.dart'; +import 'package:localsend_isolates/model/file_type.dart'; +import 'package:localsend_isolates/util/stream.dart'; import 'package:uri_content/uri_content.dart'; import 'package:uuid/uuid.dart'; diff --git a/app/lib/provider/network/server/server_provider.dart b/app/lib/provider/network/server/server_provider.dart index 99ccc5b2..02db1f0a 100644 --- a/app/lib/provider/network/server/server_provider.dart +++ b/app/lib/provider/network/server/server_provider.dart @@ -1,9 +1,6 @@ import 'dart:async'; import 'dart:io'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/isolate.dart'; -import 'package:localsend_app/isolate/model/dto/multicast_dto.dart'; import 'package:localsend_app/model/cross_file.dart'; import 'package:localsend_app/model/state/server/server_state.dart'; import 'package:localsend_app/provider/network/server/controller/receive_controller.dart'; @@ -13,6 +10,9 @@ import 'package:localsend_app/provider/security_provider.dart'; import 'package:localsend_app/provider/settings_provider.dart'; import 'package:localsend_app/util/alias_generator.dart'; import 'package:localsend_app/util/simple_server.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/isolate.dart'; +import 'package:localsend_isolates/model/dto/multicast_dto.dart'; import 'package:logging/logging.dart'; import 'package:refena_flutter/refena_flutter.dart'; diff --git a/app/lib/provider/network/webrtc/signaling_provider.dart b/app/lib/provider/network/webrtc/signaling_provider.dart index 3cf46ee5..03de4431 100644 --- a/app/lib/provider/network/webrtc/signaling_provider.dart +++ b/app/lib/provider/network/webrtc/signaling_provider.dart @@ -2,8 +2,6 @@ import 'dart:async'; import 'package:dart_mappable/dart_mappable.dart'; import 'package:flutter/foundation.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/provider/device_info_provider.dart'; import 'package:localsend_app/provider/favorites_provider.dart'; import 'package:localsend_app/provider/network/nearby_devices_provider.dart'; @@ -11,9 +9,11 @@ import 'package:localsend_app/provider/network/webrtc/webrtc_receiver.dart'; import 'package:localsend_app/provider/persistence_provider.dart'; import 'package:localsend_app/provider/security_provider.dart'; import 'package:localsend_app/provider/settings_provider.dart'; -import 'package:localsend_app/rust/api/crypto.dart' as crypto; -import 'package:localsend_app/rust/api/model.dart' as rust; -import 'package:localsend_app/rust/api/webrtc.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/rust/api/crypto.dart' as crypto; +import 'package:localsend_isolates/rust/api/model.dart' as rust; +import 'package:localsend_isolates/rust/api/webrtc.dart'; import 'package:refena_flutter/refena_flutter.dart'; part 'signaling_provider.mapper.dart'; diff --git a/app/lib/provider/network/webrtc/webrtc_receiver.dart b/app/lib/provider/network/webrtc/webrtc_receiver.dart index 6bbfb906..1ccb1f39 100644 --- a/app/lib/provider/network/webrtc/webrtc_receiver.dart +++ b/app/lib/provider/network/webrtc/webrtc_receiver.dart @@ -1,14 +1,14 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart' as dart_model; -import 'package:localsend_app/isolate/model/session_status.dart'; -import 'package:localsend_app/isolate/model/stored_security_context.dart'; import 'package:localsend_app/model/persistence/favorite_device.dart'; import 'package:localsend_app/model/state/server/receive_session_state.dart'; import 'package:localsend_app/model/state/settings_state.dart'; import 'package:localsend_app/pages/receive_page.dart'; import 'package:localsend_app/provider/network/webrtc/signaling_provider.dart'; -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/rust/api/webrtc.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart' as dart_model; +import 'package:localsend_isolates/model/session_status.dart'; +import 'package:localsend_isolates/model/stored_security_context.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/rust/api/webrtc.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/provider/persistence_provider.dart b/app/lib/provider/persistence_provider.dart index a435b1c6..47705105 100644 --- a/app/lib/provider/persistence_provider.dart +++ b/app/lib/provider/persistence_provider.dart @@ -5,9 +5,6 @@ import 'package:collection/collection.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/stored_security_context.dart'; import 'package:localsend_app/model/persistence/color_mode.dart'; import 'package:localsend_app/model/persistence/favorite_device.dart'; import 'package:localsend_app/model/persistence/receive_history_entry.dart'; @@ -21,6 +18,9 @@ import 'package:localsend_app/util/security_helper.dart'; import 'package:localsend_app/util/shared_preferences/shared_preferences_file.dart'; import 'package:localsend_app/util/shared_preferences/shared_preferences_portable.dart'; import 'package:localsend_app/util/ui/animations_status.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/stored_security_context.dart'; import 'package:logging/logging.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:shared_preferences/shared_preferences.dart'; diff --git a/app/lib/provider/receive_history_provider.dart b/app/lib/provider/receive_history_provider.dart index 1871815a..e5f0b2c0 100644 --- a/app/lib/provider/receive_history_provider.dart +++ b/app/lib/provider/receive_history_provider.dart @@ -1,6 +1,6 @@ -import 'package:localsend_app/isolate/model/file_type.dart'; import 'package:localsend_app/model/persistence/receive_history_entry.dart'; import 'package:localsend_app/provider/persistence_provider.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:refena_flutter/refena_flutter.dart'; const _maxHistoryEntries = 30; diff --git a/app/lib/provider/security_provider.dart b/app/lib/provider/security_provider.dart index 3d876c94..7137763d 100644 --- a/app/lib/provider/security_provider.dart +++ b/app/lib/provider/security_provider.dart @@ -1,7 +1,7 @@ -import 'package:localsend_app/isolate/isolate.dart'; -import 'package:localsend_app/isolate/model/stored_security_context.dart'; import 'package:localsend_app/provider/persistence_provider.dart'; import 'package:localsend_app/util/security_helper.dart'; +import 'package:localsend_isolates/isolate.dart'; +import 'package:localsend_isolates/model/stored_security_context.dart'; import 'package:refena_flutter/refena_flutter.dart'; /// This provider manages the [StoredSecurityContext]. diff --git a/app/lib/provider/selection/selected_receiving_files_provider.dart b/app/lib/provider/selection/selected_receiving_files_provider.dart index 0febe0fe..56413cfe 100644 --- a/app/lib/provider/selection/selected_receiving_files_provider.dart +++ b/app/lib/provider/selection/selected_receiving_files_provider.dart @@ -1,6 +1,6 @@ import 'package:collection/collection.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; import 'package:localsend_app/util/file_path_helper.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:uuid/uuid.dart'; diff --git a/app/lib/provider/selection/selected_sending_files_provider.dart b/app/lib/provider/selection/selected_sending_files_provider.dart index 3bd5fa3e..97fe6266 100644 --- a/app/lib/provider/selection/selected_sending_files_provider.dart +++ b/app/lib/provider/selection/selected_sending_files_provider.dart @@ -2,7 +2,6 @@ import 'dart:convert' show jsonDecode, utf8; import 'dart:io'; import 'dart:typed_data'; -import 'package:localsend_app/isolate/model/file_type.dart'; import 'package:localsend_app/model/cross_file.dart'; import 'package:localsend_app/util/file_path_helper.dart'; import 'package:localsend_app/util/native/cache_helper.dart'; @@ -10,6 +9,7 @@ import 'package:localsend_app/util/native/channel/android_channel.dart' as andro import 'package:localsend_app/util/native/content_uri_helper.dart'; import 'package:localsend_app/util/native/cross_file_converters.dart'; import 'package:localsend_app/util/send_ignore.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:logging/logging.dart'; import 'package:path/path.dart' as p; import 'package:refena_flutter/refena_flutter.dart'; diff --git a/app/lib/provider/settings_provider.dart b/app/lib/provider/settings_provider.dart index efea0b5b..8a616ce8 100644 --- a/app/lib/provider/settings_provider.dart +++ b/app/lib/provider/settings_provider.dart @@ -1,12 +1,12 @@ import 'package:collection/collection.dart'; import 'package:flutter/material.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/isolate.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/model/persistence/color_mode.dart'; import 'package:localsend_app/model/send_mode.dart'; import 'package:localsend_app/model/state/settings_state.dart'; import 'package:localsend_app/provider/persistence_provider.dart'; +import 'package:localsend_isolates/isolate.dart'; +import 'package:localsend_isolates/model/device.dart'; import 'package:refena_flutter/refena_flutter.dart'; final _listEq = const ListEquality().equals; diff --git a/app/lib/util/device_type_ext.dart b/app/lib/util/device_type_ext.dart index 48947b07..e35045bc 100644 --- a/app/lib/util/device_type_ext.dart +++ b/app/lib/util/device_type_ext.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/model/device.dart'; +import 'package:localsend_isolates/model/device.dart'; extension DeviceTypeExt on DeviceType { IconData get icon { diff --git a/app/lib/util/favorites.dart b/app/lib/util/favorites.dart index d31dbb2e..c3f72215 100644 --- a/app/lib/util/favorites.dart +++ b/app/lib/util/favorites.dart @@ -1,6 +1,6 @@ import 'package:collection/collection.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/model/persistence/favorite_device.dart'; +import 'package:localsend_isolates/model/device.dart'; extension FavoriteDevicesExt on Iterable { /// Returns the favorite device with the given [device] or null if not found. diff --git a/app/lib/util/file_path_helper.dart b/app/lib/util/file_path_helper.dart index 6a879a49..aee1b161 100644 --- a/app/lib/util/file_path_helper.dart +++ b/app/lib/util/file_path_helper.dart @@ -1,4 +1,4 @@ -import 'package:localsend_app/isolate/model/file_type.dart'; +import 'package:localsend_isolates/model/file_type.dart'; /// Matches myFile (123) -> "myFile", " (123)" final _fileNumberRegex = RegExp(r'^(.*)(?:(\s\(\d+\)))$'); diff --git a/app/lib/util/file_type_ext.dart b/app/lib/util/file_type_ext.dart index bb574416..b13372fc 100644 --- a/app/lib/util/file_type_ext.dart +++ b/app/lib/util/file_type_ext.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; +import 'package:localsend_isolates/model/file_type.dart'; extension FileTypeExt on FileType { IconData get icon { diff --git a/app/lib/util/native/cache_helper.dart b/app/lib/util/native/cache_helper.dart index ea5281b0..560b7940 100644 --- a/app/lib/util/native/cache_helper.dart +++ b/app/lib/util/native/cache_helper.dart @@ -5,9 +5,9 @@ import 'dart:isolate'; import 'package:file_picker/file_picker.dart'; import 'package:flutter/services.dart'; -import 'package:localsend_app/isolate/util/logger.dart'; import 'package:localsend_app/util/file_path_helper.dart'; import 'package:localsend_app/util/native/platform_check.dart'; +import 'package:localsend_isolates/util/logger.dart'; import 'package:logging/logging.dart'; import 'package:path_provider/path_provider.dart'; import 'package:path_provider_foundation/path_provider_foundation.dart'; diff --git a/app/lib/util/native/channel/android_channel.dart b/app/lib/util/native/channel/android_channel.dart index b3b7bc26..081fcd47 100644 --- a/app/lib/util/native/channel/android_channel.dart +++ b/app/lib/util/native/channel/android_channel.dart @@ -44,20 +44,6 @@ Future getSystemAnimationsStatusAndroid() async { return await _methodChannel.invokeMethod('isAnimationsEnabled') ?? true; } -/// Opens [uri] for reading and returns an owned Linux file descriptor. -/// -/// The descriptor stays open after this call and must be closed by the native -/// consumer it is passed to. -Future getFileDescriptorAndroid({required String uri}) async { - final fileDescriptor = await _methodChannel.invokeMethod('getFileDescriptor', { - 'uri': uri, - }); - if (fileDescriptor == null) { - throw StateError('Android returned no file descriptor for $uri'); - } - return fileDescriptor; -} - Future createDirectory({ required String documentUri, required String directoryName, diff --git a/app/lib/util/native/cross_file_converters.dart b/app/lib/util/native/cross_file_converters.dart index bb757698..fb173164 100644 --- a/app/lib/util/native/cross_file_converters.dart +++ b/app/lib/util/native/cross_file_converters.dart @@ -3,10 +3,10 @@ import 'dart:io'; import 'package:device_apps/device_apps.dart'; import 'package:flutter/foundation.dart'; import 'package:image_picker/image_picker.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; import 'package:localsend_app/model/cross_file.dart'; import 'package:localsend_app/util/file_path_helper.dart'; import 'package:localsend_app/util/native/channel/android_channel.dart' as android_channel; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:share_handler/share_handler.dart'; import 'package:wechat_assets_picker/wechat_assets_picker.dart'; diff --git a/app/lib/util/native/device_info_helper.dart b/app/lib/util/native/device_info_helper.dart index 2e7733da..fc6e878d 100644 --- a/app/lib/util/native/device_info_helper.dart +++ b/app/lib/util/native/device_info_helper.dart @@ -1,7 +1,7 @@ import 'package:device_info_plus/device_info_plus.dart'; import 'package:flutter/foundation.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/device_info_result.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/device_info_result.dart'; // ignore: implementation_imports import 'package:slang/src/builder/model/enums.dart'; // ignore: implementation_imports diff --git a/app/lib/util/native/file_picker.dart b/app/lib/util/native/file_picker.dart index 1fc39ced..b874ef8b 100644 --- a/app/lib/util/native/file_picker.dart +++ b/app/lib/util/native/file_picker.dart @@ -6,8 +6,6 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; import 'package:localsend_app/model/cross_file.dart'; import 'package:localsend_app/pages/apk_picker_page.dart'; import 'package:localsend_app/provider/device_info_provider.dart'; @@ -23,6 +21,8 @@ import 'package:localsend_app/util/ui/asset_picker_translated_text_delegate.dart import 'package:localsend_app/widget/dialogs/loading_dialog.dart'; import 'package:localsend_app/widget/dialogs/message_input_dialog.dart'; import 'package:localsend_app/widget/dialogs/no_permission_dialog.dart'; +import 'package:localsend_isolates/model/file_type.dart'; +import 'package:localsend_isolates/util/sleep.dart'; import 'package:logging/logging.dart'; import 'package:pasteboard/pasteboard.dart'; import 'package:permission_handler/permission_handler.dart'; diff --git a/app/lib/util/native/open_file.dart b/app/lib/util/native/open_file.dart index eda3accf..7c1979b4 100644 --- a/app/lib/util/native/open_file.dart +++ b/app/lib/util/native/open_file.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; import 'package:localsend_app/util/native/channel/android_channel.dart' as android_channel; import 'package:localsend_app/util/native/platform_check.dart'; import 'package:localsend_app/widget/dialogs/cannot_open_file_dialog.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:open_filex/open_filex.dart'; import 'package:permission_handler/permission_handler.dart'; diff --git a/app/lib/util/native/taskbar_helper.dart b/app/lib/util/native/taskbar_helper.dart index 6c575104..b016fb32 100644 --- a/app/lib/util/native/taskbar_helper.dart +++ b/app/lib/util/native/taskbar_helper.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/model/session_status.dart'; import 'package:localsend_app/util/native/macos_channel.dart'; import 'package:localsend_app/util/native/platform_check.dart'; +import 'package:localsend_isolates/model/session_status.dart'; import 'package:windows_taskbar/windows_taskbar.dart'; enum TaskbarIcon { regular, error, success } diff --git a/app/lib/util/security_helper.dart b/app/lib/util/security_helper.dart index 70166fa9..19f4a00c 100644 --- a/app/lib/util/security_helper.dart +++ b/app/lib/util/security_helper.dart @@ -3,8 +3,8 @@ import 'dart:typed_data'; import 'package:basic_utils/basic_utils.dart'; import 'package:convert/convert.dart'; -import 'package:localsend_app/isolate/model/stored_security_context.dart'; -import 'package:localsend_app/rust/api/crypto.dart' as rust; +import 'package:localsend_isolates/model/stored_security_context.dart'; +import 'package:localsend_isolates/rust/api/crypto.dart' as rust; /// Generates a random [SecurityContextResult]. StoredSecurityContext generateSecurityContext([AsymmetricKeyPair? keyPair]) { diff --git a/app/lib/widget/animated_opacity_cross_fade.dart b/app/lib/widget/animated_opacity_cross_fade.dart index 56bbd600..f5ea1c6e 100644 --- a/app/lib/widget/animated_opacity_cross_fade.dart +++ b/app/lib/widget/animated_opacity_cross_fade.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; +import 'package:localsend_isolates/util/sleep.dart'; /// The same as AnimatedCrossFade but with an opacity animation class AnimatedOpacityCrossFade extends StatefulWidget { diff --git a/app/lib/widget/animations/initial_fade_transition.dart b/app/lib/widget/animations/initial_fade_transition.dart index 9bdb03fe..7ece1911 100644 --- a/app/lib/widget/animations/initial_fade_transition.dart +++ b/app/lib/widget/animations/initial_fade_transition.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; +import 'package:localsend_isolates/util/sleep.dart'; class InitialFadeTransition extends StatefulWidget { final Widget child; diff --git a/app/lib/widget/animations/initial_slide_transition.dart b/app/lib/widget/animations/initial_slide_transition.dart index 2e302669..b0df1e3d 100644 --- a/app/lib/widget/animations/initial_slide_transition.dart +++ b/app/lib/widget/animations/initial_slide_transition.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; +import 'package:localsend_isolates/util/sleep.dart'; class InitialSlideTransition extends StatefulWidget { final Widget child; diff --git a/app/lib/widget/dialogs/address_input_dialog.dart b/app/lib/widget/dialogs/address_input_dialog.dart index 185b94d8..dc904231 100644 --- a/app/lib/widget/dialogs/address_input_dialog.dart +++ b/app/lib/widget/dialogs/address_input_dialog.dart @@ -5,15 +5,15 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/provider/device_info_provider.dart'; import 'package:localsend_app/provider/http_provider.dart'; import 'package:localsend_app/provider/last_devices.provider.dart'; import 'package:localsend_app/provider/local_ip_provider.dart'; import 'package:localsend_app/provider/settings_provider.dart'; -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/util/rust.dart'; import 'package:localsend_app/widget/dialogs/error_dialog.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/util/rust.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/widget/dialogs/favorite_dialog.dart b/app/lib/widget/dialogs/favorite_dialog.dart index 0075e08e..63135097 100644 --- a/app/lib/widget/dialogs/favorite_dialog.dart +++ b/app/lib/widget/dialogs/favorite_dialog.dart @@ -1,16 +1,16 @@ import 'package:flutter/material.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/model/persistence/favorite_device.dart'; import 'package:localsend_app/provider/device_info_provider.dart'; import 'package:localsend_app/provider/favorites_provider.dart'; import 'package:localsend_app/provider/http_provider.dart'; import 'package:localsend_app/provider/settings_provider.dart'; -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/util/rust.dart'; import 'package:localsend_app/widget/dialogs/error_dialog.dart'; import 'package:localsend_app/widget/dialogs/favorite_edit_dialog.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/util/rust.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/widget/dialogs/favorite_edit_dialog.dart b/app/lib/widget/dialogs/favorite_edit_dialog.dart index 877119e5..45af080a 100644 --- a/app/lib/widget/dialogs/favorite_edit_dialog.dart +++ b/app/lib/widget/dialogs/favorite_edit_dialog.dart @@ -1,16 +1,16 @@ import 'package:flutter/material.dart'; import 'package:localsend_app/config/theme.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/model/persistence/favorite_device.dart'; import 'package:localsend_app/provider/device_info_provider.dart'; import 'package:localsend_app/provider/favorites_provider.dart'; import 'package:localsend_app/provider/http_provider.dart'; import 'package:localsend_app/provider/settings_provider.dart'; -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/util/rust.dart'; import 'package:localsend_app/widget/dialogs/error_dialog.dart'; import 'package:localsend_app/widget/dialogs/favorite_delete_dialog.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/util/rust.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:routerino/routerino.dart'; diff --git a/app/lib/widget/dialogs/open_file_dialog.dart b/app/lib/widget/dialogs/open_file_dialog.dart index 279df423..e58f708d 100644 --- a/app/lib/widget/dialogs/open_file_dialog.dart +++ b/app/lib/widget/dialogs/open_file_dialog.dart @@ -4,10 +4,10 @@ import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:localsend_app/gen/strings.g.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; import 'package:localsend_app/util/native/channel/android_channel.dart' as android_channel; import 'package:localsend_app/util/native/open_file.dart'; import 'package:localsend_app/util/native/open_folder.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:path/path.dart' as path; import 'package:routerino/routerino.dart'; diff --git a/app/lib/widget/file_thumbnail.dart b/app/lib/widget/file_thumbnail.dart index be755825..ad7e0076 100644 --- a/app/lib/widget/file_thumbnail.dart +++ b/app/lib/widget/file_thumbnail.dart @@ -3,9 +3,9 @@ import 'dart:ui'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; import 'package:localsend_app/model/cross_file.dart'; import 'package:localsend_app/util/file_type_ext.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:uri_content/uri_content.dart'; import 'package:wechat_assets_picker/wechat_assets_picker.dart'; diff --git a/app/lib/widget/list_tile/device_list_tile.dart b/app/lib/widget/list_tile/device_list_tile.dart index 7c20fdf7..965a83fd 100644 --- a/app/lib/widget/list_tile/device_list_tile.dart +++ b/app/lib/widget/list_tile/device_list_tile.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/util/device_type_ext.dart'; import 'package:localsend_app/widget/custom_progress_bar.dart'; import 'package:localsend_app/widget/device_bage.dart'; import 'package:localsend_app/widget/list_tile/custom_list_tile.dart'; +import 'package:localsend_isolates/model/device.dart'; class DeviceListTile extends StatelessWidget { final Device device; diff --git a/app/lib/widget/list_tile/device_placeholder_list_tile.dart b/app/lib/widget/list_tile/device_placeholder_list_tile.dart index fcd11597..fe0ddb34 100644 --- a/app/lib/widget/list_tile/device_placeholder_list_tile.dart +++ b/app/lib/widget/list_tile/device_placeholder_list_tile.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/provider/animation_provider.dart'; import 'package:localsend_app/util/device_type_ext.dart'; import 'package:localsend_app/widget/device_bage.dart'; import 'package:localsend_app/widget/list_tile/custom_list_tile.dart'; import 'package:localsend_app/widget/opacity_slideshow.dart'; +import 'package:localsend_isolates/model/device.dart'; import 'package:refena_flutter/refena_flutter.dart'; class DevicePlaceholderListTile extends StatelessWidget { diff --git a/app/lib/widget/opacity_slideshow.dart b/app/lib/widget/opacity_slideshow.dart index 2b2eed30..fa79f4cb 100644 --- a/app/lib/widget/opacity_slideshow.dart +++ b/app/lib/widget/opacity_slideshow.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; +import 'package:localsend_isolates/util/sleep.dart'; /// A slideshow of widgets using [AnimatedOpacity] as transition. class OpacitySlideshow extends StatefulWidget { diff --git a/app/lib/widget/rotating_widget.dart b/app/lib/widget/rotating_widget.dart index 84813f17..cec0d4c8 100644 --- a/app/lib/widget/rotating_widget.dart +++ b/app/lib/widget/rotating_widget.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; +import 'package:localsend_isolates/util/sleep.dart'; class RotatingWidget extends StatefulWidget { final Duration duration; diff --git a/app/pubspec.lock b/app/pubspec.lock index b7d5983d..66e7e4ef 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -565,7 +565,7 @@ packages: source: hosted version: "2.0.35" flutter_rust_bridge: - dependency: "direct main" + dependency: transitive description: name: flutter_rust_bridge sha256: e87d6b9ee934dcd24a128ccb2bd91905d2d5fe5c06245d6a8f5477d4907a437a @@ -910,6 +910,13 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.0" + localsend_isolates: + dependency: "direct main" + description: + path: "../packages/localsend_isolates" + relative: true + source: path + version: "0.0.1" logging: dependency: "direct main" description: @@ -1401,9 +1408,9 @@ packages: source: hosted version: "0.8.1" rust_lib_localsend_app: - dependency: "direct main" + dependency: transitive description: - path: rust_builder + path: "../packages/localsend_isolates/rust_builder" relative: true source: path version: "0.0.1" @@ -1757,7 +1764,7 @@ packages: source: hosted version: "1.4.0" typed_isolates: - dependency: "direct main" + dependency: transitive description: path: "../packages/typed_isolates" relative: true diff --git a/app/pubspec.yaml b/app/pubspec.yaml index cdfbecd9..6a75483f 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -28,7 +28,6 @@ dependencies: flutter_localizations: sdk: flutter flutter_markdown: 0.7.7+1 - flutter_rust_bridge: 2.12.0 freezed_annotation: 3.1.0 gal: 2.3.2 glob: 2.1.3 @@ -38,6 +37,8 @@ dependencies: intl: ^0.20.2 # allow newer versions, so it can compile with newer Flutter versions legalize: 1.2.2 local_hero: 0.3.0 + localsend_isolates: + path: ../packages/localsend_isolates logging: 1.3.0 # https://github.com/NightFeather0615/macos_dock_progress/issues/1 # macos_dock_progress: 1.1.0 @@ -57,8 +58,6 @@ dependencies: refena_flutter: 3.2.1 refena_inspector_client: 2.1.1 routerino: 0.8.1 - rust_lib_localsend_app: - path: rust_builder saf_stream: 2.0.0 screen_retriever: 0.2.2 share_handler: 0.0.22 @@ -68,8 +67,6 @@ dependencies: slang_flutter: 4.18.0 system_settings_2: 3.0.2 tray_manager: 0.5.3 - typed_isolates: - path: ../packages/typed_isolates uri_content: 3.1.1 url_launcher: 6.3.2 uuid: 4.5.3 diff --git a/app/test/mocks.mocks.dart b/app/test/mocks.mocks.dart index de230c87..07278432 100644 --- a/app/test/mocks.mocks.dart +++ b/app/test/mocks.mocks.dart @@ -7,8 +7,8 @@ import 'dart:async' as _i4; import 'package:flutter/material.dart' as _i8; import 'package:localsend_app/gen/strings.g.dart' as _i10; -import 'package:localsend_app/isolate/model/device.dart' as _i12; -import 'package:localsend_app/isolate/model/stored_security_context.dart' as _i2; +import 'package:localsend_isolates/model/device.dart' as _i12; +import 'package:localsend_isolates/model/stored_security_context.dart' as _i2; import 'package:localsend_app/model/persistence/color_mode.dart' as _i9; import 'package:localsend_app/model/persistence/favorite_device.dart' as _i6; import 'package:localsend_app/model/persistence/receive_history_entry.dart' as _i5; diff --git a/app/test/unit/model/device_test.dart b/app/test/unit/model/device_test.dart index 347dc9e2..66c86eac 100644 --- a/app/test/unit/model/device_test.dart +++ b/app/test/unit/model/device_test.dart @@ -1,4 +1,4 @@ -import 'package:localsend_app/isolate/model/device.dart'; +import 'package:localsend_isolates/model/device.dart'; import 'package:test/test.dart'; void main() { diff --git a/app/test/unit/model/dto/prepare_upload_request_dto_test.dart b/app/test/unit/model/dto/prepare_upload_request_dto_test.dart index 14c5862c..5dbbfe1b 100644 --- a/app/test/unit/model/dto/prepare_upload_request_dto_test.dart +++ b/app/test/unit/model/dto/prepare_upload_request_dto_test.dart @@ -1,11 +1,11 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/dto/info_register_dto.dart'; -import 'package:localsend_app/isolate/model/dto/multicast_dto.dart'; -import 'package:localsend_app/isolate/model/dto/prepare_upload_request_dto.dart'; -import 'package:localsend_app/isolate/model/dto/prepare_upload_response_dto.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/dto/info_register_dto.dart'; +import 'package:localsend_isolates/model/dto/multicast_dto.dart'; +import 'package:localsend_isolates/model/dto/prepare_upload_request_dto.dart'; +import 'package:localsend_isolates/model/dto/prepare_upload_response_dto.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:test/test.dart'; void main() { diff --git a/app/test/unit/provider/last_devices_provider_test.dart b/app/test/unit/provider/last_devices_provider_test.dart index efa2001f..c90d4d86 100644 --- a/app/test/unit/provider/last_devices_provider_test.dart +++ b/app/test/unit/provider/last_devices_provider_test.dart @@ -1,5 +1,5 @@ -import 'package:localsend_app/isolate/model/device.dart'; import 'package:localsend_app/provider/last_devices.provider.dart'; +import 'package:localsend_isolates/model/device.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:test/test.dart'; diff --git a/app/test/unit/provider/receive_history_provider_test.dart b/app/test/unit/provider/receive_history_provider_test.dart index c054853a..75661b14 100644 --- a/app/test/unit/provider/receive_history_provider_test.dart +++ b/app/test/unit/provider/receive_history_provider_test.dart @@ -1,7 +1,7 @@ import 'package:intl/date_symbol_data_local.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; import 'package:localsend_app/model/persistence/receive_history_entry.dart'; import 'package:localsend_app/provider/receive_history_provider.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:mockito/mockito.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:test/test.dart'; diff --git a/app/test/unit/util/api_route_builder_test.dart b/app/test/unit/util/api_route_builder_test.dart index 2fda51e2..cb45bab9 100644 --- a/app/test/unit/util/api_route_builder_test.dart +++ b/app/test/unit/util/api_route_builder_test.dart @@ -1,5 +1,5 @@ -import 'package:localsend_app/isolate/api_route_builder.dart'; -import 'package:localsend_app/isolate/model/device.dart'; +import 'package:localsend_isolates/api_route_builder.dart'; +import 'package:localsend_isolates/model/device.dart'; import 'package:test/test.dart'; void main() { diff --git a/app/test/unit/util/network_interfaces_test.dart b/app/test/unit/util/network_interfaces_test.dart index 4a02a996..a6f24fe6 100644 --- a/app/test/unit/util/network_interfaces_test.dart +++ b/app/test/unit/util/network_interfaces_test.dart @@ -1,4 +1,4 @@ -import 'package:localsend_app/isolate/util/network_interfaces.dart'; +import 'package:localsend_isolates/util/network_interfaces.dart'; import 'package:test/test.dart'; void main() { diff --git a/app/test/unit/util/task_runner_test.dart b/app/test/unit/util/task_runner_test.dart index de99d77d..b048067d 100644 --- a/app/test/unit/util/task_runner_test.dart +++ b/app/test/unit/util/task_runner_test.dart @@ -1,5 +1,5 @@ -import 'package:localsend_app/isolate/util/sleep.dart'; -import 'package:localsend_app/isolate/util/task_runner.dart'; +import 'package:localsend_isolates/util/sleep.dart'; +import 'package:localsend_isolates/util/task_runner.dart'; import 'package:test/test.dart'; void main() { diff --git a/packages/localsend_isolates/.gitignore b/packages/localsend_isolates/.gitignore new file mode 100644 index 00000000..935d9aed --- /dev/null +++ b/packages/localsend_isolates/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies diff --git a/packages/localsend_isolates/analysis_options.yaml b/packages/localsend_isolates/analysis_options.yaml new file mode 100644 index 00000000..63f6854e --- /dev/null +++ b/packages/localsend_isolates/analysis_options.yaml @@ -0,0 +1,21 @@ +include: package:flutter_lints/flutter.yaml + +analyzer: + exclude: + - lib/**.g.dart + - lib/**.freezed.dart + +formatter: + trailing_commas: preserve + page_width: 150 + +linter: + rules: + use_key_in_widget_constructors: false + + prefer_single_quotes: true + sort_pub_dependencies: true + always_use_package_imports: true + directives_ordering: true + unawaited_futures: true + discarded_futures: true diff --git a/packages/localsend_isolates/build.yaml b/packages/localsend_isolates/build.yaml new file mode 100644 index 00000000..e939605e --- /dev/null +++ b/packages/localsend_isolates/build.yaml @@ -0,0 +1,10 @@ +targets: + $default: + builders: + dart_mappable_builder: + options: + renameMethods: + fromJson: deserialize + toJson: serialize + fromMap: fromJson + toMap: toJson diff --git a/app/flutter_rust_bridge.yaml b/packages/localsend_isolates/flutter_rust_bridge.yaml similarity index 100% rename from app/flutter_rust_bridge.yaml rename to packages/localsend_isolates/flutter_rust_bridge.yaml diff --git a/app/lib/isolate/api_route_builder.dart b/packages/localsend_isolates/lib/api_route_builder.dart similarity index 94% rename from app/lib/isolate/api_route_builder.dart rename to packages/localsend_isolates/lib/api_route_builder.dart index b3753c7c..a6c0b72a 100644 --- a/app/lib/isolate/api_route_builder.dart +++ b/packages/localsend_isolates/lib/api_route_builder.dart @@ -1,4 +1,4 @@ -import 'package:localsend_app/isolate/model/device.dart'; +import 'package:localsend_isolates/model/device.dart'; const _basePath = '/api/localsend'; diff --git a/app/lib/isolate/constants.dart b/packages/localsend_isolates/lib/constants.dart similarity index 100% rename from app/lib/isolate/constants.dart rename to packages/localsend_isolates/lib/constants.dart diff --git a/packages/localsend_isolates/lib/isolate.dart b/packages/localsend_isolates/lib/isolate.dart new file mode 100644 index 00000000..f358b089 --- /dev/null +++ b/packages/localsend_isolates/lib/isolate.dart @@ -0,0 +1,20 @@ +export 'package:localsend_isolates/src/isolate/child/server_isolate.dart' + show + HttpServerEvent, + HttpServerFileUploadEvent, + HttpServerFileUploadResultEvent, + HttpServerPrepareUploadEvent, + HttpServerRegisterEvent, + HttpServerSessionEndEvent; +export 'package:localsend_isolates/src/isolate/child/sync_provider.dart'; +export 'package:localsend_isolates/src/isolate/child/upload_isolate.dart' + show + HttpUploadEvent, + HttpUploadFile, + HttpUploadFileFailedEvent, + HttpUploadFileFinishedEvent, + HttpUploadFileProgressEvent, + HttpUploadFileStartedEvent; +export 'package:localsend_isolates/src/isolate/parent/actions.dart'; +export 'package:localsend_isolates/src/isolate/parent/actions_sync.dart'; +export 'package:localsend_isolates/src/isolate/parent/parent_isolate_provider.dart'; diff --git a/app/lib/isolate/model/device.dart b/packages/localsend_isolates/lib/model/device.dart similarity index 100% rename from app/lib/isolate/model/device.dart rename to packages/localsend_isolates/lib/model/device.dart diff --git a/app/lib/isolate/model/device.mapper.dart b/packages/localsend_isolates/lib/model/device.mapper.dart similarity index 100% rename from app/lib/isolate/model/device.mapper.dart rename to packages/localsend_isolates/lib/model/device.mapper.dart diff --git a/app/lib/isolate/model/device_info_result.dart b/packages/localsend_isolates/lib/model/device_info_result.dart similarity index 85% rename from app/lib/isolate/model/device_info_result.dart rename to packages/localsend_isolates/lib/model/device_info_result.dart index ad2fc930..2f2ea662 100644 --- a/app/lib/isolate/model/device_info_result.dart +++ b/packages/localsend_isolates/lib/model/device_info_result.dart @@ -1,4 +1,4 @@ -import 'package:localsend_app/isolate/model/device.dart'; +import 'package:localsend_isolates/model/device.dart'; class DeviceInfoResult { final DeviceType deviceType; diff --git a/app/lib/isolate/model/dto/file_dto.dart b/packages/localsend_isolates/lib/model/dto/file_dto.dart similarity index 98% rename from app/lib/isolate/model/dto/file_dto.dart rename to packages/localsend_isolates/lib/model/dto/file_dto.dart index 9f6d4180..c44ab655 100644 --- a/app/lib/isolate/model/dto/file_dto.dart +++ b/packages/localsend_isolates/lib/model/dto/file_dto.dart @@ -1,6 +1,6 @@ import 'package:collection/collection.dart'; import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/file_type.dart'; +import 'package:localsend_isolates/model/file_type.dart'; import 'package:mime/mime.dart'; part 'file_dto.mapper.dart'; diff --git a/app/lib/isolate/model/dto/file_dto.mapper.dart b/packages/localsend_isolates/lib/model/dto/file_dto.mapper.dart similarity index 100% rename from app/lib/isolate/model/dto/file_dto.mapper.dart rename to packages/localsend_isolates/lib/model/dto/file_dto.mapper.dart diff --git a/app/lib/isolate/model/dto/info_dto.dart b/packages/localsend_isolates/lib/model/dto/info_dto.dart similarity index 91% rename from app/lib/isolate/model/dto/info_dto.dart rename to packages/localsend_isolates/lib/model/dto/info_dto.dart index e0c31f37..b1585901 100644 --- a/app/lib/isolate/model/dto/info_dto.dart +++ b/packages/localsend_isolates/lib/model/dto/info_dto.dart @@ -1,6 +1,6 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/device.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/device.dart'; part 'info_dto.mapper.dart'; diff --git a/app/lib/isolate/model/dto/info_dto.mapper.dart b/packages/localsend_isolates/lib/model/dto/info_dto.mapper.dart similarity index 100% rename from app/lib/isolate/model/dto/info_dto.mapper.dart rename to packages/localsend_isolates/lib/model/dto/info_dto.mapper.dart diff --git a/app/lib/isolate/model/dto/info_register_dto.dart b/packages/localsend_isolates/lib/model/dto/info_register_dto.dart similarity index 89% rename from app/lib/isolate/model/dto/info_register_dto.dart rename to packages/localsend_isolates/lib/model/dto/info_register_dto.dart index 7849c4a0..30fd8032 100644 --- a/app/lib/isolate/model/dto/info_register_dto.dart +++ b/packages/localsend_isolates/lib/model/dto/info_register_dto.dart @@ -1,7 +1,7 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/dto/multicast_dto.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/dto/multicast_dto.dart'; part 'info_register_dto.mapper.dart'; diff --git a/app/lib/isolate/model/dto/info_register_dto.mapper.dart b/packages/localsend_isolates/lib/model/dto/info_register_dto.mapper.dart similarity index 100% rename from app/lib/isolate/model/dto/info_register_dto.mapper.dart rename to packages/localsend_isolates/lib/model/dto/info_register_dto.mapper.dart diff --git a/app/lib/isolate/model/dto/multicast_dto.dart b/packages/localsend_isolates/lib/model/dto/multicast_dto.dart similarity index 93% rename from app/lib/isolate/model/dto/multicast_dto.dart rename to packages/localsend_isolates/lib/model/dto/multicast_dto.dart index da7c9750..d317cf83 100644 --- a/app/lib/isolate/model/dto/multicast_dto.dart +++ b/packages/localsend_isolates/lib/model/dto/multicast_dto.dart @@ -1,6 +1,6 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/device.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/device.dart'; part 'multicast_dto.mapper.dart'; diff --git a/app/lib/isolate/model/dto/multicast_dto.mapper.dart b/packages/localsend_isolates/lib/model/dto/multicast_dto.mapper.dart similarity index 100% rename from app/lib/isolate/model/dto/multicast_dto.mapper.dart rename to packages/localsend_isolates/lib/model/dto/multicast_dto.mapper.dart diff --git a/app/lib/isolate/model/dto/prepare_upload_request_dto.dart b/packages/localsend_isolates/lib/model/dto/prepare_upload_request_dto.dart similarity index 75% rename from app/lib/isolate/model/dto/prepare_upload_request_dto.dart rename to packages/localsend_isolates/lib/model/dto/prepare_upload_request_dto.dart index 9afd29b1..3a94c1e7 100644 --- a/app/lib/isolate/model/dto/prepare_upload_request_dto.dart +++ b/packages/localsend_isolates/lib/model/dto/prepare_upload_request_dto.dart @@ -1,6 +1,6 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/dto/info_register_dto.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/dto/info_register_dto.dart'; part 'prepare_upload_request_dto.mapper.dart'; diff --git a/app/lib/isolate/model/dto/prepare_upload_request_dto.mapper.dart b/packages/localsend_isolates/lib/model/dto/prepare_upload_request_dto.mapper.dart similarity index 100% rename from app/lib/isolate/model/dto/prepare_upload_request_dto.mapper.dart rename to packages/localsend_isolates/lib/model/dto/prepare_upload_request_dto.mapper.dart diff --git a/app/lib/isolate/model/dto/prepare_upload_response_dto.dart b/packages/localsend_isolates/lib/model/dto/prepare_upload_response_dto.dart similarity index 100% rename from app/lib/isolate/model/dto/prepare_upload_response_dto.dart rename to packages/localsend_isolates/lib/model/dto/prepare_upload_response_dto.dart diff --git a/app/lib/isolate/model/dto/prepare_upload_response_dto.mapper.dart b/packages/localsend_isolates/lib/model/dto/prepare_upload_response_dto.mapper.dart similarity index 100% rename from app/lib/isolate/model/dto/prepare_upload_response_dto.mapper.dart rename to packages/localsend_isolates/lib/model/dto/prepare_upload_response_dto.mapper.dart diff --git a/app/lib/isolate/model/dto/receive_request_response_dto.dart b/packages/localsend_isolates/lib/model/dto/receive_request_response_dto.dart similarity index 75% rename from app/lib/isolate/model/dto/receive_request_response_dto.dart rename to packages/localsend_isolates/lib/model/dto/receive_request_response_dto.dart index 43c47a89..a118640f 100644 --- a/app/lib/isolate/model/dto/receive_request_response_dto.dart +++ b/packages/localsend_isolates/lib/model/dto/receive_request_response_dto.dart @@ -1,6 +1,6 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/dto/info_dto.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/dto/info_dto.dart'; part 'receive_request_response_dto.mapper.dart'; diff --git a/app/lib/isolate/model/dto/receive_request_response_dto.mapper.dart b/packages/localsend_isolates/lib/model/dto/receive_request_response_dto.mapper.dart similarity index 100% rename from app/lib/isolate/model/dto/receive_request_response_dto.mapper.dart rename to packages/localsend_isolates/lib/model/dto/receive_request_response_dto.mapper.dart diff --git a/app/lib/isolate/model/dto/register_dto.dart b/packages/localsend_isolates/lib/model/dto/register_dto.dart similarity index 87% rename from app/lib/isolate/model/dto/register_dto.dart rename to packages/localsend_isolates/lib/model/dto/register_dto.dart index 1941d594..7b27f43f 100644 --- a/app/lib/isolate/model/dto/register_dto.dart +++ b/packages/localsend_isolates/lib/model/dto/register_dto.dart @@ -1,7 +1,7 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/dto/multicast_dto.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/dto/multicast_dto.dart'; part 'register_dto.mapper.dart'; diff --git a/app/lib/isolate/model/dto/register_dto.mapper.dart b/packages/localsend_isolates/lib/model/dto/register_dto.mapper.dart similarity index 100% rename from app/lib/isolate/model/dto/register_dto.mapper.dart rename to packages/localsend_isolates/lib/model/dto/register_dto.mapper.dart diff --git a/app/lib/isolate/model/file_status.dart b/packages/localsend_isolates/lib/model/file_status.dart similarity index 100% rename from app/lib/isolate/model/file_status.dart rename to packages/localsend_isolates/lib/model/file_status.dart diff --git a/app/lib/isolate/model/file_type.dart b/packages/localsend_isolates/lib/model/file_type.dart similarity index 100% rename from app/lib/isolate/model/file_type.dart rename to packages/localsend_isolates/lib/model/file_type.dart diff --git a/app/lib/isolate/model/file_type.mapper.dart b/packages/localsend_isolates/lib/model/file_type.mapper.dart similarity index 100% rename from app/lib/isolate/model/file_type.mapper.dart rename to packages/localsend_isolates/lib/model/file_type.mapper.dart diff --git a/app/lib/isolate/model/session_status.dart b/packages/localsend_isolates/lib/model/session_status.dart similarity index 100% rename from app/lib/isolate/model/session_status.dart rename to packages/localsend_isolates/lib/model/session_status.dart diff --git a/app/lib/isolate/model/stored_security_context.dart b/packages/localsend_isolates/lib/model/stored_security_context.dart similarity index 100% rename from app/lib/isolate/model/stored_security_context.dart rename to packages/localsend_isolates/lib/model/stored_security_context.dart diff --git a/app/lib/isolate/model/stored_security_context.mapper.dart b/packages/localsend_isolates/lib/model/stored_security_context.mapper.dart similarity index 100% rename from app/lib/isolate/model/stored_security_context.mapper.dart rename to packages/localsend_isolates/lib/model/stored_security_context.mapper.dart diff --git a/app/lib/rust/api/crypto.dart b/packages/localsend_isolates/lib/rust/api/crypto.dart similarity index 94% rename from app/lib/rust/api/crypto.dart rename to packages/localsend_isolates/lib/rust/api/crypto.dart index bc105f3d..c282bd78 100644 --- a/app/lib/rust/api/crypto.dart +++ b/packages/localsend_isolates/lib/rust/api/crypto.dart @@ -4,7 +4,7 @@ // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; Future verifyCert({required String cert, required String publicKey}) => RustLib.instance.api.crateApiCryptoVerifyCert(cert: cert, publicKey: publicKey); diff --git a/app/lib/rust/api/http.dart b/packages/localsend_isolates/lib/rust/api/http.dart similarity index 95% rename from app/lib/rust/api/http.dart rename to packages/localsend_isolates/lib/rust/api/http.dart index 64dc0f1d..9dcdc3ce 100644 --- a/app/lib/rust/api/http.dart +++ b/packages/localsend_isolates/lib/rust/api/http.dart @@ -5,9 +5,9 @@ import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; import 'package:freezed_annotation/freezed_annotation.dart' hide protected; -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/rust/api/stream.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/rust/api/stream.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; part 'http.freezed.dart'; diff --git a/app/lib/rust/api/http.freezed.dart b/packages/localsend_isolates/lib/rust/api/http.freezed.dart similarity index 100% rename from app/lib/rust/api/http.freezed.dart rename to packages/localsend_isolates/lib/rust/api/http.freezed.dart diff --git a/app/lib/rust/api/logging.dart b/packages/localsend_isolates/lib/rust/api/logging.dart similarity index 86% rename from app/lib/rust/api/logging.dart rename to packages/localsend_isolates/lib/rust/api/logging.dart index bade998c..d2ee144d 100644 --- a/app/lib/rust/api/logging.dart +++ b/packages/localsend_isolates/lib/rust/api/logging.dart @@ -4,6 +4,6 @@ // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; Future enableDebugLogging() => RustLib.instance.api.crateApiLoggingEnableDebugLogging(); diff --git a/app/lib/rust/api/model.dart b/packages/localsend_isolates/lib/rust/api/model.dart similarity index 98% rename from app/lib/rust/api/model.dart rename to packages/localsend_isolates/lib/rust/api/model.dart index 7601bdc8..31b48267 100644 --- a/app/lib/rust/api/model.dart +++ b/packages/localsend_isolates/lib/rust/api/model.dart @@ -4,7 +4,7 @@ // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; enum DeviceType { mobile, diff --git a/app/lib/rust/api/server.dart b/packages/localsend_isolates/lib/rust/api/server.dart similarity index 98% rename from app/lib/rust/api/server.dart rename to packages/localsend_isolates/lib/rust/api/server.dart index f0e1a841..bef8a2ec 100644 --- a/app/lib/rust/api/server.dart +++ b/packages/localsend_isolates/lib/rust/api/server.dart @@ -5,8 +5,8 @@ import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; import 'package:freezed_annotation/freezed_annotation.dart' hide protected; -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; part 'server.freezed.dart'; diff --git a/app/lib/rust/api/server.freezed.dart b/packages/localsend_isolates/lib/rust/api/server.freezed.dart similarity index 100% rename from app/lib/rust/api/server.freezed.dart rename to packages/localsend_isolates/lib/rust/api/server.freezed.dart diff --git a/app/lib/rust/api/stream.dart b/packages/localsend_isolates/lib/rust/api/stream.dart similarity index 93% rename from app/lib/rust/api/stream.dart rename to packages/localsend_isolates/lib/rust/api/stream.dart index f9e7a5ea..3bf5e162 100644 --- a/app/lib/rust/api/stream.dart +++ b/packages/localsend_isolates/lib/rust/api/stream.dart @@ -4,7 +4,7 @@ // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; Future<(Dart2RustStreamSink, Dart2RustStreamReceiver)> createStream() => RustLib.instance.api.crateApiStreamCreateStream(); diff --git a/app/lib/rust/api/webrtc.dart b/packages/localsend_isolates/lib/rust/api/webrtc.dart similarity index 98% rename from app/lib/rust/api/webrtc.dart rename to packages/localsend_isolates/lib/rust/api/webrtc.dart index 37dea5a6..cc45b538 100644 --- a/app/lib/rust/api/webrtc.dart +++ b/packages/localsend_isolates/lib/rust/api/webrtc.dart @@ -5,8 +5,8 @@ import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; import 'package:freezed_annotation/freezed_annotation.dart' hide protected; -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; import 'package:uuid/uuid.dart'; part 'webrtc.freezed.dart'; diff --git a/app/lib/rust/api/webrtc.freezed.dart b/packages/localsend_isolates/lib/rust/api/webrtc.freezed.dart similarity index 100% rename from app/lib/rust/api/webrtc.freezed.dart rename to packages/localsend_isolates/lib/rust/api/webrtc.freezed.dart diff --git a/app/lib/rust/frb_generated.dart b/packages/localsend_isolates/lib/rust/frb_generated.dart similarity index 99% rename from app/lib/rust/frb_generated.dart rename to packages/localsend_isolates/lib/rust/frb_generated.dart index 0e8d9df0..eb4fe870 100644 --- a/app/lib/rust/frb_generated.dart +++ b/packages/localsend_isolates/lib/rust/frb_generated.dart @@ -7,15 +7,15 @@ import 'dart:async'; import 'dart:convert'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated.dart'; -import 'package:localsend_app/rust/api/crypto.dart'; -import 'package:localsend_app/rust/api/http.dart'; -import 'package:localsend_app/rust/api/logging.dart'; -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/rust/api/server.dart'; -import 'package:localsend_app/rust/api/stream.dart'; -import 'package:localsend_app/rust/api/webrtc.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; -import 'package:localsend_app/rust/frb_generated.io.dart' if (dart.library.js_interop) 'frb_generated.web.dart'; +import 'package:localsend_isolates/rust/api/crypto.dart'; +import 'package:localsend_isolates/rust/api/http.dart'; +import 'package:localsend_isolates/rust/api/logging.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/rust/api/server.dart'; +import 'package:localsend_isolates/rust/api/stream.dart'; +import 'package:localsend_isolates/rust/api/webrtc.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/frb_generated.io.dart' if (dart.library.js_interop) 'frb_generated.web.dart'; import 'package:uuid/uuid.dart'; /// Main entrypoint of the Rust API diff --git a/app/lib/rust/frb_generated.io.dart b/packages/localsend_isolates/lib/rust/frb_generated.io.dart similarity index 94% rename from app/lib/rust/frb_generated.io.dart rename to packages/localsend_isolates/lib/rust/frb_generated.io.dart index bbb1dbcf..72e0ef69 100644 --- a/app/lib/rust/frb_generated.io.dart +++ b/packages/localsend_isolates/lib/rust/frb_generated.io.dart @@ -8,14 +8,14 @@ import 'dart:convert'; import 'dart:ffi' as ffi; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_io.dart'; -import 'package:localsend_app/rust/api/crypto.dart'; -import 'package:localsend_app/rust/api/http.dart'; -import 'package:localsend_app/rust/api/logging.dart'; -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/rust/api/server.dart'; -import 'package:localsend_app/rust/api/stream.dart'; -import 'package:localsend_app/rust/api/webrtc.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/api/crypto.dart'; +import 'package:localsend_isolates/rust/api/http.dart'; +import 'package:localsend_isolates/rust/api/logging.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/rust/api/server.dart'; +import 'package:localsend_isolates/rust/api/stream.dart'; +import 'package:localsend_isolates/rust/api/webrtc.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; import 'package:uuid/uuid.dart'; abstract class RustLibApiImplPlatform extends BaseApiImpl { @@ -1331,7 +1331,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiverPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiver', + 'frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiver', ); late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiver = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiverPtr @@ -1347,7 +1347,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiverPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiver', + 'frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiver', ); late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiver = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiverPtr @@ -1363,7 +1363,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSinkPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSink', + 'frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSink', ); late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSink = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSinkPtr @@ -1379,7 +1379,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSinkPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSink', + 'frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSink', ); late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSink = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSinkPtr @@ -1395,7 +1395,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnectionPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnection', + 'frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnection', ); late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnection = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnectionPtr @@ -1411,7 +1411,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnectionPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnection', + 'frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnection', ); late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnection = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnectionPtr @@ -1427,7 +1427,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiverPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiver', + 'frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiver', ); late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiver = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiverPtr @@ -1443,7 +1443,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiverPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiver', + 'frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiver', ); late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiver = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiverPtr @@ -1459,7 +1459,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSenderPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSender', + 'frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSender', ); late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSender = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSenderPtr @@ -1475,7 +1475,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSenderPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSender', + 'frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSender', ); late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSender = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSenderPtr @@ -1491,7 +1491,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveControllerPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveController', + 'frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveController', ); late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveController = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveControllerPtr @@ -1507,7 +1507,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveControllerPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveController', + 'frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveController', ); late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveController = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveControllerPtr @@ -1523,7 +1523,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendControllerPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendController', + 'frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendController', ); late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendController = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendControllerPtr @@ -1539,7 +1539,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendControllerPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendController', + 'frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendController', ); late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendController = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendControllerPtr @@ -1555,7 +1555,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationTokenPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationToken', + 'frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationToken', ); late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationToken = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationTokenPtr @@ -1571,7 +1571,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationTokenPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationToken', + 'frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationToken', ); late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationToken = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationTokenPtr @@ -1587,7 +1587,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClientPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClient', + 'frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClient', ); late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClient = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClientPtr @@ -1603,7 +1603,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClientPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClient', + 'frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClient', ); late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClient = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClientPtr @@ -1619,7 +1619,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServerPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServer', + 'frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServer', ); late final _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServer = _rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServerPtr @@ -1635,7 +1635,7 @@ class RustLibWire implements BaseWire { late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServerPtr = _lookup)>>( - 'frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServer', + 'frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServer', ); late final _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServer = _rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServerPtr diff --git a/app/lib/rust/frb_generated.web.dart b/packages/localsend_isolates/lib/rust/frb_generated.web.dart similarity index 99% rename from app/lib/rust/frb_generated.web.dart rename to packages/localsend_isolates/lib/rust/frb_generated.web.dart index 19786d6d..5ee405b9 100644 --- a/app/lib/rust/frb_generated.web.dart +++ b/packages/localsend_isolates/lib/rust/frb_generated.web.dart @@ -10,14 +10,14 @@ import 'dart:async'; import 'dart:convert'; import 'package:flutter_rust_bridge/flutter_rust_bridge_for_generated_web.dart'; -import 'package:localsend_app/rust/api/crypto.dart'; -import 'package:localsend_app/rust/api/http.dart'; -import 'package:localsend_app/rust/api/logging.dart'; -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/rust/api/server.dart'; -import 'package:localsend_app/rust/api/stream.dart'; -import 'package:localsend_app/rust/api/webrtc.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/api/crypto.dart'; +import 'package:localsend_isolates/rust/api/http.dart'; +import 'package:localsend_isolates/rust/api/logging.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/rust/api/server.dart'; +import 'package:localsend_isolates/rust/api/stream.dart'; +import 'package:localsend_isolates/rust/api/webrtc.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; import 'package:uuid/uuid.dart'; abstract class RustLibApiImplPlatform extends BaseApiImpl { diff --git a/app/lib/isolate/src/isolate/child/http_provider.dart b/packages/localsend_isolates/lib/src/isolate/child/http_provider.dart similarity index 86% rename from app/lib/isolate/src/isolate/child/http_provider.dart rename to packages/localsend_isolates/lib/src/isolate/child/http_provider.dart index 6f99e33b..21639f15 100644 --- a/app/lib/isolate/src/isolate/child/http_provider.dart +++ b/packages/localsend_isolates/lib/src/isolate/child/http_provider.dart @@ -1,5 +1,5 @@ -import 'package:localsend_app/isolate/src/isolate/child/sync_provider.dart'; -import 'package:localsend_app/rust/api/http.dart'; +import 'package:localsend_isolates/rust/api/http.dart'; +import 'package:localsend_isolates/src/isolate/child/sync_provider.dart'; import 'package:refena_flutter/refena_flutter.dart'; class HttpClientCollection { diff --git a/app/lib/isolate/src/isolate/child/http_scan_discovery_isolate.dart b/packages/localsend_isolates/lib/src/isolate/child/http_scan_discovery_isolate.dart similarity index 86% rename from app/lib/isolate/src/isolate/child/http_scan_discovery_isolate.dart rename to packages/localsend_isolates/lib/src/isolate/child/http_scan_discovery_isolate.dart index 4c45b9d4..d4824777 100644 --- a/app/lib/isolate/src/isolate/child/http_scan_discovery_isolate.dart +++ b/packages/localsend_isolates/lib/src/isolate/child/http_scan_discovery_isolate.dart @@ -1,7 +1,7 @@ -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/src/isolate/child/main.dart'; -import 'package:localsend_app/isolate/src/isolate/dto/send_to_isolate_data.dart'; -import 'package:localsend_app/isolate/src/task/discovery/http_scan_discovery.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/src/isolate/child/main.dart'; +import 'package:localsend_isolates/src/isolate/dto/send_to_isolate_data.dart'; +import 'package:localsend_isolates/src/task/discovery/http_scan_discovery.dart'; import 'package:typed_isolates/typed_isolates.dart'; sealed class HttpScanTask {} diff --git a/app/lib/isolate/src/isolate/child/main.dart b/packages/localsend_isolates/lib/src/isolate/child/main.dart similarity index 89% rename from app/lib/isolate/src/isolate/child/main.dart rename to packages/localsend_isolates/lib/src/isolate/child/main.dart index 20c9b9a6..7f5b26ff 100644 --- a/app/lib/isolate/src/isolate/child/main.dart +++ b/packages/localsend_isolates/lib/src/isolate/child/main.dart @@ -1,9 +1,9 @@ import 'dart:async'; -import 'package:localsend_app/isolate/src/isolate/child/sync_provider.dart'; -import 'package:localsend_app/isolate/src/isolate/dto/send_to_isolate_data.dart'; -import 'package:localsend_app/isolate/util/logger.dart'; -import 'package:localsend_app/rust/frb_generated.dart'; +import 'package:localsend_isolates/rust/frb_generated.dart'; +import 'package:localsend_isolates/src/isolate/child/sync_provider.dart'; +import 'package:localsend_isolates/src/isolate/dto/send_to_isolate_data.dart'; +import 'package:localsend_isolates/util/logger.dart'; import 'package:logging/logging.dart'; import 'package:refena_flutter/refena_flutter.dart'; diff --git a/app/lib/isolate/src/isolate/child/multicast_discovery_isolate.dart b/packages/localsend_isolates/lib/src/isolate/child/multicast_discovery_isolate.dart similarity index 84% rename from app/lib/isolate/src/isolate/child/multicast_discovery_isolate.dart rename to packages/localsend_isolates/lib/src/isolate/child/multicast_discovery_isolate.dart index 1cd6fad3..33502ef4 100644 --- a/app/lib/isolate/src/isolate/child/multicast_discovery_isolate.dart +++ b/packages/localsend_isolates/lib/src/isolate/child/multicast_discovery_isolate.dart @@ -1,7 +1,7 @@ -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/src/isolate/child/main.dart'; -import 'package:localsend_app/isolate/src/isolate/dto/send_to_isolate_data.dart'; -import 'package:localsend_app/isolate/src/task/discovery/multicast_discovery.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/src/isolate/child/main.dart'; +import 'package:localsend_isolates/src/isolate/dto/send_to_isolate_data.dart'; +import 'package:localsend_isolates/src/task/discovery/multicast_discovery.dart'; sealed class MulticastTask {} diff --git a/app/lib/isolate/src/isolate/child/server_isolate.dart b/packages/localsend_isolates/lib/src/isolate/child/server_isolate.dart similarity index 94% rename from app/lib/isolate/src/isolate/child/server_isolate.dart rename to packages/localsend_isolates/lib/src/isolate/child/server_isolate.dart index 09c7e7f1..4d6c5a13 100644 --- a/app/lib/isolate/src/isolate/child/server_isolate.dart +++ b/packages/localsend_isolates/lib/src/isolate/child/server_isolate.dart @@ -1,12 +1,12 @@ -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/dto/multicast_dto.dart'; -import 'package:localsend_app/isolate/src/isolate/child/main.dart'; -import 'package:localsend_app/isolate/src/isolate/child/sync_provider.dart'; -import 'package:localsend_app/isolate/src/isolate/dto/send_to_isolate_data.dart'; -import 'package:localsend_app/isolate/src/task/server/http_server.dart'; -import 'package:localsend_app/rust/api/model.dart' show FileDto; -import 'package:localsend_app/rust/api/server.dart'; -import 'package:localsend_app/util/rust.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/dto/multicast_dto.dart'; +import 'package:localsend_isolates/rust/api/model.dart' show FileDto; +import 'package:localsend_isolates/rust/api/server.dart'; +import 'package:localsend_isolates/src/isolate/child/main.dart'; +import 'package:localsend_isolates/src/isolate/child/sync_provider.dart'; +import 'package:localsend_isolates/src/isolate/dto/send_to_isolate_data.dart'; +import 'package:localsend_isolates/src/task/server/http_server.dart'; +import 'package:localsend_isolates/util/rust.dart'; import 'package:typed_isolates/typed_isolates.dart'; sealed class BaseHttpServerTask {} diff --git a/app/lib/isolate/src/isolate/child/sync_provider.dart b/packages/localsend_isolates/lib/src/isolate/child/sync_provider.dart similarity index 90% rename from app/lib/isolate/src/isolate/child/sync_provider.dart rename to packages/localsend_isolates/lib/src/isolate/child/sync_provider.dart index 967ffa26..39a5b92c 100644 --- a/app/lib/isolate/src/isolate/child/sync_provider.dart +++ b/packages/localsend_isolates/lib/src/isolate/child/sync_provider.dart @@ -1,7 +1,7 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/device_info_result.dart'; -import 'package:localsend_app/isolate/model/dto/multicast_dto.dart'; -import 'package:localsend_app/isolate/model/stored_security_context.dart'; +import 'package:localsend_isolates/model/device_info_result.dart'; +import 'package:localsend_isolates/model/dto/multicast_dto.dart'; +import 'package:localsend_isolates/model/stored_security_context.dart'; import 'package:refena_flutter/refena_flutter.dart'; part 'sync_provider.mapper.dart'; diff --git a/app/lib/isolate/src/isolate/child/sync_provider.mapper.dart b/packages/localsend_isolates/lib/src/isolate/child/sync_provider.mapper.dart similarity index 100% rename from app/lib/isolate/src/isolate/child/sync_provider.mapper.dart rename to packages/localsend_isolates/lib/src/isolate/child/sync_provider.mapper.dart diff --git a/app/lib/isolate/src/isolate/child/upload_isolate.dart b/packages/localsend_isolates/lib/src/isolate/child/upload_isolate.dart similarity index 92% rename from app/lib/isolate/src/isolate/child/upload_isolate.dart rename to packages/localsend_isolates/lib/src/isolate/child/upload_isolate.dart index 73a4a018..d25c4a12 100644 --- a/app/lib/isolate/src/isolate/child/upload_isolate.dart +++ b/packages/localsend_isolates/lib/src/isolate/child/upload_isolate.dart @@ -1,12 +1,12 @@ import 'package:flutter/services.dart'; -import 'package:localsend_app/isolate/isolate.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/src/isolate/child/main.dart'; -import 'package:localsend_app/isolate/src/isolate/dto/send_to_isolate_data.dart'; -import 'package:localsend_app/isolate/src/task/upload/http_upload.dart'; -import 'package:localsend_app/rust/api/http.dart'; -import 'package:localsend_app/util/native/channel/android_channel.dart'; -import 'package:localsend_app/util/rust.dart'; +import 'package:localsend_isolates/isolate.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/rust/api/http.dart'; +import 'package:localsend_isolates/src/isolate/child/main.dart'; +import 'package:localsend_isolates/src/isolate/dto/send_to_isolate_data.dart'; +import 'package:localsend_isolates/src/task/upload/http_upload.dart'; +import 'package:localsend_isolates/util/android_channel.dart'; +import 'package:localsend_isolates/util/rust.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:typed_isolates/typed_isolates.dart'; diff --git a/app/lib/isolate/src/isolate/dto/send_to_isolate_data.dart b/packages/localsend_isolates/lib/src/isolate/dto/send_to_isolate_data.dart similarity index 67% rename from app/lib/isolate/src/isolate/dto/send_to_isolate_data.dart rename to packages/localsend_isolates/lib/src/isolate/dto/send_to_isolate_data.dart index 562f3e74..7db69e0f 100644 --- a/app/lib/isolate/src/isolate/dto/send_to_isolate_data.dart +++ b/packages/localsend_isolates/lib/src/isolate/dto/send_to_isolate_data.dart @@ -1,4 +1,4 @@ -import 'package:localsend_app/isolate/src/isolate/child/sync_provider.dart'; +import 'package:localsend_isolates/src/isolate/child/sync_provider.dart'; class SendToIsolateData { final SyncState? syncState; diff --git a/app/lib/isolate/src/isolate/parent/actions.dart b/packages/localsend_isolates/lib/src/isolate/parent/actions.dart similarity index 94% rename from app/lib/isolate/src/isolate/parent/actions.dart rename to packages/localsend_isolates/lib/src/isolate/parent/actions.dart index b21d2647..2c6f7d8e 100644 --- a/app/lib/isolate/src/isolate/parent/actions.dart +++ b/packages/localsend_isolates/lib/src/isolate/parent/actions.dart @@ -1,13 +1,13 @@ import 'dart:async'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/src/isolate/child/http_scan_discovery_isolate.dart'; -import 'package:localsend_app/isolate/src/isolate/child/multicast_discovery_isolate.dart'; -import 'package:localsend_app/isolate/src/isolate/child/server_isolate.dart'; -import 'package:localsend_app/isolate/src/isolate/child/upload_isolate.dart'; -import 'package:localsend_app/isolate/src/isolate/dto/send_to_isolate_data.dart'; -import 'package:localsend_app/isolate/src/isolate/parent/parent_isolate_provider.dart'; -import 'package:localsend_app/rust/api/server.dart' show WebSendParams; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/rust/api/server.dart' show WebSendParams; +import 'package:localsend_isolates/src/isolate/child/http_scan_discovery_isolate.dart'; +import 'package:localsend_isolates/src/isolate/child/multicast_discovery_isolate.dart'; +import 'package:localsend_isolates/src/isolate/child/server_isolate.dart'; +import 'package:localsend_isolates/src/isolate/child/upload_isolate.dart'; +import 'package:localsend_isolates/src/isolate/dto/send_to_isolate_data.dart'; +import 'package:localsend_isolates/src/isolate/parent/parent_isolate_provider.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:typed_isolates/id.dart'; import 'package:typed_isolates/typed_isolates.dart'; diff --git a/app/lib/isolate/src/isolate/parent/actions_sync.dart b/packages/localsend_isolates/lib/src/isolate/parent/actions_sync.dart similarity index 87% rename from app/lib/isolate/src/isolate/parent/actions_sync.dart rename to packages/localsend_isolates/lib/src/isolate/parent/actions_sync.dart index e4138a8b..ec04c458 100644 --- a/app/lib/isolate/src/isolate/parent/actions_sync.dart +++ b/packages/localsend_isolates/lib/src/isolate/parent/actions_sync.dart @@ -1,9 +1,9 @@ -import 'package:localsend_app/isolate/model/device_info_result.dart'; -import 'package:localsend_app/isolate/model/dto/multicast_dto.dart'; -import 'package:localsend_app/isolate/model/stored_security_context.dart'; -import 'package:localsend_app/isolate/src/isolate/child/sync_provider.dart'; -import 'package:localsend_app/isolate/src/isolate/dto/send_to_isolate_data.dart'; -import 'package:localsend_app/isolate/src/isolate/parent/parent_isolate_provider.dart'; +import 'package:localsend_isolates/model/device_info_result.dart'; +import 'package:localsend_isolates/model/dto/multicast_dto.dart'; +import 'package:localsend_isolates/model/stored_security_context.dart'; +import 'package:localsend_isolates/src/isolate/child/sync_provider.dart'; +import 'package:localsend_isolates/src/isolate/dto/send_to_isolate_data.dart'; +import 'package:localsend_isolates/src/isolate/parent/parent_isolate_provider.dart'; import 'package:refena_flutter/refena_flutter.dart'; /// Publishes the new security context to all child isolates. diff --git a/app/lib/isolate/src/isolate/parent/parent_isolate_provider.dart b/packages/localsend_isolates/lib/src/isolate/parent/parent_isolate_provider.dart similarity index 86% rename from app/lib/isolate/src/isolate/parent/parent_isolate_provider.dart rename to packages/localsend_isolates/lib/src/isolate/parent/parent_isolate_provider.dart index c42e4d3c..a256034e 100644 --- a/app/lib/isolate/src/isolate/parent/parent_isolate_provider.dart +++ b/packages/localsend_isolates/lib/src/isolate/parent/parent_isolate_provider.dart @@ -1,12 +1,12 @@ import 'package:dart_mappable/dart_mappable.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/src/isolate/child/http_scan_discovery_isolate.dart'; -import 'package:localsend_app/isolate/src/isolate/child/main.dart'; -import 'package:localsend_app/isolate/src/isolate/child/multicast_discovery_isolate.dart'; -import 'package:localsend_app/isolate/src/isolate/child/server_isolate.dart'; -import 'package:localsend_app/isolate/src/isolate/child/sync_provider.dart'; -import 'package:localsend_app/isolate/src/isolate/child/upload_isolate.dart'; -import 'package:localsend_app/isolate/src/isolate/dto/send_to_isolate_data.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/src/isolate/child/http_scan_discovery_isolate.dart'; +import 'package:localsend_isolates/src/isolate/child/main.dart'; +import 'package:localsend_isolates/src/isolate/child/multicast_discovery_isolate.dart'; +import 'package:localsend_isolates/src/isolate/child/server_isolate.dart'; +import 'package:localsend_isolates/src/isolate/child/sync_provider.dart'; +import 'package:localsend_isolates/src/isolate/child/upload_isolate.dart'; +import 'package:localsend_isolates/src/isolate/dto/send_to_isolate_data.dart'; import 'package:logging/logging.dart'; import 'package:refena_flutter/refena_flutter.dart'; import 'package:typed_isolates/typed_isolates.dart'; diff --git a/app/lib/isolate/src/isolate/parent/parent_isolate_provider.mapper.dart b/packages/localsend_isolates/lib/src/isolate/parent/parent_isolate_provider.mapper.dart similarity index 100% rename from app/lib/isolate/src/isolate/parent/parent_isolate_provider.mapper.dart rename to packages/localsend_isolates/lib/src/isolate/parent/parent_isolate_provider.mapper.dart diff --git a/app/lib/isolate/src/task/README.md b/packages/localsend_isolates/lib/src/task/README.md similarity index 100% rename from app/lib/isolate/src/task/README.md rename to packages/localsend_isolates/lib/src/task/README.md diff --git a/app/lib/isolate/src/task/discovery/http_scan_discovery.dart b/packages/localsend_isolates/lib/src/task/discovery/http_scan_discovery.dart similarity index 91% rename from app/lib/isolate/src/task/discovery/http_scan_discovery.dart rename to packages/localsend_isolates/lib/src/task/discovery/http_scan_discovery.dart index 0ccecdd2..578bf4cc 100644 --- a/app/lib/isolate/src/task/discovery/http_scan_discovery.dart +++ b/packages/localsend_isolates/lib/src/task/discovery/http_scan_discovery.dart @@ -1,6 +1,6 @@ -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/src/task/discovery/http_target_discovery.dart'; -import 'package:localsend_app/isolate/util/task_runner.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/src/task/discovery/http_target_discovery.dart'; +import 'package:localsend_isolates/util/task_runner.dart'; import 'package:logging/logging.dart'; import 'package:refena_flutter/refena_flutter.dart'; diff --git a/app/lib/isolate/src/task/discovery/http_target_discovery.dart b/packages/localsend_isolates/lib/src/task/discovery/http_target_discovery.dart similarity index 76% rename from app/lib/isolate/src/task/discovery/http_target_discovery.dart rename to packages/localsend_isolates/lib/src/task/discovery/http_target_discovery.dart index 52317500..d9b3f34e 100644 --- a/app/lib/isolate/src/task/discovery/http_target_discovery.dart +++ b/packages/localsend_isolates/lib/src/task/discovery/http_target_discovery.dart @@ -1,11 +1,11 @@ -import 'package:localsend_app/isolate/api_route_builder.dart'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/src/isolate/child/http_provider.dart'; -import 'package:localsend_app/isolate/src/isolate/child/sync_provider.dart'; -import 'package:localsend_app/rust/api/http.dart'; -import 'package:localsend_app/rust/api/model.dart' as rust_model; -import 'package:localsend_app/util/rust.dart'; +import 'package:localsend_isolates/api_route_builder.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/rust/api/http.dart'; +import 'package:localsend_isolates/rust/api/model.dart' as rust_model; +import 'package:localsend_isolates/src/isolate/child/http_provider.dart'; +import 'package:localsend_isolates/src/isolate/child/sync_provider.dart'; +import 'package:localsend_isolates/util/rust.dart'; import 'package:logging/logging.dart'; import 'package:refena_flutter/refena_flutter.dart'; diff --git a/app/lib/isolate/src/task/discovery/multicast_discovery.dart b/packages/localsend_isolates/lib/src/task/discovery/multicast_discovery.dart similarity index 93% rename from app/lib/isolate/src/task/discovery/multicast_discovery.dart rename to packages/localsend_isolates/lib/src/task/discovery/multicast_discovery.dart index 9ccbd0ca..0c8fdb04 100644 --- a/app/lib/isolate/src/task/discovery/multicast_discovery.dart +++ b/packages/localsend_isolates/lib/src/task/discovery/multicast_discovery.dart @@ -2,14 +2,14 @@ import 'dart:async'; import 'dart:convert'; import 'dart:io'; -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/isolate.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/dto/multicast_dto.dart'; -import 'package:localsend_app/isolate/src/isolate/child/http_provider.dart'; -import 'package:localsend_app/isolate/util/network_interfaces.dart'; -import 'package:localsend_app/isolate/util/sleep.dart'; -import 'package:localsend_app/util/rust.dart'; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/isolate.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/dto/multicast_dto.dart'; +import 'package:localsend_isolates/src/isolate/child/http_provider.dart'; +import 'package:localsend_isolates/util/network_interfaces.dart'; +import 'package:localsend_isolates/util/rust.dart'; +import 'package:localsend_isolates/util/sleep.dart'; import 'package:logging/logging.dart'; import 'package:refena_flutter/refena_flutter.dart'; diff --git a/app/lib/isolate/src/task/server/http_server.dart b/packages/localsend_isolates/lib/src/task/server/http_server.dart similarity index 96% rename from app/lib/isolate/src/task/server/http_server.dart rename to packages/localsend_isolates/lib/src/task/server/http_server.dart index 59e9e570..f131b27c 100644 --- a/app/lib/isolate/src/task/server/http_server.dart +++ b/packages/localsend_isolates/lib/src/task/server/http_server.dart @@ -1,5 +1,5 @@ -import 'package:localsend_app/rust/api/model.dart'; -import 'package:localsend_app/rust/api/server.dart'; +import 'package:localsend_isolates/rust/api/model.dart'; +import 'package:localsend_isolates/rust/api/server.dart'; import 'package:refena_flutter/refena_flutter.dart'; final httpServerProvider = Provider((ref) => HttpServerService()); diff --git a/app/lib/isolate/src/task/upload/http_upload.dart b/packages/localsend_isolates/lib/src/task/upload/http_upload.dart similarity index 87% rename from app/lib/isolate/src/task/upload/http_upload.dart rename to packages/localsend_isolates/lib/src/task/upload/http_upload.dart index e749d0dd..66ba7235 100644 --- a/app/lib/isolate/src/task/upload/http_upload.dart +++ b/packages/localsend_isolates/lib/src/task/upload/http_upload.dart @@ -1,8 +1,8 @@ -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/src/isolate/child/http_provider.dart'; -import 'package:localsend_app/rust/api/http.dart'; -import 'package:localsend_app/rust/api/stream.dart'; -import 'package:localsend_app/util/rust.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/rust/api/http.dart'; +import 'package:localsend_isolates/rust/api/stream.dart'; +import 'package:localsend_isolates/src/isolate/child/http_provider.dart'; +import 'package:localsend_isolates/util/rust.dart'; import 'package:refena_flutter/refena_flutter.dart'; final httpUploadProvider = ViewProvider((ref) { diff --git a/packages/localsend_isolates/lib/util/android_channel.dart b/packages/localsend_isolates/lib/util/android_channel.dart new file mode 100644 index 00000000..e7a51c03 --- /dev/null +++ b/packages/localsend_isolates/lib/util/android_channel.dart @@ -0,0 +1,17 @@ +import 'package:flutter/services.dart'; + +const _methodChannel = MethodChannel('org.localsend.localsend_app/localsend'); + +/// Opens [uri] for reading and returns an owned Linux file descriptor. +/// +/// The descriptor stays open after this call and must be closed by the native +/// consumer it is passed to. +Future getFileDescriptorAndroid({required String uri}) async { + final fileDescriptor = await _methodChannel.invokeMethod('getFileDescriptor', { + 'uri': uri, + }); + if (fileDescriptor == null) { + throw StateError('Android returned no file descriptor for $uri'); + } + return fileDescriptor; +} diff --git a/app/lib/isolate/util/logger.dart b/packages/localsend_isolates/lib/util/logger.dart similarity index 100% rename from app/lib/isolate/util/logger.dart rename to packages/localsend_isolates/lib/util/logger.dart diff --git a/app/lib/isolate/util/network_interfaces.dart b/packages/localsend_isolates/lib/util/network_interfaces.dart similarity index 100% rename from app/lib/isolate/util/network_interfaces.dart rename to packages/localsend_isolates/lib/util/network_interfaces.dart diff --git a/app/lib/util/rust.dart b/packages/localsend_isolates/lib/util/rust.dart similarity index 88% rename from app/lib/util/rust.dart rename to packages/localsend_isolates/lib/util/rust.dart index 63e49f0a..6c845d65 100644 --- a/app/lib/util/rust.dart +++ b/packages/localsend_isolates/lib/util/rust.dart @@ -1,10 +1,10 @@ -import 'package:localsend_app/isolate/constants.dart'; -import 'package:localsend_app/isolate/model/device.dart'; -import 'package:localsend_app/isolate/model/dto/file_dto.dart'; -import 'package:localsend_app/isolate/model/dto/multicast_dto.dart'; -import 'package:localsend_app/isolate/src/isolate/child/sync_provider.dart'; -import 'package:localsend_app/rust/api/http.dart' as rust_http; -import 'package:localsend_app/rust/api/model.dart' as rust_model; +import 'package:localsend_isolates/constants.dart'; +import 'package:localsend_isolates/model/device.dart'; +import 'package:localsend_isolates/model/dto/file_dto.dart'; +import 'package:localsend_isolates/model/dto/multicast_dto.dart'; +import 'package:localsend_isolates/rust/api/http.dart' as rust_http; +import 'package:localsend_isolates/rust/api/model.dart' as rust_model; +import 'package:localsend_isolates/src/isolate/child/sync_provider.dart'; import 'package:mime/mime.dart'; extension ProtocolTypeExt on ProtocolType { diff --git a/app/lib/isolate/util/sleep.dart b/packages/localsend_isolates/lib/util/sleep.dart similarity index 100% rename from app/lib/isolate/util/sleep.dart rename to packages/localsend_isolates/lib/util/sleep.dart diff --git a/app/lib/isolate/util/stream.dart b/packages/localsend_isolates/lib/util/stream.dart similarity index 100% rename from app/lib/isolate/util/stream.dart rename to packages/localsend_isolates/lib/util/stream.dart diff --git a/app/lib/isolate/util/task_runner.dart b/packages/localsend_isolates/lib/util/task_runner.dart similarity index 100% rename from app/lib/isolate/util/task_runner.dart rename to packages/localsend_isolates/lib/util/task_runner.dart diff --git a/packages/localsend_isolates/pubspec.lock b/packages/localsend_isolates/pubspec.lock new file mode 100644 index 00000000..7b5d6edd --- /dev/null +++ b/packages/localsend_isolates/pubspec.lock @@ -0,0 +1,534 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: "8d7ff3948166b8ec5da0fbb5962000926b8e02f2ed9b3e51d1738905fbd4c98d" + url: "https://pub.dev" + source: hosted + version: "93.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: de7148ed2fcec579b19f122c1800933dfa028f6d9fd38a152b04b1516cec120b + url: "https://pub.dev" + source: hosted + version: "10.0.1" + ansicolor: + dependency: transitive + description: + name: ansicolor + sha256: "50e982d500bc863e1d703448afdbf9e5a72eb48840a4f766fa361ffd6877055f" + url: "https://pub.dev" + source: hosted + version: "2.0.3" + args: + dependency: transitive + description: + name: args + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" + source: hosted + version: "2.7.0" + async: + dependency: transitive + description: + name: async + sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37 + url: "https://pub.dev" + source: hosted + version: "2.13.1" + build: + dependency: transitive + description: + name: build + sha256: "45d14a0fb23e018d8287c32fc98d726ce466b231928ed9b9200f29bd3ccd39ae" + url: "https://pub.dev" + source: hosted + version: "4.0.7" + build_cli_annotations: + dependency: transitive + description: + name: build_cli_annotations + sha256: e563c2e01de8974566a1998410d3f6f03521788160a02503b0b1f1a46c7b3d95 + url: "https://pub.dev" + source: hosted + version: "2.1.1" + build_config: + dependency: transitive + description: + name: build_config + sha256: f2c223156a26eea323e6244b85141d76413a80aeee9fe0b380773789fabaf8ae + url: "https://pub.dev" + source: hosted + version: "1.3.1" + build_daemon: + dependency: transitive + description: + name: build_daemon + sha256: fd754058c342243718d5171a95f352cfc9fcf0cba8cfa26df67cb13a5836db78 + url: "https://pub.dev" + source: hosted + version: "4.1.2" + build_runner: + dependency: "direct dev" + description: + name: build_runner + sha256: "5367e521935b102bdf1e735d2aab461e36b2edca6517662d088dd04cc39f8d16" + url: "https://pub.dev" + source: hosted + version: "2.15.1" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: "34e4067d30ce212937df995f03b69992eea683539ceeac7f679a1f1eba055b56" + url: "https://pub.dev" + source: hosted + version: "8.12.6" + characters: + dependency: transitive + description: + name: characters + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b + url: "https://pub.dev" + source: hosted + version: "1.4.1" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f" + url: "https://pub.dev" + source: hosted + version: "2.0.4" + collection: + dependency: "direct main" + description: + name: collection + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" + source: hosted + version: "1.19.1" + convert: + dependency: transitive + description: + name: convert + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 + url: "https://pub.dev" + source: hosted + version: "3.1.2" + crypto: + dependency: transitive + description: + name: crypto + sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf + url: "https://pub.dev" + source: hosted + version: "3.0.7" + dart_mappable: + dependency: "direct main" + description: + name: dart_mappable + sha256: "960746478faaa68ed6b9d3c6fd03c87c7b8614e6c33e75fe1b0c6d7a60adcf29" + url: "https://pub.dev" + source: hosted + version: "4.8.0" + dart_mappable_builder: + dependency: "direct dev" + description: + name: dart_mappable_builder + sha256: eb89efebad96bae52333ae4bd6b8fdcfb44c921f8a38f44893f2c72ed15c860c + url: "https://pub.dev" + source: hosted + version: "4.8.0" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: "29f7ecc274a86d32920b1d9cfc7502fa87220da41ec60b55f329559d5732e2b2" + url: "https://pub.dev" + source: hosted + version: "3.1.7" + file: + dependency: transitive + description: + name: file + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" + source: hosted + version: "7.0.1" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be + url: "https://pub.dev" + source: hosted + version: "1.1.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" + url: "https://pub.dev" + source: hosted + version: "6.0.0" + flutter_rust_bridge: + dependency: "direct main" + description: + name: flutter_rust_bridge + sha256: e87d6b9ee934dcd24a128ccb2bd91905d2d5fe5c06245d6a8f5477d4907a437a + url: "https://pub.dev" + source: hosted + version: "2.12.0" + freezed: + dependency: "direct dev" + description: + name: freezed + sha256: f23ea33b3863f119b58ed1b586e881a46bd28715ddcc4dbc33104524e3434131 + url: "https://pub.dev" + source: hosted + version: "3.2.5" + freezed_annotation: + dependency: "direct main" + description: + name: freezed_annotation + sha256: "7294967ff0a6d98638e7acb774aac3af2550777accd8149c90af5b014e6d44d8" + url: "https://pub.dev" + source: hosted + version: "3.1.0" + glob: + dependency: transitive + description: + name: glob + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de + url: "https://pub.dev" + source: hosted + version: "2.1.3" + graphs: + dependency: transitive + description: + name: graphs + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + http_multi_server: + dependency: transitive + description: + name: http_multi_server + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 + url: "https://pub.dev" + source: hosted + version: "3.2.2" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" + io: + dependency: transitive + description: + name: io + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b + url: "https://pub.dev" + source: hosted + version: "1.0.5" + json_annotation: + dependency: transitive + description: + name: json_annotation + sha256: "2a743920d81b7910627f68ee2c9ac1fc0bfee32b9fc3403587d7c6791ca12f80" + url: "https://pub.dev" + source: hosted + version: "4.12.0" + lints: + dependency: transitive + description: + name: lints + sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" + url: "https://pub.dev" + source: hosted + version: "6.1.0" + logging: + dependency: "direct main" + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" + url: "https://pub.dev" + source: hosted + version: "0.13.0" + meta: + dependency: transitive + description: + name: meta + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" + url: "https://pub.dev" + source: hosted + version: "1.17.0" + mime: + dependency: "direct main" + description: + name: mime + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + package_config: + dependency: transitive + description: + name: package_config + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc + url: "https://pub.dev" + source: hosted + version: "2.2.0" + path: + dependency: transitive + description: + name: path + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pool: + dependency: transitive + description: + name: pool + sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d" + url: "https://pub.dev" + source: hosted + version: "1.5.2" + pub_semver: + dependency: transitive + description: + name: pub_semver + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" + url: "https://pub.dev" + source: hosted + version: "2.2.0" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" + url: "https://pub.dev" + source: hosted + version: "1.5.0" + refena: + dependency: transitive + description: + name: refena + sha256: d2bb36fd39412563a4515b8228271cf8786936f77d4a6261b05eecf648e59b6b + url: "https://pub.dev" + source: hosted + version: "3.2.2" + refena_flutter: + dependency: "direct main" + description: + name: refena_flutter + sha256: "18f704c3ba38a30aa05ae71b3c55777b8d09864570e3b88b2f8814644381e461" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + rust_lib_localsend_app: + dependency: "direct main" + description: + path: rust_builder + relative: true + source: path + version: "0.0.1" + shelf: + dependency: transitive + description: + name: shelf + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 + url: "https://pub.dev" + source: hosted + version: "1.4.2" + shelf_web_socket: + dependency: transitive + description: + name: shelf_web_socket + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" + url: "https://pub.dev" + source: hosted + version: "3.0.0" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02 + url: "https://pub.dev" + source: hosted + version: "4.2.3" + source_span: + dependency: transitive + description: + name: source_span + sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab" + url: "https://pub.dev" + source: hosted + version: "1.10.2" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + url: "https://pub.dev" + source: hosted + version: "1.12.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 + url: "https://pub.dev" + source: hosted + version: "2.1.1" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + url: "https://pub.dev" + source: hosted + version: "1.4.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" + source: hosted + version: "1.2.2" + type_plus: + dependency: transitive + description: + name: type_plus + sha256: d5d1019471f0d38b91603adb9b5fd4ce7ab903c879d2fbf1a3f80a630a03fcc9 + url: "https://pub.dev" + source: hosted + version: "2.1.1" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + typed_isolates: + dependency: "direct main" + description: + path: "../typed_isolates" + relative: true + source: path + version: "1.0.0" + uuid: + dependency: "direct main" + description: + name: uuid + sha256: "1fef9e8e11e2991bb773070d4656b7bd5d850967a2456cfc83cf47925ba79489" + url: "https://pub.dev" + source: hosted + version: "4.5.3" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + url: "https://pub.dev" + source: hosted + version: "2.2.0" + watcher: + dependency: transitive + description: + name: watcher + sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + web: + dependency: transitive + description: + name: web + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" + url: "https://pub.dev" + source: hosted + version: "1.1.1" + web_socket: + dependency: transitive + description: + name: web_socket + sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + web_socket_channel: + dependency: transitive + description: + name: web_socket_channel + sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 + url: "https://pub.dev" + source: hosted + version: "3.0.3" + yaml: + dependency: transitive + description: + name: yaml + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce + url: "https://pub.dev" + source: hosted + version: "3.1.3" +sdks: + dart: ">=3.11.0 <4.0.0" + flutter: ">=3.41.0 <4.0.0" diff --git a/packages/localsend_isolates/pubspec.yaml b/packages/localsend_isolates/pubspec.yaml new file mode 100644 index 00000000..4155cfa1 --- /dev/null +++ b/packages/localsend_isolates/pubspec.yaml @@ -0,0 +1,31 @@ +name: localsend_isolates +description: LocalSend network isolates and Rust bindings +publish_to: "none" + +version: 0.0.1 + +environment: + flutter: ^3.41.0 + sdk: ^3.11.0 + +dependencies: + collection: ^1.17.2 # allow newer versions, so it can compile with newer Flutter versions + dart_mappable: 4.8.0 + flutter: + sdk: flutter + flutter_rust_bridge: 2.12.0 + freezed_annotation: 3.1.0 + logging: 1.3.0 + mime: 2.0.0 + refena_flutter: 3.2.1 + rust_lib_localsend_app: + path: rust_builder + typed_isolates: + path: ../typed_isolates + uuid: 4.5.3 + +dev_dependencies: + build_runner: 2.15.1 + dart_mappable_builder: 4.8.0 + flutter_lints: 6.0.0 + freezed: 3.2.5 diff --git a/app/rust-toolchain.toml b/packages/localsend_isolates/rust-toolchain.toml similarity index 100% rename from app/rust-toolchain.toml rename to packages/localsend_isolates/rust-toolchain.toml diff --git a/app/rust/.gitignore b/packages/localsend_isolates/rust/.gitignore similarity index 100% rename from app/rust/.gitignore rename to packages/localsend_isolates/rust/.gitignore diff --git a/app/rust/Cargo.lock b/packages/localsend_isolates/rust/Cargo.lock similarity index 100% rename from app/rust/Cargo.lock rename to packages/localsend_isolates/rust/Cargo.lock diff --git a/app/rust/Cargo.toml b/packages/localsend_isolates/rust/Cargo.toml similarity index 89% rename from app/rust/Cargo.toml rename to packages/localsend_isolates/rust/Cargo.toml index 0e71d7c8..3f8ccd7e 100644 --- a/app/rust/Cargo.toml +++ b/packages/localsend_isolates/rust/Cargo.toml @@ -13,7 +13,7 @@ unexpected_cfgs = { level = "warn", check-cfg = ['cfg(frb_expand)'] } anyhow = "1.0" bytes = "1.9" flutter_rust_bridge = { version = "=2.12.0", features = ["uuid"] } -localsend = { path = "../../packages/core", features = ["full"] } +localsend = { path = "../../core", features = ["full"] } tokio = { version = "1.49", features = ["full"] } tokio-util = "0.7.16" tracing = "0.1.44" diff --git a/app/rust/src/api/crypto.rs b/packages/localsend_isolates/rust/src/api/crypto.rs similarity index 100% rename from app/rust/src/api/crypto.rs rename to packages/localsend_isolates/rust/src/api/crypto.rs diff --git a/app/rust/src/api/http.rs b/packages/localsend_isolates/rust/src/api/http.rs similarity index 100% rename from app/rust/src/api/http.rs rename to packages/localsend_isolates/rust/src/api/http.rs diff --git a/app/rust/src/api/logging.rs b/packages/localsend_isolates/rust/src/api/logging.rs similarity index 100% rename from app/rust/src/api/logging.rs rename to packages/localsend_isolates/rust/src/api/logging.rs diff --git a/app/rust/src/api/mod.rs b/packages/localsend_isolates/rust/src/api/mod.rs similarity index 100% rename from app/rust/src/api/mod.rs rename to packages/localsend_isolates/rust/src/api/mod.rs diff --git a/app/rust/src/api/model.rs b/packages/localsend_isolates/rust/src/api/model.rs similarity index 100% rename from app/rust/src/api/model.rs rename to packages/localsend_isolates/rust/src/api/model.rs diff --git a/app/rust/src/api/server.rs b/packages/localsend_isolates/rust/src/api/server.rs similarity index 100% rename from app/rust/src/api/server.rs rename to packages/localsend_isolates/rust/src/api/server.rs diff --git a/app/rust/src/api/stream.rs b/packages/localsend_isolates/rust/src/api/stream.rs similarity index 100% rename from app/rust/src/api/stream.rs rename to packages/localsend_isolates/rust/src/api/stream.rs diff --git a/app/rust/src/api/webrtc.rs b/packages/localsend_isolates/rust/src/api/webrtc.rs similarity index 100% rename from app/rust/src/api/webrtc.rs rename to packages/localsend_isolates/rust/src/api/webrtc.rs diff --git a/app/rust/src/frb_generated.rs b/packages/localsend_isolates/rust/src/frb_generated.rs similarity index 98% rename from app/rust/src/frb_generated.rs rename to packages/localsend_isolates/rust/src/frb_generated.rs index 5df47eec..355d6de1 100644 --- a/app/rust/src/frb_generated.rs +++ b/packages/localsend_isolates/rust/src/frb_generated.rs @@ -31,7 +31,7 @@ use crate::api::server::*; use crate::api::stream::*; use crate::api::webrtc::*; use flutter_rust_bridge::for_generated::byteorder::{NativeEndian, ReadBytesExt, WriteBytesExt}; -use flutter_rust_bridge::for_generated::{Lifetimeable, Lockable, transform_result_dco}; +use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; use flutter_rust_bridge::{Handler, IntoIntoDart}; // Section: boilerplate @@ -6003,7 +6003,7 @@ mod io { use flutter_rust_bridge::for_generated::byteorder::{ NativeEndian, ReadBytesExt, WriteBytesExt, }; - use flutter_rust_bridge::for_generated::{Lifetimeable, Lockable, transform_result_dco}; + use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; use flutter_rust_bridge::{Handler, IntoIntoDart}; // Section: boilerplate @@ -6011,140 +6011,140 @@ mod io { flutter_rust_bridge::frb_generated_boilerplate_io!(); #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiver( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiver( ptr: *const std::ffi::c_void, ) { MoiArc::>::increment_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiver( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamReceiver( ptr: *const std::ffi::c_void, ) { MoiArc::>::decrement_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSink( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSink( ptr: *const std::ffi::c_void, ) { MoiArc::>::increment_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSink( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerDart2RustStreamSink( ptr: *const std::ffi::c_void, ) { MoiArc::>::decrement_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnection( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnection( ptr: *const std::ffi::c_void, ) { MoiArc::>::increment_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnection( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerLsSignalingConnection( ptr: *const std::ffi::c_void, ) { MoiArc::>::decrement_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiver( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiver( ptr: *const std::ffi::c_void, ) { MoiArc::>::increment_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiver( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileReceiver( ptr: *const std::ffi::c_void, ) { MoiArc::>::decrement_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSender( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSender( ptr: *const std::ffi::c_void, ) { MoiArc::>::increment_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSender( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCFileSender( ptr: *const std::ffi::c_void, ) { MoiArc::>::decrement_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveController( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveController( ptr: *const std::ffi::c_void, ) { MoiArc::>::increment_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveController( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCReceiveController( ptr: *const std::ffi::c_void, ) { MoiArc::>::decrement_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendController( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendController( ptr: *const std::ffi::c_void, ) { MoiArc::>::increment_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendController( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRTCSendController( ptr: *const std::ffi::c_void, ) { MoiArc::>::decrement_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationToken( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationToken( ptr: *const std::ffi::c_void, ) { MoiArc::>::increment_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationToken( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsCancellationToken( ptr: *const std::ffi::c_void, ) { MoiArc::>::decrement_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClient( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClient( ptr: *const std::ffi::c_void, ) { MoiArc::>::increment_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClient( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpClient( ptr: *const std::ffi::c_void, ) { MoiArc::>::decrement_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServer( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_increment_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServer( ptr: *const std::ffi::c_void, ) { MoiArc::>::increment_strong_count(ptr as _); } #[unsafe(no_mangle)] - pub extern "C" fn frbgen_localsend_app_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServer( + pub extern "C" fn frbgen_localsend_isolates_rust_arc_decrement_strong_count_RustOpaque_flutter_rust_bridgefor_generatedRustAutoOpaqueInnerRsHttpServer( ptr: *const std::ffi::c_void, ) { MoiArc::>::decrement_strong_count(ptr as _); @@ -6171,7 +6171,7 @@ mod web { }; use flutter_rust_bridge::for_generated::wasm_bindgen; use flutter_rust_bridge::for_generated::wasm_bindgen::prelude::*; - use flutter_rust_bridge::for_generated::{Lifetimeable, Lockable, transform_result_dco}; + use flutter_rust_bridge::for_generated::{transform_result_dco, Lifetimeable, Lockable}; use flutter_rust_bridge::{Handler, IntoIntoDart}; // Section: boilerplate diff --git a/app/rust/src/lib.rs b/packages/localsend_isolates/rust/src/lib.rs similarity index 100% rename from app/rust/src/lib.rs rename to packages/localsend_isolates/rust/src/lib.rs diff --git a/app/rust/src/util/bytes.rs b/packages/localsend_isolates/rust/src/util/bytes.rs similarity index 100% rename from app/rust/src/util/bytes.rs rename to packages/localsend_isolates/rust/src/util/bytes.rs diff --git a/app/rust/src/util/mod.rs b/packages/localsend_isolates/rust/src/util/mod.rs similarity index 100% rename from app/rust/src/util/mod.rs rename to packages/localsend_isolates/rust/src/util/mod.rs diff --git a/app/rust_builder/.gitignore b/packages/localsend_isolates/rust_builder/.gitignore similarity index 100% rename from app/rust_builder/.gitignore rename to packages/localsend_isolates/rust_builder/.gitignore diff --git a/app/rust_builder/README.md b/packages/localsend_isolates/rust_builder/README.md similarity index 100% rename from app/rust_builder/README.md rename to packages/localsend_isolates/rust_builder/README.md diff --git a/app/rust_builder/android/.gitignore b/packages/localsend_isolates/rust_builder/android/.gitignore similarity index 100% rename from app/rust_builder/android/.gitignore rename to packages/localsend_isolates/rust_builder/android/.gitignore diff --git a/app/rust_builder/android/build.gradle b/packages/localsend_isolates/rust_builder/android/build.gradle similarity index 100% rename from app/rust_builder/android/build.gradle rename to packages/localsend_isolates/rust_builder/android/build.gradle diff --git a/app/rust_builder/android/settings.gradle b/packages/localsend_isolates/rust_builder/android/settings.gradle similarity index 100% rename from app/rust_builder/android/settings.gradle rename to packages/localsend_isolates/rust_builder/android/settings.gradle diff --git a/app/rust_builder/android/src/main/AndroidManifest.xml b/packages/localsend_isolates/rust_builder/android/src/main/AndroidManifest.xml similarity index 100% rename from app/rust_builder/android/src/main/AndroidManifest.xml rename to packages/localsend_isolates/rust_builder/android/src/main/AndroidManifest.xml diff --git a/app/rust_builder/cargokit/.gitignore b/packages/localsend_isolates/rust_builder/cargokit/.gitignore similarity index 100% rename from app/rust_builder/cargokit/.gitignore rename to packages/localsend_isolates/rust_builder/cargokit/.gitignore diff --git a/app/rust_builder/cargokit/LICENSE b/packages/localsend_isolates/rust_builder/cargokit/LICENSE similarity index 100% rename from app/rust_builder/cargokit/LICENSE rename to packages/localsend_isolates/rust_builder/cargokit/LICENSE diff --git a/app/rust_builder/cargokit/README b/packages/localsend_isolates/rust_builder/cargokit/README similarity index 100% rename from app/rust_builder/cargokit/README rename to packages/localsend_isolates/rust_builder/cargokit/README diff --git a/app/rust_builder/cargokit/build_pod.sh b/packages/localsend_isolates/rust_builder/cargokit/build_pod.sh similarity index 100% rename from app/rust_builder/cargokit/build_pod.sh rename to packages/localsend_isolates/rust_builder/cargokit/build_pod.sh diff --git a/app/rust_builder/cargokit/build_tool/README.md b/packages/localsend_isolates/rust_builder/cargokit/build_tool/README.md similarity index 100% rename from app/rust_builder/cargokit/build_tool/README.md rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/README.md diff --git a/app/rust_builder/cargokit/build_tool/analysis_options.yaml b/packages/localsend_isolates/rust_builder/cargokit/build_tool/analysis_options.yaml similarity index 100% rename from app/rust_builder/cargokit/build_tool/analysis_options.yaml rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/analysis_options.yaml diff --git a/app/rust_builder/cargokit/build_tool/bin/build_tool.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/bin/build_tool.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/bin/build_tool.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/bin/build_tool.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/build_tool.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/build_tool.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/build_tool.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/build_tool.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/android_environment.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/android_environment.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/android_environment.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/android_environment.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/build_pod.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/build_pod.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/build_pod.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/build_pod.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/build_tool.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/build_tool.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/build_tool.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/build_tool.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/builder.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/builder.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/builder.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/builder.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/cargo.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/cargo.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/cargo.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/cargo.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/environment.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/environment.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/environment.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/environment.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/logging.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/logging.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/logging.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/logging.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/options.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/options.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/options.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/options.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/rustup.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/rustup.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/rustup.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/rustup.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/target.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/target.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/target.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/target.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/util.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/util.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/util.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/util.dart diff --git a/app/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart b/packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart similarity index 100% rename from app/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart diff --git a/app/rust_builder/cargokit/build_tool/pubspec.lock b/packages/localsend_isolates/rust_builder/cargokit/build_tool/pubspec.lock similarity index 100% rename from app/rust_builder/cargokit/build_tool/pubspec.lock rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/pubspec.lock diff --git a/app/rust_builder/cargokit/build_tool/pubspec.yaml b/packages/localsend_isolates/rust_builder/cargokit/build_tool/pubspec.yaml similarity index 100% rename from app/rust_builder/cargokit/build_tool/pubspec.yaml rename to packages/localsend_isolates/rust_builder/cargokit/build_tool/pubspec.yaml diff --git a/app/rust_builder/cargokit/cmake/cargokit.cmake b/packages/localsend_isolates/rust_builder/cargokit/cmake/cargokit.cmake similarity index 100% rename from app/rust_builder/cargokit/cmake/cargokit.cmake rename to packages/localsend_isolates/rust_builder/cargokit/cmake/cargokit.cmake diff --git a/app/rust_builder/cargokit/cmake/resolve_symlinks.ps1 b/packages/localsend_isolates/rust_builder/cargokit/cmake/resolve_symlinks.ps1 similarity index 100% rename from app/rust_builder/cargokit/cmake/resolve_symlinks.ps1 rename to packages/localsend_isolates/rust_builder/cargokit/cmake/resolve_symlinks.ps1 diff --git a/app/rust_builder/cargokit/gradle/plugin.gradle b/packages/localsend_isolates/rust_builder/cargokit/gradle/plugin.gradle similarity index 100% rename from app/rust_builder/cargokit/gradle/plugin.gradle rename to packages/localsend_isolates/rust_builder/cargokit/gradle/plugin.gradle diff --git a/app/rust_builder/cargokit/run_build_tool.cmd b/packages/localsend_isolates/rust_builder/cargokit/run_build_tool.cmd similarity index 100% rename from app/rust_builder/cargokit/run_build_tool.cmd rename to packages/localsend_isolates/rust_builder/cargokit/run_build_tool.cmd diff --git a/app/rust_builder/cargokit/run_build_tool.sh b/packages/localsend_isolates/rust_builder/cargokit/run_build_tool.sh similarity index 100% rename from app/rust_builder/cargokit/run_build_tool.sh rename to packages/localsend_isolates/rust_builder/cargokit/run_build_tool.sh diff --git a/app/rust_builder/ios/Classes/dummy_file.c b/packages/localsend_isolates/rust_builder/ios/Classes/dummy_file.c similarity index 100% rename from app/rust_builder/ios/Classes/dummy_file.c rename to packages/localsend_isolates/rust_builder/ios/Classes/dummy_file.c diff --git a/app/rust_builder/ios/rust_lib_localsend_app.podspec b/packages/localsend_isolates/rust_builder/ios/rust_lib_localsend_app.podspec similarity index 100% rename from app/rust_builder/ios/rust_lib_localsend_app.podspec rename to packages/localsend_isolates/rust_builder/ios/rust_lib_localsend_app.podspec diff --git a/app/rust_builder/linux/CMakeLists.txt b/packages/localsend_isolates/rust_builder/linux/CMakeLists.txt similarity index 100% rename from app/rust_builder/linux/CMakeLists.txt rename to packages/localsend_isolates/rust_builder/linux/CMakeLists.txt diff --git a/app/rust_builder/macos/Classes/dummy_file.c b/packages/localsend_isolates/rust_builder/macos/Classes/dummy_file.c similarity index 100% rename from app/rust_builder/macos/Classes/dummy_file.c rename to packages/localsend_isolates/rust_builder/macos/Classes/dummy_file.c diff --git a/app/rust_builder/macos/rust_lib_localsend_app.podspec b/packages/localsend_isolates/rust_builder/macos/rust_lib_localsend_app.podspec similarity index 100% rename from app/rust_builder/macos/rust_lib_localsend_app.podspec rename to packages/localsend_isolates/rust_builder/macos/rust_lib_localsend_app.podspec diff --git a/app/rust_builder/pubspec.yaml b/packages/localsend_isolates/rust_builder/pubspec.yaml similarity index 100% rename from app/rust_builder/pubspec.yaml rename to packages/localsend_isolates/rust_builder/pubspec.yaml diff --git a/app/rust_builder/windows/.gitignore b/packages/localsend_isolates/rust_builder/windows/.gitignore similarity index 100% rename from app/rust_builder/windows/.gitignore rename to packages/localsend_isolates/rust_builder/windows/.gitignore diff --git a/app/rust_builder/windows/CMakeLists.txt b/packages/localsend_isolates/rust_builder/windows/CMakeLists.txt similarity index 100% rename from app/rust_builder/windows/CMakeLists.txt rename to packages/localsend_isolates/rust_builder/windows/CMakeLists.txt