mirror of
https://github.com/GopeedLab/gopeed.git
synced 2026-11-09 18:10:29 +00:00
merge: PR #1493 refresh repeated Android download intents
# Conflicts: # ui/flutter/test/features/tasks/presentation/create_task_window_page_test.dart
This commit is contained in:
commit
1554791e17
2 files changed
+102
No files matched your search
@@ -95,11 +95,21 @@ class _CreateTaskWindowPageState extends ConsumerState<CreateTaskWindowPage> {
|
||||
super.initState();
|
||||
_urlController.addListener(_handleUrlChanged);
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (!mounted) return;
|
||||
final task = widget.initialTask ?? ref.read(pendingCreateTaskProvider);
|
||||
_applyInitialTask(task);
|
||||
if (widget.initialTask == null) {
|
||||
ref.read(pendingCreateTaskProvider.notifier).clear();
|
||||
}
|
||||
if (widget.windowController == null && widget.initialTask == null) {
|
||||
// Navigating to /create again reuses this page, so consume subsequent
|
||||
// browser/share requests as well as the initial pending task.
|
||||
ref.listenManual(pendingCreateTaskProvider, (_, next) {
|
||||
if (next == null) return;
|
||||
ref.read(pendingCreateTaskProvider.notifier).clear();
|
||||
_applyInitialTask(next);
|
||||
});
|
||||
}
|
||||
if (task == null || _urlController.text.trim().isEmpty) {
|
||||
unawaited(_loadClipboardUrl());
|
||||
}
|
||||
@@ -181,6 +191,13 @@ class _CreateTaskWindowPageState extends ConsumerState<CreateTaskWindowPage> {
|
||||
final opts = task.opts;
|
||||
setState(() {
|
||||
if (req?.url.isNotEmpty == true) {
|
||||
_fileDataUri = '';
|
||||
_renameController.clear();
|
||||
_httpMethod = 'GET';
|
||||
_httpBody = '';
|
||||
_replaceHttpHeaders(const {'User-Agent': '', 'Cookie': '', 'Referer': ''});
|
||||
_trackersController.clear();
|
||||
_protocolTab = 0;
|
||||
_urlController.text = req!.url;
|
||||
_initialRawUrl = req.rawUrl;
|
||||
_initialLabels = req.labels == null ? null : Map<String, String>.of(req.labels!);
|
||||
|
||||
Reference in new issue
Block a user