delete cached favorite cover after deleting a local favorite

This commit is contained in:
nyne
2024-10-29 09:23:16 +08:00
parent d6643800fe
commit c2238080df
2 changed files with 10 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ import 'dart:convert';
import 'package:sqlite3/sqlite3.dart'; import 'package:sqlite3/sqlite3.dart';
import 'package:venera/foundation/appdata.dart'; import 'package:venera/foundation/appdata.dart';
import 'package:venera/foundation/image_provider/local_favorite_image.dart';
import 'package:venera/foundation/log.dart'; import 'package:venera/foundation/log.dart';
import 'dart:io'; import 'dart:io';
@@ -403,6 +404,7 @@ class LocalFavoritesManager {
void deleteComicWithId(String folder, String id, ComicType type) { void deleteComicWithId(String folder, String id, ComicType type) {
_modifiedAfterLastCache = true; _modifiedAfterLastCache = true;
LocalFavoriteImageProvider.delete(id, type.value);
_db.execute(""" _db.execute("""
delete from "$folder" delete from "$folder"
where id == ? and type == ?; where id == ? and type == ?;

View File

@@ -19,6 +19,14 @@ class LocalFavoriteImageProvider
final int intKey; final int intKey;
static void delete(String id, int intKey) {
var fileName = (id + intKey.toString()).hashCode.toString();
var file = File(FilePath.join(App.dataPath, 'favorite_cover', fileName));
if(file.existsSync()) {
file.delete();
}
}
@override @override
Future<Uint8List> load(StreamController<ImageChunkEvent> chunkEvents) async { Future<Uint8List> load(StreamController<ImageChunkEvent> chunkEvents) async {
var sourceKey = ComicSource.fromIntKey(intKey)?.key; var sourceKey = ComicSource.fromIntKey(intKey)?.key;