mirror of
https://github.com/StarCitizenToolBox/app.git
synced 2026-01-13 19:50:28 +00:00
fix: ToolsLogAnalyze
This commit is contained in:
parent
da0bf8f4e7
commit
c172b623d7
@ -40,11 +40,7 @@ class ToolsLogAnalyze extends _$ToolsLogAnalyze {
|
|||||||
final result = await GameLogAnalyzer.analyzeLogFile(logFile);
|
final result = await GameLogAnalyzer.analyzeLogFile(logFile);
|
||||||
final (results, _) = result;
|
final (results, _) = result;
|
||||||
|
|
||||||
// 逐条添加结果以支持流式显示
|
_setResult(results);
|
||||||
for (final data in results) {
|
|
||||||
_appendResult(data);
|
|
||||||
await Future.delayed(Duration.zero); // 让 UI 有机会更新
|
|
||||||
}
|
|
||||||
|
|
||||||
_startListenFile(logFile);
|
_startListenFile(logFile);
|
||||||
}
|
}
|
||||||
@ -64,13 +60,6 @@ class ToolsLogAnalyze extends _$ToolsLogAnalyze {
|
|||||||
debugPrint("[ToolsLogAnalyze] logFile change: ${change.type}");
|
debugPrint("[ToolsLogAnalyze] logFile change: ${change.type}");
|
||||||
switch (change.type) {
|
switch (change.type) {
|
||||||
case ChangeType.MODIFY:
|
case ChangeType.MODIFY:
|
||||||
// 移除统计信息
|
|
||||||
final newList = state.value?.where((e) => e.type != "statistics").toList();
|
|
||||||
if (listSortReverse) {
|
|
||||||
state = AsyncData(newList?.reversed.toList() ?? []);
|
|
||||||
} else {
|
|
||||||
state = AsyncData(newList ?? []);
|
|
||||||
}
|
|
||||||
return _launchLogAnalyze(logFile);
|
return _launchLogAnalyze(logFile);
|
||||||
case ChangeType.ADD:
|
case ChangeType.ADD:
|
||||||
case ChangeType.REMOVE:
|
case ChangeType.REMOVE:
|
||||||
@ -83,18 +72,11 @@ class ToolsLogAnalyze extends _$ToolsLogAnalyze {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void _appendResult(LogAnalyzeLineData data) {
|
void _setResult(List<LogAnalyzeLineData> data) {
|
||||||
// 追加结果到 state
|
if (listSortReverse) {
|
||||||
final currentState = state.value;
|
state = AsyncData(data.reversed.toList());
|
||||||
if (currentState != null) {
|
|
||||||
if (listSortReverse) {
|
|
||||||
// 反向排序
|
|
||||||
state = AsyncData([data, ...currentState]);
|
|
||||||
} else {
|
|
||||||
state = AsyncData([...currentState, data]);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
state = AsyncData([data]);
|
state = AsyncData(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user