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; }