From 8338fc35896442864f712299b319ef5c613da502 Mon Sep 17 00:00:00 2001 From: Alex Li Date: Mon, 20 Jan 2025 11:58:51 +0800 Subject: [PATCH] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20Support=20`package:archive?= =?UTF-8?q?`=20v4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/generators/integrations/lottie_integration.dart | 9 ++++++++- packages/core/pubspec.yaml | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/core/lib/generators/integrations/lottie_integration.dart b/packages/core/lib/generators/integrations/lottie_integration.dart index cb8ab27b3..190d62e4b 100644 --- a/packages/core/lib/generators/integrations/lottie_integration.dart +++ b/packages/core/lib/generators/integrations/lottie_integration.dart @@ -124,7 +124,14 @@ ${isPackage ? "\n static const String package = '$packageName';" : ''} } if (asset.mime == 'application/zip') { final inputStream = InputFileStream(asset.fullPath); - final archive = ZipDecoder().decodeBuffer(inputStream); + final decoder = ZipDecoder(); + Archive archive; + try { + // Compatible with archive v4. + archive = (decoder as dynamic).decodeStream(inputStream); + } on NoSuchMethodError { + archive = (decoder as dynamic).decodeBuffer(inputStream); + } final jsonFile = archive.files.firstWhereOrNull( (e) => e.name.endsWith('.json'), ); diff --git a/packages/core/pubspec.yaml b/packages/core/pubspec.yaml index b68708cea..5164cf7f3 100644 --- a/packages/core/pubspec.yaml +++ b/packages/core/pubspec.yaml @@ -25,7 +25,7 @@ dependencies: glob: ^2.0.0 dart_style: '>=2.2.4 <4.0.0' - archive: ^3.4.0 + archive: '>=3.4.0 <5.0.0' args: ^2.0.0 pub_semver: ^2.0.0 vector_graphics_compiler: ^1.1.9