mirror of
https://github.com/localsend/localsend.git
synced 2026-06-22 20:00:07 +00:00
refactor: move models to common package
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
/// To regenerate, run: `dart run slang`
|
||||
///
|
||||
/// Locales: 34
|
||||
/// Strings: 9632 (283 per locale)
|
||||
/// Strings: 9635 (283 per locale)
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: type=lint
|
||||
|
||||
@@ -633,7 +633,7 @@ class _StringsDialogsEncryptionDisabledNoticeRu extends _StringsDialogsEncryptio
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Шифрование отключено';
|
||||
@override String get content => 'Связь происходит по незашифрованному HTTP-протоколу. Чтобы использовать HTTPS, включите шифрование.';
|
||||
@override String get content => 'Связь теперь происходит по незашифрованному HTTP протоколу. Чтобы использовать HTTPS, снова включите шифрование.';
|
||||
}
|
||||
|
||||
// Path: dialogs.errorDialog
|
||||
@@ -821,9 +821,9 @@ class _StringsDialogsSendModeHelpRu extends _StringsDialogsSendModeHelpEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Режимы отправки';
|
||||
@override String get single => 'Отправляет файлы одному получателю. Выбор будет очищен после завершения передачи файла.';
|
||||
@override String get single => 'Отправляет файлы одному получателю. После завершения передачи, выбор будет очищен.';
|
||||
@override String get multiple => 'Отправляет файлы нескольким получателям. Выбор не будет очищен.';
|
||||
@override String get link => 'Получатели, у которых не установлен LocalSend, могут загрузить выбранные файлы по ссылке.';
|
||||
@override String get link => 'Получатели, у которых не установлен LocalSend, могут загрузить выбранные файлы, открыв ссылку в своем браузере.';
|
||||
}
|
||||
|
||||
// Path: settingsTab.general.brightnessOptions
|
||||
|
||||
@@ -457,7 +457,7 @@ class _StringsSendTabSendModesUk extends _StringsSendTabSendModesEn {
|
||||
// Translations
|
||||
@override String get single => 'Один одержувач';
|
||||
@override String get multiple => 'Кілька одержувачів';
|
||||
@override String get link => 'Поділіться через посилання';
|
||||
@override String get link => 'Поділитися через посилання';
|
||||
}
|
||||
|
||||
// Path: settingsTab.general
|
||||
@@ -633,7 +633,7 @@ class _StringsDialogsEncryptionDisabledNoticeUk extends _StringsDialogsEncryptio
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Шифрування вимкнено';
|
||||
@override String get content => 'Зв\'язок тепер відбувається через незашифрований протокол HTTP. Щоб використовувати HTTPS, знову ввімкніть шифрування.';
|
||||
@override String get content => 'Зв\'язок тепер відбувається через незашифрований HTTP протокол. Щоб використовувати HTTPS, знову увімкніть шифрування.';
|
||||
}
|
||||
|
||||
// Path: dialogs.errorDialog
|
||||
@@ -821,9 +821,9 @@ class _StringsDialogsSendModeHelpUk extends _StringsDialogsSendModeHelpEn {
|
||||
|
||||
// Translations
|
||||
@override String get title => 'Режими надсилання';
|
||||
@override String get single => 'Надсилає файли одному одержувачу. Після завершення передачі файлу (-ів), виділення буде знято.';
|
||||
@override String get single => 'Надсилає файли одному одержувачу. Після завершення передачі, виділення буде знято.';
|
||||
@override String get multiple => 'Надсилає файли кільком одержувачам. Виділення не буде знято.';
|
||||
@override String get link => 'Одержувачі, у яких не встановлено LocalSend, можуть завантажити вибрані файли, відкривши посилання у своєму браузері.';
|
||||
@override String get link => 'Одержувачі, у яких не встановлений LocalSend, можуть завантажити вибрані файли, відкривши посилання у своєму браузері.';
|
||||
}
|
||||
|
||||
// Path: settingsTab.general.brightnessOptions
|
||||
|
||||
@@ -133,6 +133,7 @@ class _StringsSettingsTabZhCn extends _StringsSettingsTabEn {
|
||||
@override String get title => '设置';
|
||||
@override late final _StringsSettingsTabGeneralZhCn general = _StringsSettingsTabGeneralZhCn._(_root);
|
||||
@override late final _StringsSettingsTabReceiveZhCn receive = _StringsSettingsTabReceiveZhCn._(_root);
|
||||
@override late final _StringsSettingsTabSendZhCn send = _StringsSettingsTabSendZhCn._(_root);
|
||||
@override late final _StringsSettingsTabNetworkZhCn network = _StringsSettingsTabNetworkZhCn._(_root);
|
||||
@override late final _StringsSettingsTabOtherZhCn other = _StringsSettingsTabOtherZhCn._(_root);
|
||||
@override String get advancedSettings => '高级设置';
|
||||
@@ -263,6 +264,7 @@ class _StringsWebSharePageZhCn extends _StringsWebSharePageEn {
|
||||
@override String get requests => '请求';
|
||||
@override String get noRequests => '尚无请求。';
|
||||
@override String get encryption => '${_root.settingsTab.network.encryption}';
|
||||
@override String get autoAccept => '自动接受请求';
|
||||
@override String get encryptionHint => 'LocalSend 使用自签名证书。您需要在浏览器中接受它。';
|
||||
@override String pendingRequests({required Object n}) => '待处理请求: ${n}';
|
||||
}
|
||||
@@ -497,6 +499,17 @@ class _StringsSettingsTabReceiveZhCn extends _StringsSettingsTabReceiveEn {
|
||||
@override String get saveToHistory => '保存到历史记录';
|
||||
}
|
||||
|
||||
// Path: settingsTab.send
|
||||
class _StringsSettingsTabSendZhCn extends _StringsSettingsTabSendEn {
|
||||
_StringsSettingsTabSendZhCn._(_StringsZhCn root) : this._root = root, super._(root);
|
||||
|
||||
@override final _StringsZhCn _root; // ignore: unused_field
|
||||
|
||||
// Translations
|
||||
@override String get title => '发送';
|
||||
@override String get shareViaLinkAutoAccept => '通过链接分享: 自动接受';
|
||||
}
|
||||
|
||||
// Path: settingsTab.network
|
||||
class _StringsSettingsTabNetworkZhCn extends _StringsSettingsTabNetworkEn {
|
||||
_StringsSettingsTabNetworkZhCn._(_StringsZhCn root) : this._root = root, super._(root);
|
||||
|
||||
+1
-2
@@ -1,12 +1,11 @@
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_displaymode/flutter_displaymode.dart';
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:localsend_app/pages/home_page.dart';
|
||||
import 'package:localsend_app/provider/animation_provider.dart';
|
||||
import 'package:localsend_app/provider/app_arguments_provider.dart';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:wechat_assets_picker/wechat_assets_picker.dart';
|
||||
|
||||
part 'cross_file.mapper.dart';
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
part 'file_type.mapper.dart';
|
||||
|
||||
/// Categorization of one file.
|
||||
/// We use this information for a better UX.
|
||||
@MappableEnum(defaultValue: FileType.other)
|
||||
enum FileType {
|
||||
image(Icons.image),
|
||||
video(Icons.movie),
|
||||
pdf(Icons.description),
|
||||
text(Icons.subject),
|
||||
apk(Icons.android),
|
||||
other(Icons.file_present_sharp);
|
||||
|
||||
const FileType(this.icon);
|
||||
|
||||
final IconData icon;
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
|
||||
part 'receive_history_entry.mapper.dart';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
|
||||
part 'nearby_devices_state.mapper.dart';
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/session_status.dart';
|
||||
import 'package:localsend_app/model/state/send/sending_file.dart';
|
||||
|
||||
part 'send_session_state.mapper.dart';
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:localsend_app/model/file_status.dart';
|
||||
import 'package:wechat_assets_picker/wechat_assets_picker.dart';
|
||||
|
||||
part 'sending_file.mapper.dart';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:wechat_assets_picker/wechat_assets_picker.dart';
|
||||
|
||||
part 'web_send_file.mapper.dart';
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:localsend_app/model/session_status.dart';
|
||||
import 'package:localsend_app/model/state/server/receiving_file.dart';
|
||||
|
||||
part 'receive_session_state.mapper.dart';
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:localsend_app/model/file_status.dart';
|
||||
|
||||
part 'receiving_file.mapper.dart';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/persistence/color_mode.dart';
|
||||
import 'package:localsend_app/model/send_mode.dart';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:device_apps/device_apps.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/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';
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
import 'dart:async';
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:localsend_app/model/file_status.dart';
|
||||
import 'package:localsend_app/model/session_status.dart';
|
||||
import 'package:localsend_app/provider/network/send_provider.dart';
|
||||
import 'package:localsend_app/provider/network/server/server_provider.dart';
|
||||
import 'package:localsend_app/provider/progress_provider.dart';
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/provider/network/server/server_provider.dart';
|
||||
import 'package:localsend_app/provider/selection/selected_receiving_files_provider.dart';
|
||||
import 'package:localsend_app/util/file_size_helper.dart';
|
||||
import 'package:localsend_app/util/file_type_ext.dart';
|
||||
import 'package:localsend_app/util/native/pick_directory_path.dart';
|
||||
import 'package:localsend_app/util/native/platform_check.dart';
|
||||
import 'package:localsend_app/widget/custom_dropdown_button.dart';
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/model/persistence/color_mode.dart';
|
||||
import 'package:localsend_app/model/session_status.dart';
|
||||
import 'package:localsend_app/pages/progress_page.dart';
|
||||
import 'package:localsend_app/pages/receive_options_page.dart';
|
||||
import 'package:localsend_app/provider/favorites_provider.dart';
|
||||
@@ -13,6 +13,7 @@ import 'package:localsend_app/provider/network/server/server_provider.dart';
|
||||
import 'package:localsend_app/provider/selection/selected_receiving_files_provider.dart';
|
||||
import 'package:localsend_app/provider/settings_provider.dart';
|
||||
import 'package:localsend_app/theme.dart';
|
||||
import 'package:localsend_app/util/device_type_ext.dart';
|
||||
import 'package:localsend_app/util/ip_helper.dart';
|
||||
import 'package:localsend_app/util/native/platform_check.dart';
|
||||
import 'package:localsend_app/util/ui/snackbar.dart';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/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';
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/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';
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/send_mode.dart';
|
||||
import 'package:localsend_app/model/session_status.dart';
|
||||
import 'package:localsend_app/pages/selected_files_page.dart';
|
||||
import 'package:localsend_app/pages/tabs/send_tab_vm.dart';
|
||||
import 'package:localsend_app/pages/troubleshoot_page.dart';
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/model/cross_file.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/persistence/favorite_device.dart';
|
||||
import 'package:localsend_app/model/send_mode.dart';
|
||||
import 'package:localsend_app/model/session_status.dart';
|
||||
import 'package:localsend_app/pages/progress_page.dart';
|
||||
import 'package:localsend_app/pages/send_page.dart';
|
||||
import 'package:localsend_app/pages/web_send_page.dart';
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/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';
|
||||
@@ -11,6 +10,7 @@ import 'package:localsend_app/pages/tabs/settings_tab_controller.dart';
|
||||
import 'package:localsend_app/provider/settings_provider.dart';
|
||||
import 'package:localsend_app/provider/version_provider.dart';
|
||||
import 'package:localsend_app/theme.dart';
|
||||
import 'package:localsend_app/util/device_type_ext.dart';
|
||||
import 'package:localsend_app/util/native/autostart_helper.dart';
|
||||
import 'package:localsend_app/util/native/pick_directory_path.dart';
|
||||
import 'package:localsend_app/util/native/platform_check.dart';
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:common/common.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';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:refena_flutter/refena_flutter.dart';
|
||||
|
||||
/// This provider stores the last devices that the user sent a file to.
|
||||
|
||||
@@ -2,10 +2,7 @@ import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/dto/multicast_dto.dart';
|
||||
import 'package:localsend_app/model/dto/register_dto.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:localsend_app/provider/device_info_provider.dart';
|
||||
import 'package:localsend_app/provider/dio_provider.dart';
|
||||
import 'package:localsend_app/provider/logging/discovery_logs_provider.dart';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:common/common.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';
|
||||
|
||||
@@ -2,18 +2,10 @@ import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:localsend_app/model/cross_file.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:localsend_app/model/dto/info_register_dto.dart';
|
||||
import 'package:localsend_app/model/dto/multicast_dto.dart';
|
||||
import 'package:localsend_app/model/dto/prepare_upload_request_dto.dart';
|
||||
import 'package:localsend_app/model/dto/prepare_upload_response_dto.dart';
|
||||
import 'package:localsend_app/model/file_status.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:localsend_app/model/send_mode.dart';
|
||||
import 'package:localsend_app/model/session_status.dart';
|
||||
import 'package:localsend_app/model/state/send/send_session_state.dart';
|
||||
import 'package:localsend_app/model/state/send/sending_file.dart';
|
||||
import 'package:localsend_app/pages/home_page.dart';
|
||||
|
||||
@@ -3,16 +3,8 @@ import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/model/dto/info_dto.dart';
|
||||
import 'package:localsend_app/model/dto/info_register_dto.dart';
|
||||
import 'package:localsend_app/model/dto/prepare_upload_request_dto.dart';
|
||||
import 'package:localsend_app/model/dto/prepare_upload_response_dto.dart';
|
||||
import 'package:localsend_app/model/dto/register_dto.dart';
|
||||
import 'package:localsend_app/model/file_status.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:localsend_app/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';
|
||||
|
||||
@@ -2,14 +2,10 @@ import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:localsend_app/gen/assets.gen.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/model/cross_file.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:localsend_app/model/dto/info_dto.dart';
|
||||
import 'package:localsend_app/model/dto/receive_request_response_dto.dart';
|
||||
import 'package:localsend_app/model/file_type.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';
|
||||
import 'package:localsend_app/model/state/send/web/web_send_state.dart';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'dart:async';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:common/common.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';
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/dto/info_dto.dart';
|
||||
import 'package:localsend_app/provider/dio_provider.dart';
|
||||
import 'package:localsend_app/provider/security_provider.dart';
|
||||
import 'package:localsend_app/util/api_route_builder.dart';
|
||||
|
||||
@@ -2,10 +2,9 @@ import 'dart:convert';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/model/device.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';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:localsend_app/model/persistence/receive_history_entry.dart';
|
||||
import 'package:localsend_app/provider/persistence_provider.dart';
|
||||
import 'package:refena_flutter/refena_flutter.dart';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:localsend_app/util/file_path_helper.dart';
|
||||
import 'package:refena_flutter/refena_flutter.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
@@ -2,8 +2,8 @@ import 'dart:convert' show utf8;
|
||||
import 'dart:io';
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:common/common.dart';
|
||||
import 'package:localsend_app/model/cross_file.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:localsend_app/util/file_path_helper.dart';
|
||||
import 'package:localsend_app/util/native/cache_helper.dart';
|
||||
import 'package:localsend_app/util/native/cross_file_converters.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/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';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:common/common.dart';
|
||||
|
||||
const _basePath = '/api/localsend';
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
extension DeviceTypeExt on DeviceType {
|
||||
IconData get icon {
|
||||
return switch (this) {
|
||||
DeviceType.mobile => Icons.smartphone,
|
||||
DeviceType.desktop => Icons.computer,
|
||||
DeviceType.web => Icons.language,
|
||||
DeviceType.headless => Icons.terminal,
|
||||
DeviceType.server => Icons.dns,
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:common/common.dart';
|
||||
|
||||
/// Matches myFile-123 -> 123
|
||||
final _fileNumberRegex = RegExp(r'^(.*)(?:-(\d+))$');
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
extension FileTypeExt on FileType {
|
||||
IconData get icon {
|
||||
return switch (this) {
|
||||
FileType.image => Icons.image,
|
||||
FileType.video => Icons.movie,
|
||||
FileType.pdf => Icons.description,
|
||||
FileType.text => Icons.subject,
|
||||
FileType.apk => Icons.android,
|
||||
FileType.other => Icons.file_present_sharp,
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:common/common.dart';
|
||||
import 'package:device_apps/device_apps.dart';
|
||||
import 'package:file_picker/file_picker.dart' as file_picker;
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:localsend_app/model/cross_file.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:localsend_app/util/file_path_helper.dart';
|
||||
import 'package:share_handler/share_handler.dart';
|
||||
import 'package:wechat_assets_picker/wechat_assets_picker.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:device_info_plus/device_info_plus.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:slang/builder/model/enums.dart';
|
||||
import 'package:slang/builder/utils/string_extensions.dart';
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:file_picker/file_picker.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:file_picker/file_picker.dart' as file_picker;
|
||||
import 'package:file_selector/file_selector.dart' as file_selector;
|
||||
import 'package:file_selector/file_selector.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/model/file_type.dart' as file_type;
|
||||
import 'package:localsend_app/pages/apk_picker_page.dart';
|
||||
import 'package:localsend_app/provider/selection/selected_sending_files_provider.dart';
|
||||
import 'package:localsend_app/theme.dart';
|
||||
@@ -147,7 +147,7 @@ Future<void> _pickFiles(BuildContext context, Ref ref) async {
|
||||
try {
|
||||
if (checkPlatform([TargetPlatform.android])) {
|
||||
// We also need to use the file_picker package because file_selector does not expose the raw path.
|
||||
final result = await FilePicker.platform.pickFiles(allowMultiple: true);
|
||||
final result = await file_picker.FilePicker.platform.pickFiles(allowMultiple: true);
|
||||
if (result != null) {
|
||||
await ref.redux(selectedSendingFilesProvider).dispatchAsync(AddFilesAction(
|
||||
files: result.files,
|
||||
@@ -265,7 +265,7 @@ Future<void> _pickClipboard(BuildContext context, Ref ref) async {
|
||||
'clipboard_${now.year}-${now.month.twoDigitString}-${now.day.twoDigitString}_${now.hour.twoDigitString}-${now.minute.twoDigitString}.${determineImageType(image)}';
|
||||
ref.redux(selectedSendingFilesProvider).dispatch(AddBinaryAction(
|
||||
bytes: image,
|
||||
fileType: file_type.FileType.image,
|
||||
fileType: FileType.image,
|
||||
fileName: fileName,
|
||||
));
|
||||
return;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:localsend_app/util/native/platform_check.dart';
|
||||
import 'package:localsend_app/widget/dialogs/cannot_open_file_dialog.dart';
|
||||
import 'package:open_filex/open_filex.dart';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/gen/strings.g.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/provider/last_devices.provider.dart';
|
||||
import 'package:localsend_app/provider/local_ip_provider.dart';
|
||||
import 'package:localsend_app/provider/network/targeted_discovery_provider.dart';
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import 'dart:io';
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/model/cross_file.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:localsend_app/util/file_type_ext.dart';
|
||||
import 'package:wechat_assets_picker/wechat_assets_picker.dart';
|
||||
|
||||
const double defaultThumbnailSize = 50;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/util/device_type_ext.dart';
|
||||
import 'package:localsend_app/util/ip_helper.dart';
|
||||
import 'package:localsend_app/widget/custom_progress_bar.dart';
|
||||
import 'package:localsend_app/widget/device_bage.dart';
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:localsend_app/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';
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
import 'dart:async' as _i4;
|
||||
import 'dart:ui' as _i12;
|
||||
|
||||
import 'package:common/common.dart' as _i13;
|
||||
import 'package:flutter/material.dart' as _i8;
|
||||
import 'package:localsend_app/gen/strings.g.dart' as _i10;
|
||||
import 'package:localsend_app/model/device.dart' as _i13;
|
||||
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'
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:localsend_app/model/dto/info_register_dto.dart';
|
||||
import 'package:localsend_app/model/dto/multicast_dto.dart';
|
||||
import 'package:localsend_app/model/dto/prepare_upload_request_dto.dart';
|
||||
import 'package:localsend_app/model/dto/prepare_upload_response_dto.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
void main() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:localsend_app/provider/last_devices.provider.dart';
|
||||
import 'package:refena_flutter/refena_flutter.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:localsend_app/model/persistence/receive_history_entry.dart';
|
||||
import 'package:localsend_app/provider/receive_history_provider.dart';
|
||||
import 'package:mockito/mockito.dart';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:common/common.dart';
|
||||
import 'package:localsend_app/util/api_route_builder.dart';
|
||||
import 'package:test/test.dart';
|
||||
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
import 'package:cli/main.dart' as m;
|
||||
|
||||
void main(List<String> arguments) {
|
||||
m.main(arguments);
|
||||
Future<void> main(List<String> arguments) async {
|
||||
await m.main(arguments);
|
||||
}
|
||||
|
||||
@@ -80,6 +80,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.3"
|
||||
dart_mappable:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dart_mappable
|
||||
sha256: c2d4775336d7166590766a1c4451edde2a302efe2a2a35ac09eef9025102e10f
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.1"
|
||||
file:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -328,6 +336,14 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.5.6"
|
||||
type_plus:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: type_plus
|
||||
sha256: "2e33cfac2e129297d5874567bdf7587502ec359881e9318551e014d91b02f84a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.0"
|
||||
typed_data:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
||||
+13
-1
@@ -1 +1,13 @@
|
||||
export 'src/common_base.dart';
|
||||
export 'package:common/src/constants.dart';
|
||||
export 'package:common/src/model/device.dart';
|
||||
export 'package:common/src/model/dto/file_dto.dart';
|
||||
export 'package:common/src/model/dto/info_dto.dart';
|
||||
export 'package:common/src/model/dto/info_register_dto.dart';
|
||||
export 'package:common/src/model/dto/multicast_dto.dart';
|
||||
export 'package:common/src/model/dto/prepare_upload_request_dto.dart';
|
||||
export 'package:common/src/model/dto/prepare_upload_response_dto.dart';
|
||||
export 'package:common/src/model/dto/receive_request_response_dto.dart';
|
||||
export 'package:common/src/model/dto/register_dto.dart';
|
||||
export 'package:common/src/model/file_status.dart';
|
||||
export 'package:common/src/model/file_type.dart';
|
||||
export 'package:common/src/model/session_status.dart';
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
// TODO: Put public facing types in this file.
|
||||
|
||||
/// Checks if you are awesome. Spoiler: you are.
|
||||
class Awesome {
|
||||
bool get isAwesome => true;
|
||||
}
|
||||
@@ -1,19 +1,14 @@
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
part 'device.mapper.dart';
|
||||
|
||||
@MappableEnum(defaultValue: DeviceType.desktop)
|
||||
enum DeviceType {
|
||||
mobile(Icons.smartphone),
|
||||
desktop(Icons.computer),
|
||||
web(Icons.language),
|
||||
headless(Icons.terminal),
|
||||
server(Icons.dns);
|
||||
|
||||
const DeviceType(this.icon);
|
||||
|
||||
final IconData icon;
|
||||
mobile,
|
||||
desktop,
|
||||
web,
|
||||
headless,
|
||||
server,
|
||||
}
|
||||
|
||||
/// Internal device model.
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:common/src/model/file_type.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/model/file_type.dart';
|
||||
import 'package:mime/mime.dart';
|
||||
|
||||
/// The file DTO that is sent between server and client.
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:common/src/constants.dart';
|
||||
import 'package:common/src/model/device.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
|
||||
part 'info_dto.mapper.dart';
|
||||
|
||||
+4
-4
@@ -1,7 +1,7 @@
|
||||
import 'package:common/src/constants.dart';
|
||||
import 'package:common/src/model/device.dart';
|
||||
import 'package:common/src/model/dto/multicast_dto.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/dto/multicast_dto.dart';
|
||||
|
||||
part 'info_register_dto.mapper.dart';
|
||||
|
||||
@@ -33,7 +33,7 @@ class InfoRegisterDto with InfoRegisterDtoMappable {
|
||||
static const fromJson = InfoRegisterDtoMapper.fromJson;
|
||||
}
|
||||
|
||||
extension RegisterDtoExt on InfoRegisterDto {
|
||||
extension InfoRegisterDtoExt on InfoRegisterDto {
|
||||
Device toDevice(String ip, int ownPort, bool ownHttps) {
|
||||
return Device(
|
||||
ip: ip,
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'package:common/common.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
|
||||
part 'multicast_dto.mapper.dart';
|
||||
|
||||
@@ -36,7 +35,7 @@ class MulticastDto with MulticastDtoMappable {
|
||||
static const fromJson = MulticastDtoMapper.fromJson;
|
||||
}
|
||||
|
||||
extension InfoToDeviceExt on MulticastDto {
|
||||
extension MulticastDtoToDeviceExt on MulticastDto {
|
||||
Device toDevice(String ip, int ownPort, bool ownHttps) {
|
||||
return Device(
|
||||
ip: ip,
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
import 'package:common/src/model/dto/file_dto.dart';
|
||||
import 'package:common/src/model/dto/info_register_dto.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:localsend_app/model/dto/info_register_dto.dart';
|
||||
|
||||
part 'prepare_upload_request_dto.mapper.dart';
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
import 'package:common/src/model/dto/file_dto.dart';
|
||||
import 'package:common/src/model/dto/info_dto.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/model/dto/file_dto.dart';
|
||||
import 'package:localsend_app/model/dto/info_dto.dart';
|
||||
|
||||
part 'receive_request_response_dto.mapper.dart';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:common/src/constants.dart';
|
||||
import 'package:common/src/model/device.dart';
|
||||
import 'package:common/src/model/dto/multicast_dto.dart';
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
import 'package:localsend_app/constants.dart';
|
||||
import 'package:localsend_app/model/device.dart';
|
||||
import 'package:localsend_app/model/dto/multicast_dto.dart';
|
||||
|
||||
part 'register_dto.mapper.dart';
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
import 'package:dart_mappable/dart_mappable.dart';
|
||||
|
||||
part 'file_type.mapper.dart';
|
||||
|
||||
/// Categorization of one file.
|
||||
/// We use this information for a better UX.
|
||||
@MappableEnum(defaultValue: FileType.other)
|
||||
enum FileType {
|
||||
image,
|
||||
video,
|
||||
pdf,
|
||||
text,
|
||||
apk,
|
||||
other,
|
||||
}
|
||||
+5
-2
@@ -6,10 +6,13 @@ publish_to: "none"
|
||||
environment:
|
||||
sdk: ^3.1.1
|
||||
|
||||
# Add regular dependencies here.
|
||||
dependencies:
|
||||
# path: ^1.8.0
|
||||
collection: ^1.17.2 # allow newer versions, so it can compile with newer Flutter versions
|
||||
dart_mappable: 4.0.1
|
||||
mime: 1.0.4
|
||||
|
||||
dev_dependencies:
|
||||
build_runner: 2.4.7
|
||||
dart_mappable_builder: 4.0.1
|
||||
lints: ^2.0.0
|
||||
test: ^1.21.0
|
||||
|
||||
Reference in New Issue
Block a user