Add support to cache thumbnail images to disk

This commit is contained in:
2024-05-26 18:23:14 +08:00
parent e1943ee56a
commit 3a609256e0
13 changed files with 324 additions and 9 deletions

View File

@@ -22,6 +22,7 @@ import 'main.dart';
import 'platform/clipboard.dart';
import 'platform/display.dart';
import 'platform/get_jar.dart';
import 'platform/image_cache.dart';
import 'platform/path.dart';
import 'platform/set_title.dart';
import 'tags.dart';
@@ -38,6 +39,7 @@ final dio = Dio()
Config? _prefs;
EHApi? _api;
PersistCookieJar? _jar;
ImageCaches? _imageCaches;
Future<void> prepareJar() async {
final jar = PersistCookieJar(storage: FileStorage(await getJarPath()));
@@ -66,6 +68,21 @@ Config get prefs {
return _prefs!;
}
final _globalLog = Logger("global");
Future<void> prepareImageCaches() async {
_imageCaches = ImageCaches();
try {
await _imageCaches!.init();
} catch (e) {
_globalLog.warning("Failed to initiailzed image caches: $e");
}
}
ImageCaches get imageCaches => _imageCaches!;
bool get isImageCacheEnabled => prefs.getBool("enableImageCache") ?? true;
void initApi(String baseUrl) {
_api = EHApi(dio, baseUrl: baseUrl);
}