Improve performance for clearing history.

This commit is contained in:
2025-05-22 20:37:25 +08:00
parent 7dc6be622a
commit ded0068ea6
2 changed files with 11 additions and 3 deletions

View File

@@ -306,7 +306,9 @@ class HistoryManager with ChangeNotifier {
notifyListeners();
}
void clearUnfavoritedHistory() {
void clearUnfavoritedHistory() {
_db.execute('BEGIN TRANSACTION;');
try {
final idAndTypes = _db.select("""
select id, type from history;
""");
@@ -320,9 +322,14 @@ class HistoryManager with ChangeNotifier {
""", [id, type.value]);
}
}
updateCache();
notifyListeners();
_db.execute('COMMIT;');
} catch (e) {
_db.execute('ROLLBACK;');
rethrow;
}
updateCache();
notifyListeners();
}
void remove(String id, ComicType type) async {
_db.execute("""

View File

@@ -147,6 +147,7 @@ class _HistoryPageState extends State<HistoryPage> {
},
child: Text('Clear Unfavorited'.tl),
),
const SizedBox(width: 4),
Button.filled(
color: context.colorScheme.error,
onPressed: () {