From 90bd2a48587fc9f1c69da0c7b607e51619d3c400 Mon Sep 17 00:00:00 2001 From: mohsen zamani Date: Thu, 2 Mar 2023 17:42:19 +0330 Subject: [PATCH] fix some bug handle finish timer state --- .../notifiers/image_splitter_notifier.dart | 21 ------- lib/screens/photo/photo_screen_large.dart | 3 - lib/utils/image_splitter.dart | 20 ------- lib/widgets/photo_screen/image_viewer.dart | 5 -- pubspec.lock | 56 ------------------- pubspec.yaml | 1 - 6 files changed, 106 deletions(-) diff --git a/lib/application/notifiers/image_splitter_notifier.dart b/lib/application/notifiers/image_splitter_notifier.dart index a029899..bb7a7f6 100644 --- a/lib/application/notifiers/image_splitter_notifier.dart +++ b/lib/application/notifiers/image_splitter_notifier.dart @@ -3,7 +3,6 @@ import 'dart:developer'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:image_picker/image_picker.dart'; import 'package:my_flutter_puzzle/application/states/image_splitter_state.dart'; import 'package:my_flutter_puzzle/res/strings.dart'; import 'package:my_flutter_puzzle/utils/image_splitter.dart'; @@ -29,24 +28,4 @@ class ImageSplitterNotifier extends StateNotifier { state = ImageSplitterState.error(message: e.toString()); } } - - void generateImages({required ImagePicker picker, required int puzzleSize}) async { - state = const ImageSplitterState.generating(); - - try { - final imageBytesPalette = await _splitter.getImage(picker: picker); - - if (imageBytesPalette != null) { - final image = imageBytesPalette.item1; - final imageBytes = imageBytesPalette.item2; - final palette = imageBytesPalette.item3; - log('Image tuple retrieved'); - final images = await _splitter.runSplitterIsolate(imageBytes, puzzleSize); - state = ImageSplitterState.complete(image, images, palette); - } - } catch (e) { - debugPrint('Error: $e'); - state = ImageSplitterState.error(message: e.toString()); - } - } } diff --git a/lib/screens/photo/photo_screen_large.dart b/lib/screens/photo/photo_screen_large.dart index 03d4899..ca307d3 100644 --- a/lib/screens/photo/photo_screen_large.dart +++ b/lib/screens/photo/photo_screen_large.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:image_picker/image_picker.dart'; import 'package:my_flutter_puzzle/application/states/image_splitter_state.dart'; import 'package:my_flutter_puzzle/application/states/puzzle_state.dart'; import 'package:my_flutter_puzzle/cubits/count_down_timer_cubit.dart'; @@ -43,7 +42,6 @@ class _SoloScreenLargeState extends ConsumerState { late final RiveAnimationController _riveController; bool _puzzleSolved = false; bool _isStartPressed = false; - final _imagePicker = ImagePicker(); final double _fontSize = 70.0; final double _boardSize = 280.0; final int _spacing = 4; @@ -201,7 +199,6 @@ class _SoloScreenLargeState extends ConsumerState { Visibility( visible: !_isStartPressed, child: ImageViewer( - imagePicker: _imagePicker, puzzleSize: _puzzleSize, previousImage: _previousImage, previousPalette: _previousPalette, diff --git a/lib/utils/image_splitter.dart b/lib/utils/image_splitter.dart index 3dbdea6..225ee8a 100644 --- a/lib/utils/image_splitter.dart +++ b/lib/utils/image_splitter.dart @@ -3,7 +3,6 @@ import 'dart:developer'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:image/image.dart' as image_lib; -import 'package:image_picker/image_picker.dart'; import 'package:palette_generator/palette_generator.dart'; import 'package:tuple/tuple.dart'; @@ -43,25 +42,6 @@ class ImageSplitter { return paletteGenerator; } - Future?> getImage({required ImagePicker picker}) async { - final pickedFile = await picker.pickImage(source: ImageSource.gallery); - - if (pickedFile != null) { - // final imageFile = File(pickedFile.path); - // final image = Image.file(File(pickedFile.path)); - final image = Image.memory(await pickedFile.readAsBytes()); - final palette = await getImagePalette(image.image); - // final PaletteGenerator palette = await getImagePalette( - // FileImage(imageFile), - // ); - final bytes = await pickedFile.readAsBytes(); - log('Image properties retrieved'); - return Tuple3(image, bytes, palette); - } - - return null; - } - Future> runSplitterIsolate(List input, int size) async { final Map data = { 'input': input, diff --git a/lib/widgets/photo_screen/image_viewer.dart b/lib/widgets/photo_screen/image_viewer.dart index ebaf9aa..5640164 100644 --- a/lib/widgets/photo_screen/image_viewer.dart +++ b/lib/widgets/photo_screen/image_viewer.dart @@ -1,14 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:image_picker/image_picker.dart'; import 'package:my_flutter_puzzle/providers.dart'; - -// import 'package:my_flutter_puzzle/widgets/photo_screen/pick_image_button.dart'; import 'package:palette_generator/palette_generator.dart'; class ImageViewer extends ConsumerWidget { const ImageViewer({ - required this.imagePicker, required this.puzzleSize, required this.previousImage, required this.previousPalette, @@ -16,7 +12,6 @@ class ImageViewer extends ConsumerWidget { Key? key, }) : super(key: key); - final ImagePicker imagePicker; final int puzzleSize; final Image? previousImage; final PaletteGenerator? previousPalette; diff --git a/pubspec.lock b/pubspec.lock index 0c6a249..585fe15 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -193,14 +193,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.5.4" - cross_file: - dependency: transitive - description: - name: cross_file - sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9" - url: "https://pub.dev" - source: hosted - version: "0.3.3+4" crypto: dependency: transitive description: @@ -278,14 +270,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.4" - flutter_plugin_android_lifecycle: - dependency: transitive - description: - name: flutter_plugin_android_lifecycle - sha256: "4bef634684b2c7f3468c77c766c831229af829a0cd2d4ee6c1b99558bd14e5d2" - url: "https://pub.dev" - source: hosted - version: "2.0.8" flutter_riverpod: dependency: "direct main" description: @@ -384,46 +368,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.3.0" - image_picker: - dependency: "direct main" - description: - name: image_picker - sha256: "22207768556b82d55ec70166824350fee32298732d5efa4d6e756f848f51f66a" - url: "https://pub.dev" - source: hosted - version: "0.8.6+3" - image_picker_android: - dependency: transitive - description: - name: image_picker_android - sha256: "68d067baf7f6e401b1124ee83dd6967e67847314250fd68012aab34a69beb344" - url: "https://pub.dev" - source: hosted - version: "0.8.5+7" - image_picker_for_web: - dependency: transitive - description: - name: image_picker_for_web - sha256: "66fc6e3877bbde82c33d122f3588777c3784ac5bd7d1cdd79213ef7aecb85b34" - url: "https://pub.dev" - source: hosted - version: "2.1.11" - image_picker_ios: - dependency: transitive - description: - name: image_picker_ios - sha256: "39aa70b5f1e5e7c94585b9738632d5fdb764a5655e40cd9e7b95fbd2fc50c519" - url: "https://pub.dev" - source: hosted - version: "0.8.6+9" - image_picker_platform_interface: - dependency: transitive - description: - name: image_picker_platform_interface - sha256: "1991219d9dbc42a99aff77e663af8ca51ced592cd6685c9485e3458302d3d4f8" - url: "https://pub.dev" - source: hosted - version: "2.6.3" io: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index d355e70..e007306 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -20,7 +20,6 @@ dependencies: image: ^3.1.1 palette_generator: ^0.3.3 path_provider: ^2.0.8 - image_picker: ^0.8.4+5 flutter_bloc: ^8.1.1 font_awesome_flutter: ^9.2.0 crop: ^0.5.2