From c04fa9b88fd613e53c0430fb7c54b13ca6e0e3a0 Mon Sep 17 00:00:00 2001 From: zmuranaka Date: Thu, 6 Jun 2024 20:45:45 -0600 Subject: [PATCH 1/9] Add analysis_options.yaml, run dart fix --apply --- analysis_options.yaml | 1 + example/lib/main.dart | 38 +++++++++++----------- example/pubspec.lock | 56 ++++++++++++++++++++++++++------- lib/flutter_image_compress.dart | 6 ++-- lib/src/interface.dart | 2 +- lib/src/validator.dart | 6 ++-- pubspec.lock | 56 ++++++++++++++++++++++++++------- 7 files changed, 116 insertions(+), 49 deletions(-) create mode 100644 analysis_options.yaml diff --git a/analysis_options.yaml b/analysis_options.yaml new file mode 100644 index 0000000..f9b3034 --- /dev/null +++ b/analysis_options.yaml @@ -0,0 +1 @@ +include: package:flutter_lints/flutter.yaml diff --git a/example/lib/main.dart b/example/lib/main.dart index 7ebe780..69bec85 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -3,16 +3,18 @@ import 'package:flutter/material.dart'; import 'package:image_compression_flutter/image_compression_flutter.dart'; void main() { - runApp(MaterialApp(home: MainPage())); + runApp(const MaterialApp(home: MainPage())); } class MainPage extends StatefulWidget { + const MainPage({super.key}); + @override _MainPageState createState() => _MainPageState(); } class _MainPageState extends State { - Configuration config = Configuration(); + Configuration config = const Configuration(); ImageFile? image; ImageFile? imageOutput; bool processing = false; @@ -21,16 +23,16 @@ class _MainPageState extends State { Widget build(BuildContext context) { final buttonGallery = ElevatedButton.icon( onPressed: handleOpenGallery, - icon: Icon(Icons.photo_outlined), - label: Text('Pick an Image'), + icon: const Icon(Icons.photo_outlined), + label: const Text('Pick an Image'), ); final buttonCompress = Padding( padding: const EdgeInsets.all(16), child: ElevatedButton.icon( onPressed: handleCompressImage, - icon: Icon(Icons.compress), - label: Text('Compress Image'), + icon: const Icon(Icons.compress), + label: const Text('Compress Image'), ), ); @@ -41,13 +43,13 @@ class _MainPageState extends State { child: Image.memory(image!.rawBytes), ); final inputImageSizeType = ListTile( - title: Text('Image size-type :'), + title: const Text('Image size-type :'), subtitle: Text( '${(image!.sizeInBytes / 1024 / 1024).toStringAsFixed(2)} MB - (${image!.width} x ${image!.height})'), trailing: Text(image!.extension), ); final inputImageName = ListTile( - title: Text('Image name :'), + title: const Text('Image name :'), subtitle: Text(image!.fileName), ); @@ -59,22 +61,22 @@ class _MainPageState extends State { padding: const EdgeInsets.fromLTRB(16, 16, 16, 0), child: buttonGallery, ), - ListTile(title: Text('INPUT IMAGE')), + const ListTile(title: Text('INPUT IMAGE')), inputImage, inputImageSizeType, inputImageName, - Divider(), - ListTile(title: Text('OUTPUT IMAGE')), + const Divider(), + const ListTile(title: Text('OUTPUT IMAGE')), configOutputType, configQuality, nativeCompressorCheckBox, buttonCompress, processing - ? Padding( - padding: const EdgeInsets.all(16.0), + ? const Padding( + padding: EdgeInsets.all(16.0), child: LinearProgressIndicator(), ) - : SizedBox.shrink(), + : const SizedBox.shrink(), if (imageOutput != null && !processing) Padding( padding: const EdgeInsets.symmetric(horizontal: 16), @@ -82,7 +84,7 @@ class _MainPageState extends State { ), if (imageOutput != null && !processing) ListTile( - title: Text('Image size-type :'), + title: const Text('Image size-type :'), subtitle: Text( '${(imageOutput!.sizeInBytes / 1024 / 1024).toStringAsFixed(2)} MB - (${imageOutput!.width} x ${imageOutput!.height})'), trailing: Text(imageOutput!.contentType ?? '-'), @@ -102,7 +104,7 @@ class _MainPageState extends State { Widget get nativeCompressorCheckBox { return CheckboxListTile( - title: Text('Native compressor for JPG/PNG'), + title: const Text('Native compressor for JPG/PNG'), value: config.useJpgPngNativeCompressor, onChanged: (flag) { setState(() { @@ -118,14 +120,14 @@ class _MainPageState extends State { Widget get configOutputType { return ListTile( - title: Text('Select output type'), + title: const Text('Select output type'), subtitle: Text(config.outputType.toString()), trailing: PopupMenuButton( itemBuilder: (context) { return ImageOutputType.values .map((e) => PopupMenuItem( - child: Text(e.toString()), value: e, + child: Text(e.toString()), )) .toList(); }, diff --git a/example/pubspec.lock b/example/pubspec.lock index 55ca81e..eaf0474 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -303,6 +303,30 @@ packages: url: "https://pub.dev" source: hosted version: "0.6.7" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + url: "https://pub.dev" + source: hosted + version: "10.0.4" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" lints: dependency: transitive description: @@ -315,26 +339,26 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.12.0" mime: dependency: transitive description: @@ -347,10 +371,10 @@ packages: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" petitparser: dependency: transitive description: @@ -424,10 +448,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" typed_data: dependency: transitive description: @@ -444,6 +468,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + url: "https://pub.dev" + source: hosted + version: "14.2.1" web: dependency: transitive description: @@ -461,5 +493,5 @@ packages: source: hosted version: "6.5.0" sdks: - dart: ">=3.2.0 <4.0.0" - flutter: ">=3.10.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/lib/flutter_image_compress.dart b/lib/flutter_image_compress.dart index 1acd2dc..e4f0784 100644 --- a/lib/flutter_image_compress.dart +++ b/lib/flutter_image_compress.dart @@ -37,9 +37,9 @@ export 'src/compress_format.dart'; /// class FlutterImageCompress { static const MethodChannel _channel = - const MethodChannel('flutter_image_compress'); + MethodChannel('flutter_image_compress'); - static Validator _validator = Validator(_channel); + static final Validator _validator = Validator(_channel); static Validator get validator => _validator; @@ -192,7 +192,7 @@ class FlutterImageCompress { } final img = AssetImage(assetName); - final config = ImageConfiguration(); + const config = ImageConfiguration(); AssetBundleImageKey key = await img.obtainKey(config); final ByteData data = await key.bundle.load(key.name); diff --git a/lib/src/interface.dart b/lib/src/interface.dart index b9be9f1..2ec4630 100644 --- a/lib/src/interface.dart +++ b/lib/src/interface.dart @@ -8,7 +8,7 @@ import 'extension.dart'; /// Image compression engine abstract class ImageCompressionFlutter { static const MethodChannel _channel = - const MethodChannel('image_compression_flutter'); + MethodChannel('image_compression_flutter'); @protected Future dummyCallNativeCode( diff --git a/lib/src/validator.dart b/lib/src/validator.dart index 107e380..5428ea7 100644 --- a/lib/src/validator.dart +++ b/lib/src/validator.dart @@ -41,19 +41,19 @@ class Validator { final String version = await channel.invokeMethod("getSystemVersion"); final firstVersion = version.split(".")[0]; final result = int.parse(firstVersion) >= 11; - final msg = "The heic format only support iOS 11.0+"; + const msg = "The heic format only support iOS 11.0+"; assert(result, msg); _checkThrowError(result, msg); return result; } else if (Platform.isAndroid) { final int version = await channel.invokeMethod("getSystemVersion"); final result = version >= 28; - final msg = "The heic format only support android API 28+"; + const msg = "The heic format only support android API 28+"; assert(result, msg); _checkThrowError(result, msg); return result; } else { - final msg = "The heic format only support android and iOS."; + const msg = "The heic format only support android and iOS."; assert(Platform.isAndroid || Platform.isIOS, msg); _checkThrowError(false, msg); return false; diff --git a/pubspec.lock b/pubspec.lock index 9ce4233..a34dbb2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -168,6 +168,30 @@ packages: url: "https://pub.dev" source: hosted version: "0.6.7" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + url: "https://pub.dev" + source: hosted + version: "10.0.4" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + url: "https://pub.dev" + source: hosted + version: "3.0.3" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" lints: dependency: transitive description: @@ -180,26 +204,26 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.12.0" mime: dependency: transitive description: @@ -212,10 +236,10 @@ packages: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" petitparser: dependency: transitive description: @@ -289,10 +313,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" typed_data: dependency: transitive description: @@ -309,6 +333,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + url: "https://pub.dev" + source: hosted + version: "14.2.1" web: dependency: transitive description: @@ -326,5 +358,5 @@ packages: source: hosted version: "6.5.0" sdks: - dart: ">=3.2.0 <4.0.0" - flutter: ">=2.5.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" From b5a4f32af93e6237ecb29f8b97ffa10620cb605f Mon Sep 17 00:00:00 2001 From: zmuranaka Date: Thu, 6 Jun 2024 20:47:26 -0600 Subject: [PATCH 2/9] Fix 'Invalid use of a private type in a public API.' --- example/lib/main.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 69bec85..fb17b3f 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -10,7 +10,7 @@ class MainPage extends StatefulWidget { const MainPage({super.key}); @override - _MainPageState createState() => _MainPageState(); + State createState() => _MainPageState(); } class _MainPageState extends State { From e9354b0381ed0b7ee1075f461ca7b9b8661f36e2 Mon Sep 17 00:00:00 2001 From: zmuranaka Date: Sat, 8 Jun 2024 13:48:22 -0600 Subject: [PATCH 3/9] Upgrade pubspec.lock & example/pubspec.lock --- example/pubspec.lock | 92 ++++++++++++++++++++------------------------ pubspec.lock | 68 +++++++++++++++----------------- 2 files changed, 72 insertions(+), 88 deletions(-) diff --git a/example/pubspec.lock b/example/pubspec.lock index eaf0474..ddbe70a 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: archive - sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d url: "https://pub.dev" source: hosted - version: "3.4.10" + version: "3.6.1" async: dependency: transitive description: @@ -49,22 +49,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" cross_file: dependency: transitive description: name: cross_file - sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e + sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" url: "https://pub.dev" source: hosted - version: "0.3.3+8" + version: "0.3.4+1" crypto: dependency: transitive description: @@ -77,10 +69,10 @@ packages: dependency: "direct main" description: name: cupertino_icons - sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "1.0.8" fake_async: dependency: transitive description: @@ -154,42 +146,50 @@ packages: dependency: transitive description: name: flutter_image_compress - sha256: f159d2e8c4ed04b8e36994124fd4a5017a0f01e831ae3358c74095c340e9ae5e + sha256: "45a3071868092a61b11044c70422b04d39d4d9f2ef536f3c5b11fb65a1e7dd90" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.3.0" flutter_image_compress_common: dependency: transitive description: name: flutter_image_compress_common - sha256: "7cad12802628706655920089cfe9ee1d1098300e7f39a079eb160458bbc47652" + sha256: "7f79bc6c8a363063620b4e372fa86bc691e1cb28e58048cd38e030692fbd99ee" url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.5" flutter_image_compress_macos: dependency: transitive description: name: flutter_image_compress_macos - sha256: fea1e3d71150d03373916b832c49b5c2f56c3e7e13da82a929274a2c6f88251e + sha256: "26df6385512e92b3789dc76b613b54b55c457a7f1532e59078b04bf189782d47" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.2" + flutter_image_compress_ohos: + dependency: transitive + description: + name: flutter_image_compress_ohos + sha256: e76b92bbc830ee08f5b05962fc78a532011fcd2041f620b5400a593e96da3f51 + url: "https://pub.dev" + source: hosted + version: "0.0.3" flutter_image_compress_platform_interface: dependency: transitive description: name: flutter_image_compress_platform_interface - sha256: eb4f055138b29b04498ebcb6d569aaaee34b64d75fb74ea0d40f9790bf47ee9d + sha256: "579cb3947fd4309103afe6442a01ca01e1e6f93dc53bb4cbd090e8ce34a41889" url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.5" flutter_image_compress_web: dependency: transitive description: name: flutter_image_compress_web - sha256: da41cc3859f19d11c7d10be615f6a9dcf0907e7daffde7442bf4cc2486663660 + sha256: f02fe352b17f82b72f481de45add240db062a2585850bea1667e82cc4cd6c311 url: "https://pub.dev" source: hosted - version: "0.1.3+2" + version: "0.1.4+1" flutter_lints: dependency: "direct dev" description: @@ -202,10 +202,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e url: "https://pub.dev" source: hosted - version: "2.0.17" + version: "2.0.20" flutter_test: dependency: "direct dev" description: flutter @@ -220,10 +220,10 @@ packages: dependency: transitive description: name: http - sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" http_parser: dependency: transitive description: @@ -236,10 +236,10 @@ packages: dependency: transitive description: name: image - sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" url: "https://pub.dev" source: hosted - version: "4.1.7" + version: "4.2.0" image_compression: dependency: transitive description: @@ -267,10 +267,10 @@ packages: dependency: transitive description: name: image_picker_android - sha256: "39f2bfe497e495450c81abcd44b62f56c2a36a37a175da7d137b4454977b51b1" + sha256: "4161e1f843d8480d2e9025ee22411778c3c9eb7e40076dcf2da23d8242b7b51c" url: "https://pub.dev" source: hosted - version: "0.8.9+3" + version: "0.8.12+3" image_picker_for_web: dependency: transitive description: @@ -283,26 +283,26 @@ packages: dependency: transitive description: name: image_picker_ios - sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3 + sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447" url: "https://pub.dev" source: hosted - version: "0.8.9+1" + version: "0.8.12" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface - sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b + sha256: "9ec26d410ff46f483c5519c29c02ef0e02e13a543f882b152d4bfd2f06802f80" url: "https://pub.dev" source: hosted - version: "2.9.3" + version: "2.10.0" js: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.1" leak_tracker: dependency: transitive description: @@ -391,14 +391,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" - url: "https://pub.dev" - source: hosted - version: "3.7.4" sky_engine: dependency: transitive description: flutter @@ -480,10 +472,10 @@ packages: dependency: transitive description: name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "0.5.1" xml: dependency: transitive description: @@ -493,5 +485,5 @@ packages: source: hosted version: "6.5.0" sdks: - dart: ">=3.3.0 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" + dart: ">=3.4.0 <4.0.0" + flutter: ">=3.22.0" diff --git a/pubspec.lock b/pubspec.lock index a34dbb2..401b97b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: archive - sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d url: "https://pub.dev" source: hosted - version: "3.4.10" + version: "3.6.1" async: dependency: transitive description: @@ -49,22 +49,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" cross_file: dependency: "direct main" description: name: cross_file - sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e + sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" url: "https://pub.dev" source: hosted - version: "0.3.3+8" + version: "0.3.4+1" crypto: dependency: transitive description: @@ -90,50 +82,58 @@ packages: dependency: "direct main" description: name: flutter_image_compress - sha256: f159d2e8c4ed04b8e36994124fd4a5017a0f01e831ae3358c74095c340e9ae5e + sha256: "45a3071868092a61b11044c70422b04d39d4d9f2ef536f3c5b11fb65a1e7dd90" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.3.0" flutter_image_compress_common: dependency: transitive description: name: flutter_image_compress_common - sha256: "7cad12802628706655920089cfe9ee1d1098300e7f39a079eb160458bbc47652" + sha256: "7f79bc6c8a363063620b4e372fa86bc691e1cb28e58048cd38e030692fbd99ee" url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.5" flutter_image_compress_macos: dependency: transitive description: name: flutter_image_compress_macos - sha256: fea1e3d71150d03373916b832c49b5c2f56c3e7e13da82a929274a2c6f88251e + sha256: "26df6385512e92b3789dc76b613b54b55c457a7f1532e59078b04bf189782d47" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.2" + flutter_image_compress_ohos: + dependency: transitive + description: + name: flutter_image_compress_ohos + sha256: e76b92bbc830ee08f5b05962fc78a532011fcd2041f620b5400a593e96da3f51 + url: "https://pub.dev" + source: hosted + version: "0.0.3" flutter_image_compress_platform_interface: dependency: transitive description: name: flutter_image_compress_platform_interface - sha256: eb4f055138b29b04498ebcb6d569aaaee34b64d75fb74ea0d40f9790bf47ee9d + sha256: "579cb3947fd4309103afe6442a01ca01e1e6f93dc53bb4cbd090e8ce34a41889" url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.5" flutter_image_compress_web: dependency: transitive description: name: flutter_image_compress_web - sha256: da41cc3859f19d11c7d10be615f6a9dcf0907e7daffde7442bf4cc2486663660 + sha256: f02fe352b17f82b72f481de45add240db062a2585850bea1667e82cc4cd6c311 url: "https://pub.dev" source: hosted - version: "0.1.3+2" + version: "0.1.4+1" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 + sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" flutter_test: dependency: "direct dev" description: flutter @@ -148,10 +148,10 @@ packages: dependency: transitive description: name: image - sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" url: "https://pub.dev" source: hosted - version: "4.1.7" + version: "4.2.0" image_compression: dependency: "direct main" description: @@ -164,10 +164,10 @@ packages: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.1" leak_tracker: dependency: transitive description: @@ -256,14 +256,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" - url: "https://pub.dev" - source: hosted - version: "3.7.4" sky_engine: dependency: transitive description: flutter @@ -345,10 +337,10 @@ packages: dependency: transitive description: name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "0.5.1" xml: dependency: transitive description: From 9afe461fc9d27b453037698c7b1bcb17cab9dbce Mon Sep 17 00:00:00 2001 From: zmuranaka Date: Sat, 8 Jun 2024 13:49:04 -0600 Subject: [PATCH 4/9] Some auto-generated Windows changes --- example/windows/flutter/CMakeLists.txt | 7 ++++++- example/windows/runner/Runner.rc | 10 +++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/example/windows/flutter/CMakeLists.txt b/example/windows/flutter/CMakeLists.txt index b02c548..86edc67 100644 --- a/example/windows/flutter/CMakeLists.txt +++ b/example/windows/flutter/CMakeLists.txt @@ -9,6 +9,11 @@ include(${EPHEMERAL_DIR}/generated_config.cmake) # https://github.com/flutter/flutter/issues/57146. set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") +# Set fallback configurations for older versions of the flutter tool. +if (NOT DEFINED FLUTTER_TARGET_PLATFORM) + set(FLUTTER_TARGET_PLATFORM "windows-x64") +endif() + # === Flutter Library === set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") @@ -91,7 +96,7 @@ add_custom_command( COMMAND ${CMAKE_COMMAND} -E env ${FLUTTER_TOOL_ENVIRONMENT} "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - windows-x64 $ + ${FLUTTER_TARGET_PLATFORM} $ VERBATIM ) add_custom_target(flutter_assemble DEPENDS diff --git a/example/windows/runner/Runner.rc b/example/windows/runner/Runner.rc index be9060f..2fdbed3 100644 --- a/example/windows/runner/Runner.rc +++ b/example/windows/runner/Runner.rc @@ -60,14 +60,14 @@ IDI_APP_ICON ICON "resources\\app_icon.ico" // Version // -#ifdef FLUTTER_BUILD_NUMBER -#define VERSION_AS_NUMBER FLUTTER_BUILD_NUMBER +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD #else -#define VERSION_AS_NUMBER 1,0,0 +#define VERSION_AS_NUMBER 1,0,0,0 #endif -#ifdef FLUTTER_BUILD_NAME -#define VERSION_AS_STRING #FLUTTER_BUILD_NAME +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION #else #define VERSION_AS_STRING "1.0.0" #endif From 165d38e6fafd63c7108cb1afddaf947517d07599 Mon Sep 17 00:00:00 2001 From: zmuranaka Date: Sat, 8 Jun 2024 13:49:42 -0600 Subject: [PATCH 5/9] A grammar fix --- lib/flutter_image_compress.dart | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/flutter_image_compress.dart b/lib/flutter_image_compress.dart index e4f0784..c83d951 100644 --- a/lib/flutter_image_compress.dart +++ b/lib/flutter_image_compress.dart @@ -13,7 +13,7 @@ export 'src/compress_format.dart'; /// /// static method will help you compress image /// -/// most method will return [Uint8List] +/// most methods will return [Uint8List] /// /// You can use `Image.memory` to display image /// ```dart @@ -36,8 +36,7 @@ export 'src/compress_format.dart'; /// support rotate /// class FlutterImageCompress { - static const MethodChannel _channel = - MethodChannel('flutter_image_compress'); + static const MethodChannel _channel = MethodChannel('flutter_image_compress'); static final Validator _validator = Validator(_channel); From 41e1007f8578b3393085bc84ec42ceeda874d15e Mon Sep 17 00:00:00 2001 From: zmuranaka Date: Sat, 8 Jun 2024 13:50:24 -0600 Subject: [PATCH 6/9] Give ImageCompressionFlutterWeb.handleMethodCall a return type --- lib/image_compression_flutter_web.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/image_compression_flutter_web.dart b/lib/image_compression_flutter_web.dart index 56ec045..862908a 100644 --- a/lib/image_compression_flutter_web.dart +++ b/lib/image_compression_flutter_web.dart @@ -23,7 +23,7 @@ class ImageCompressionFlutterWeb { /// Handles method calls over the MethodChannel of this plugin. /// Note: Check the "federated" architecture for a new way of doing this: /// https://flutter.dev/go/federated-plugins - Future handleMethodCall(MethodCall call) async { + Future> handleMethodCall(MethodCall call) async { final compressor = getCompressor(); final ImageFile output; From 905fef73ef64c339b3a48da8095a2b67c76df50e Mon Sep 17 00:00:00 2001 From: zmuranaka Date: Sat, 8 Jun 2024 13:50:53 -0600 Subject: [PATCH 7/9] Fix Validator typo saying jpeg must end with png --- lib/src/validator.dart | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/src/validator.dart b/lib/src/validator.dart index 5428ea7..4fc9d1f 100644 --- a/lib/src/validator.dart +++ b/lib/src/validator.dart @@ -22,7 +22,7 @@ class Validator { assert((name.endsWith(".jpg") || name.endsWith(".jpeg")), "The jpeg format name must end with jpg or jpeg."); } else if (format == CompressFormat.png) { - assert(name.endsWith(".png"), "The jpeg format name must end with png."); + assert(name.endsWith(".png"), "The png format name must end with png."); } else if (format == CompressFormat.heic) { assert( name.endsWith(".heic"), "The heic format name must end with heic."); @@ -45,25 +45,26 @@ class Validator { assert(result, msg); _checkThrowError(result, msg); return result; - } else if (Platform.isAndroid) { + } + if (Platform.isAndroid) { final int version = await channel.invokeMethod("getSystemVersion"); final result = version >= 28; const msg = "The heic format only support android API 28+"; assert(result, msg); _checkThrowError(result, msg); return result; - } else { - const msg = "The heic format only support android and iOS."; - assert(Platform.isAndroid || Platform.isIOS, msg); - _checkThrowError(false, msg); - return false; } - } else if (format == CompressFormat.webp) { + const msg = "The heic format only support android and iOS."; + assert(Platform.isAndroid || Platform.isIOS, msg); + _checkThrowError(false, msg); + return false; + } + if (format == CompressFormat.webp) { if (Platform.isAndroid || Platform.isIOS) { return true; } - var msg = "The webp format only support android and iOS."; + const msg = "The webp format only support android and iOS."; _checkThrowError(false, msg); From 53e4b8dc7572f2d7602fe5aa65ef28d1a6019b4f Mon Sep 17 00:00:00 2001 From: zmuranaka Date: Sat, 8 Jun 2024 13:51:29 -0600 Subject: [PATCH 8/9] Give ImageCompressionFlutter.dummyCallNativeCode return type * Having a dynamic return type was previously allowing a sneaky bug if result was not a Map * It would return null, but all of the other places that call it do not expect null to be returned --- lib/src/interface.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/interface.dart b/lib/src/interface.dart index 2ec4630..f29fee0 100644 --- a/lib/src/interface.dart +++ b/lib/src/interface.dart @@ -1,8 +1,8 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/services.dart'; import 'package:image_compression/image_compression.dart' as ic; +import 'package:image_compression_flutter/image_compression_flutter.dart'; -import 'configurations.dart'; import 'extension.dart'; /// Image compression engine @@ -11,7 +11,7 @@ abstract class ImageCompressionFlutter { MethodChannel('image_compression_flutter'); @protected - Future dummyCallNativeCode( + Future dummyCallNativeCode( String method, Map data, Future Function() callback, @@ -23,7 +23,7 @@ abstract class ImageCompressionFlutter { return ImageFileExtension.decode(result); } - return null; + throw Exception('result was unexpectedly not a Map'); } on MissingPluginException catch (_) { return await callback(); } From 4d46d6500622a47e07055596ad8577573dc56284 Mon Sep 17 00:00:00 2001 From: zmuranaka Date: Tue, 24 Dec 2024 11:54:05 -0700 Subject: [PATCH 9/9] Update example --- example/.gitignore | 7 +- example/README.md | 8 +- example/analysis_options.yaml | 3 +- example/android/.gitignore | 4 +- example/android/app/build.gradle | 63 ++--- .../android/app/src/debug/AndroidManifest.xml | 6 +- .../android/app/src/main/AndroidManifest.xml | 32 +-- .../com/example/example/MainActivity.kt | 5 + .../MainActivity.kt | 6 - .../app/src/main/res/values-night/styles.xml | 4 +- .../app/src/main/res/values/styles.xml | 4 +- .../app/src/profile/AndroidManifest.xml | 6 +- example/android/build.gradle | 17 +- example/android/gradle.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 3 +- example/android/settings.gradle | 30 ++- example/ios/.gitignore | 2 + example/ios/Flutter/AppFrameworkInfo.plist | 2 +- example/ios/Flutter/Debug.xcconfig | 1 - example/ios/Flutter/Release.xcconfig | 1 - example/ios/Podfile | 41 ---- example/ios/Podfile.lock | 63 ----- example/ios/Runner.xcodeproj/project.pbxproj | 223 ++++++++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 21 +- .../contents.xcworkspacedata | 3 - example/ios/Runner/AppDelegate.swift | 4 +- example/ios/Runner/Info.plist | 14 +- example/lib/main.dart | 68 +++--- example/linux/CMakeLists.txt | 48 ++-- example/linux/flutter/CMakeLists.txt | 1 + example/linux/runner/CMakeLists.txt | 26 ++ example/linux/{ => runner}/main.cc | 0 example/linux/{ => runner}/my_application.cc | 45 +++- example/linux/{ => runner}/my_application.h | 0 example/macos/.gitignore | 1 + example/macos/Flutter/Flutter-Debug.xcconfig | 1 - .../macos/Flutter/Flutter-Release.xcconfig | 1 - example/macos/Podfile | 40 ---- example/macos/Podfile.lock | 28 --- .../macos/Runner.xcodeproj/project.pbxproj | 205 ++++++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 27 ++- .../contents.xcworkspacedata | 3 - example/macos/Runner/AppDelegate.swift | 6 +- example/macos/Runner/Base.lproj/MainMenu.xib | 4 + example/macos/Runner/Configs/AppInfo.xcconfig | 6 +- .../macos/Runner/DebugProfile.entitlements | 6 - example/macos/Runner/MainFlutterWindow.swift | 2 +- example/macos/Runner/Release.entitlements | 8 - example/pubspec.lock | 114 +++++---- example/pubspec.yaml | 8 +- example/test/widget_test.dart | 2 +- example/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes example/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes example/web/index.html | 27 +-- example/web/manifest.json | 18 +- example/windows/CMakeLists.txt | 31 ++- example/windows/flutter/CMakeLists.txt | 3 +- example/windows/runner/CMakeLists.txt | 25 +- example/windows/runner/Runner.rc | 6 +- example/windows/runner/flutter_window.cpp | 10 + example/windows/runner/main.cpp | 2 +- example/windows/runner/runner.exe.manifest | 8 +- example/windows/runner/utils.cpp | 15 +- example/windows/runner/win32_window.cpp | 55 ++++- example/windows/runner/win32_window.h | 20 +- pubspec.lock | 40 ++-- 66 files changed, 813 insertions(+), 672 deletions(-) create mode 100644 example/android/app/src/main/kotlin/com/example/example/MainActivity.kt delete mode 100644 example/android/app/src/main/kotlin/id/co/eyro/image_compression_flutter_example/MainActivity.kt delete mode 100644 example/ios/Podfile delete mode 100644 example/ios/Podfile.lock create mode 100644 example/linux/runner/CMakeLists.txt rename example/linux/{ => runner}/main.cc (100%) rename example/linux/{ => runner}/my_application.cc (69%) rename example/linux/{ => runner}/my_application.h (100%) delete mode 100644 example/macos/Podfile delete mode 100644 example/macos/Podfile.lock create mode 100644 example/web/icons/Icon-maskable-192.png create mode 100644 example/web/icons/Icon-maskable-512.png diff --git a/example/.gitignore b/example/.gitignore index 0fa6b67..79c113f 100644 --- a/example/.gitignore +++ b/example/.gitignore @@ -5,9 +5,12 @@ *.swp .DS_Store .atom/ +.build/ .buildlog/ .history .svn/ +.swiftpm/ +migrate_working_dir/ # IntelliJ related *.iml @@ -26,14 +29,10 @@ .dart_tool/ .flutter-plugins .flutter-plugins-dependencies -.packages .pub-cache/ .pub/ /build/ -# Web related -lib/generated_plugin_registrant.dart - # Symbolication related app.*.symbols diff --git a/example/README.md b/example/README.md index eeddcc4..3336c8f 100644 --- a/example/README.md +++ b/example/README.md @@ -8,9 +8,9 @@ This project is a starting point for a Flutter application. A few resources to get you started if this is your first Flutter project: -- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) +- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) +- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) -For help getting started with Flutter, view our -[online documentation](https://flutter.dev/docs), which offers tutorials, +For help getting started with Flutter development, view the +[online documentation](https://docs.flutter.dev/), which offers tutorials, samples, guidance on mobile development, and a full API reference. diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml index 61b6c4d..0d29021 100644 --- a/example/analysis_options.yaml +++ b/example/analysis_options.yaml @@ -13,8 +13,7 @@ linter: # The lint rules applied to this project can be customized in the # section below to disable rules from the `package:flutter_lints/flutter.yaml` # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. + # and their documentation is published at https://dart.dev/lints. # # Instead of disabling a lint rule for the entire project in the # section below, it can also be suppressed for a single line of code diff --git a/example/android/.gitignore b/example/android/.gitignore index 0a741cb..55afd91 100644 --- a/example/android/.gitignore +++ b/example/android/.gitignore @@ -7,5 +7,7 @@ gradle-wrapper.jar GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties +**/*.keystore +**/*.jks diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 51e818c..b5511a9 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -1,59 +1,44 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { - compileSdkVersion 33 + namespace = "com.example.example" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8 } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "id.co.eyro.image_compression_flutter_example" - minSdkVersion flutter.minSdkVersion - targetSdkVersion 33 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + applicationId = "com.example.example" + // You can update the following values to match your application needs. + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } } flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + source = "../.." } diff --git a/example/android/app/src/debug/AndroidManifest.xml b/example/android/app/src/debug/AndroidManifest.xml index 16eb943..399f698 100644 --- a/example/android/app/src/debug/AndroidManifest.xml +++ b/example/android/app/src/debug/AndroidManifest.xml @@ -1,6 +1,6 @@ - - diff --git a/example/android/app/src/main/AndroidManifest.xml b/example/android/app/src/main/AndroidManifest.xml index d583a01..74a78b9 100644 --- a/example/android/app/src/main/AndroidManifest.xml +++ b/example/android/app/src/main/AndroidManifest.xml @@ -1,16 +1,16 @@ - - + - @@ -40,4 +31,15 @@ android:name="flutterEmbedding" android:value="2" /> + + + + + + + diff --git a/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt b/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt new file mode 100644 index 0000000..70f8f08 --- /dev/null +++ b/example/android/app/src/main/kotlin/com/example/example/MainActivity.kt @@ -0,0 +1,5 @@ +package com.example.example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/example/android/app/src/main/kotlin/id/co/eyro/image_compression_flutter_example/MainActivity.kt b/example/android/app/src/main/kotlin/id/co/eyro/image_compression_flutter_example/MainActivity.kt deleted file mode 100644 index 80d2c95..0000000 --- a/example/android/app/src/main/kotlin/id/co/eyro/image_compression_flutter_example/MainActivity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package id.co.eyro.image_compression_flutter_example - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} diff --git a/example/android/app/src/main/res/values-night/styles.xml b/example/android/app/src/main/res/values-night/styles.xml index 449a9f9..06952be 100644 --- a/example/android/app/src/main/res/values-night/styles.xml +++ b/example/android/app/src/main/res/values-night/styles.xml @@ -3,14 +3,14 @@