feat: skip status for flutter
This commit is contained in:
parent
cbc372991b
commit
97066080bf
@ -458,7 +458,7 @@ class _FileManagerPageState extends State<FileManagerPage>
|
|||||||
Wrap(
|
Wrap(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
'${item.state.display()} ${max(0, item.fileNum)}/${item.fileCount} '),
|
'${item.display()} ${max(0, item.fileNum)}/${item.fileCount} '),
|
||||||
Text(
|
Text(
|
||||||
'${translate("files")} ${readableFileSize(item.totalSize.toDouble())} '),
|
'${translate("files")} ${readableFileSize(item.totalSize.toDouble())} '),
|
||||||
Offstage(
|
Offstage(
|
||||||
|
@ -268,6 +268,7 @@ class FileModel extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
jobError(Map<String, dynamic> evt) {
|
jobError(Map<String, dynamic> evt) {
|
||||||
|
final err = evt['err'].toString();
|
||||||
if (!isDesktop) {
|
if (!isDesktop) {
|
||||||
if (_jobResultListener.isListening) {
|
if (_jobResultListener.isListening) {
|
||||||
_jobResultListener.complete(evt);
|
_jobResultListener.complete(evt);
|
||||||
@ -275,12 +276,24 @@ class FileModel extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
_selectMode = false;
|
_selectMode = false;
|
||||||
_jobProgress.clear();
|
_jobProgress.clear();
|
||||||
|
_jobProgress.err = err;
|
||||||
_jobProgress.state = JobState.error;
|
_jobProgress.state = JobState.error;
|
||||||
|
_jobProgress.fileNum = int.parse(evt['file_num']);
|
||||||
|
if (err == "skipped") {
|
||||||
|
_jobProgress.state = JobState.done;
|
||||||
|
_jobProgress.finishedSize = _jobProgress.totalSize;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
int jobIndex = getJob(int.parse(evt['id']));
|
int jobIndex = getJob(int.parse(evt['id']));
|
||||||
if (jobIndex != -1) {
|
if (jobIndex != -1) {
|
||||||
final job = jobTable[jobIndex];
|
final job = jobTable[jobIndex];
|
||||||
job.state = JobState.error;
|
job.state = JobState.error;
|
||||||
|
job.err = err;
|
||||||
|
job.fileNum = int.parse(evt['file_num']);
|
||||||
|
if (err == "skipped") {
|
||||||
|
job.state = JobState.done;
|
||||||
|
job.finishedSize = job.totalSize;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
debugPrint("jobError $evt");
|
debugPrint("jobError $evt");
|
||||||
@ -1089,6 +1102,7 @@ class JobProgress {
|
|||||||
var remote = "";
|
var remote = "";
|
||||||
var to = "";
|
var to = "";
|
||||||
var showHidden = false;
|
var showHidden = false;
|
||||||
|
var err = "";
|
||||||
|
|
||||||
clear() {
|
clear() {
|
||||||
state = JobState.none;
|
state = JobState.none;
|
||||||
@ -1100,6 +1114,14 @@ class JobProgress {
|
|||||||
fileCount = 0;
|
fileCount = 0;
|
||||||
remote = "";
|
remote = "";
|
||||||
to = "";
|
to = "";
|
||||||
|
err = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
String display() {
|
||||||
|
if (state == JobState.done && err == "skipped") {
|
||||||
|
return translate("Skipped");
|
||||||
|
}
|
||||||
|
return state.display();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -919,7 +919,6 @@ impl<T: InvokeUiSession> Remote<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Some(file_response::Union::Block(block)) => {
|
Some(file_response::Union::Block(block)) => {
|
||||||
log::debug!("recv block: {}", block.blk_id);
|
|
||||||
if let Some(job) = fs::get_job(block.id, &mut self.write_jobs) {
|
if let Some(job) = fs::get_job(block.id, &mut self.write_jobs) {
|
||||||
if let Err(_err) = job.write(block).await {
|
if let Err(_err) = job.write(block).await {
|
||||||
// to-do: add "skip" for writing job
|
// to-do: add "skip" for writing job
|
||||||
|
@ -210,10 +210,10 @@ impl InvokeUiSession for FlutterHandler {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
fn job_done(&self, id: i32, file_num: i32, skipped: bool) {
|
fn job_done(&self, id: i32, file_num: i32) {
|
||||||
self.push_event(
|
self.push_event(
|
||||||
"job_done",
|
"job_done",
|
||||||
vec![("id", &id.to_string()), ("file_num", &file_num.to_string()), ("skipped", skipped)],
|
vec![("id", &id.to_string()), ("file_num", &file_num.to_string())],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user