From b49e0974ab6452de6aeda900a2a764764610fe5f Mon Sep 17 00:00:00 2001 From: nyne Date: Tue, 17 Dec 2024 12:10:57 +0800 Subject: [PATCH 01/18] improve zip --- lib/utils/cbz.dart | 7 +++---- pubspec.lock | 11 +++++------ pubspec.yaml | 4 +--- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/utils/cbz.dart b/lib/utils/cbz.dart index f6c3b67..4116217 100644 --- a/lib/utils/cbz.dart +++ b/lib/utils/cbz.dart @@ -1,5 +1,4 @@ import 'dart:convert'; -import 'dart:isolate'; import 'package:venera/foundation/app.dart'; import 'package:venera/foundation/comic_type.dart'; @@ -63,7 +62,7 @@ abstract class CBZ { var cache = Directory(FilePath.join(App.cachePath, 'cbz_import')); if (cache.existsSync()) cache.deleteSync(recursive: true); cache.createSync(); - await Isolate.run(() => ZipFile.openAndExtract(file.path, cache.path)); + await ZipFile.openAndExtractAsync(file.path, cache.path, 4); var metaDataFile = File(FilePath.join(cache.path, 'metadata.json')); ComicMetaData? metaData; if (metaDataFile.existsSync()) { @@ -208,13 +207,13 @@ abstract class CBZ { ).toJson(), ), ); - var cbz = File(FilePath.join(App.cachePath, '${comic.title}.cbz')); + var cbz = File(FilePath.join(App.cachePath, sanitizeFileName('${comic.title}.cbz'))); await _compress(cache.path, cbz.path); cache.deleteSync(recursive: true); return cbz; } static _compress(String src, String dst) async { - await Isolate.run(() => ZipFile.compressFolder(src, dst)); + await ZipFile.compressFolderAsync(src, dst, 4); } } diff --git a/pubspec.lock b/pubspec.lock index a254914..401089e 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1125,12 +1125,11 @@ packages: zip_flutter: dependency: "direct main" description: - path: "." - ref: HEAD - resolved-ref: d5721f1fd8179ee4a5db59f932ae7c89d94e12a0 - url: "https://github.com/wgh136/zip_flutter" - source: git - version: "0.0.1" + name: zip_flutter + sha256: "72b85f84dc5737e1c1dd7ed97ed0242f397872acc8d03044a5789b466dbf42b2" + url: "https://pub.dev" + source: hosted + version: "0.0.2" sdks: dart: ">=3.6.0 <4.0.0" flutter: ">=3.27.0" diff --git a/pubspec.yaml b/pubspec.yaml index 3aa2b77..b2c8950 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -51,9 +51,7 @@ dependencies: sliver_tools: ^0.2.12 flutter_file_dialog: ^3.0.2 file_selector: ^1.0.3 - zip_flutter: - git: - url: https://github.com/wgh136/zip_flutter + zip_flutter: ^0.0.2 lodepng_flutter: git: url: https://github.com/venera-app/lodepng_flutter From ab3953292bf6b2d55e3cdf6726c2c656a153f87c Mon Sep 17 00:00:00 2001 From: nyne Date: Tue, 17 Dec 2024 13:01:44 +0800 Subject: [PATCH 02/18] fix https://github.com/venera-app/venera-configs/issues/28 --- .../image_provider/base_image_provider.dart | 13 ++++++++----- lib/foundation/image_provider/reader_image.dart | 3 +++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/foundation/image_provider/base_image_provider.dart b/lib/foundation/image_provider/base_image_provider.dart index 15f41ab..788456a 100644 --- a/lib/foundation/image_provider/base_image_provider.dart +++ b/lib/foundation/image_provider/base_image_provider.dart @@ -27,10 +27,8 @@ abstract class BaseImageProvider> screen.size.height * _normalComicImageRatio, ); } else { - _effectiveScreenWidth = max( - _effectiveScreenWidth ?? 0, - screen.size.width - ); + _effectiveScreenWidth = + max(_effectiveScreenWidth ?? 0, screen.size.width); } } if (_effectiveScreenWidth! < _minComicImageWidth) { @@ -110,7 +108,10 @@ abstract class BaseImageProvider> try { final buffer = await ImmutableBuffer.fromUint8List(data); - return await decode(buffer, getTargetSize: _getTargetSize); + return await decode( + buffer, + getTargetSize: enableResize ? _getTargetSize : null, + ); } catch (e) { await CacheManager().delete(this.key); if (data.length < 2 * 1024) { @@ -151,6 +152,8 @@ abstract class BaseImageProvider> String toString() { return "$runtimeType($key)"; } + + bool get enableResize => false; } typedef FileDecoderCallback = Future Function(Uint8List); diff --git a/lib/foundation/image_provider/reader_image.dart b/lib/foundation/image_provider/reader_image.dart index 1686040..b92b524 100644 --- a/lib/foundation/image_provider/reader_image.dart +++ b/lib/foundation/image_provider/reader_image.dart @@ -49,4 +49,7 @@ class ReaderImageProvider @override String get key => "$imageKey@$sourceKey@$cid@$eid"; + + @override + bool get enableResize => true; } From a55e4eff673ae979fd3ba84fd1e90351d3edc3d2 Mon Sep 17 00:00:00 2001 From: nyne Date: Tue, 17 Dec 2024 17:21:10 +0800 Subject: [PATCH 03/18] Update to flutter 3.27.1 & Fix android build --- android/app/src/main/AndroidManifest.xml | 1 - pubspec.lock | 4 ++-- pubspec.yaml | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index f21ec14..2d833ce 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -53,7 +53,6 @@ - +