Browse Source

fix take photo

bugfix/20250501
Đại Võ 1 year ago
parent
commit
4087659c51
4 changed files with 135 additions and 24 deletions
  1. +6
    -0
      ios/Podfile.lock
  2. +23
    -23
      lib/presentation/custom_widgets/widget_media_picker.dart
  3. +104
    -0
      pubspec.lock
  4. +2
    -1
      pubspec.yaml

+ 6
- 0
ios/Podfile.lock View File

@@ -97,6 +97,8 @@ PODS:
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (7.11.5):
- GoogleUtilities/Logger
- image_picker_ios (0.0.1):
- Flutter
- libwebp (1.3.2):
- libwebp/demux (= 1.3.2)
- libwebp/mux (= 1.3.2)
@@ -148,6 +150,7 @@ DEPENDENCIES:
- firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`)
- Flutter (from `Flutter`)
- flutter_image_compress_common (from `.symlinks/plugins/flutter_image_compress_common/ios`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`)
- qr_code_scanner (from `.symlinks/plugins/qr_code_scanner/ios`)
@@ -188,6 +191,8 @@ EXTERNAL SOURCES:
:path: Flutter
flutter_image_compress_common:
:path: ".symlinks/plugins/flutter_image_compress_common/ios"
image_picker_ios:
:path: ".symlinks/plugins/image_picker_ios/ios"
package_info_plus:
:path: ".symlinks/plugins/package_info_plus/ios"
path_provider_foundation:
@@ -216,6 +221,7 @@ SPEC CHECKSUMS:
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2
GoogleUtilities: 13e2c67ede716b8741c7989e26893d151b2b2084
image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009
Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb

+ 23
- 23
lib/presentation/custom_widgets/widget_media_picker.dart View File

@@ -13,6 +13,7 @@ import 'package:file_picker/file_picker.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:image_picker/image_picker.dart';

import 'bloc/media_helper_bloc.dart';
import 'hoz_list_view.dart';
@@ -29,6 +30,7 @@ class _WidgetMediaPickerState extends State<WidgetMediaPicker> {
List<Media> currentItems = [];
List<String> addNewFilePaths = <String>[];
List<String> deleteFilePaths = <String>[];
final ImagePicker _picker = ImagePicker();

@override
void initState() {
@@ -93,31 +95,29 @@ class _WidgetMediaPickerState extends State<WidgetMediaPicker> {
actions: <Widget>[
CupertinoDialogAction(
child: const Text('Chụp ảnh'),
onPressed: () {
onPressed: () async {
Navigator.pop(context, 'Discard');
Navigator.of(context).push(MaterialPageRoute(builder: (context) => CameraHelper())).then((value) {
if (value != null) {
print("ok");
print(value);
String filePath = value[0];
File f = File(filePath);
f.length().then((lengthFileInBytes) {
if (lengthFileInBytes > ConstCommon.kFileSize) {
Utils.showSnackBarWarning(message: label_file_to_large);
} else {
bool isVideo = value[1];
Media newMedia = Media()
..isVideo = isVideo
..isServerFile = false
..pathFile = filePath;
currentItems.add(newMedia);
addNewFilePaths.add(filePath);
BlocProvider.of<MediaHelperBloc>(context)..add(ChangeListMedia(items: currentItems));
widget.onChangeFiles(addNewFilePaths, deleteFilePaths);
}
});
try {
final image = await _picker.pickImage(source: ImageSource.camera, imageQuality: 90);
if (image?.path != null) {
var imageFile = await UtilAction.compressImage(File(image?.path ?? ''));
print(imageFile.lengthSync());
if (imageFile.lengthSync() > ConstCommon.kFileSize) {
Utils.showSnackBarWarning(message: label_file_to_large);
} else {
Media newMedia = Media()
..isVideo = false
..isServerFile = false
..pathFile = imageFile.path;
currentItems.add(newMedia);
addNewFilePaths.add(imageFile.path);
BlocProvider.of<MediaHelperBloc>(context)..add(ChangeListMedia(items: currentItems));
widget.onChangeFiles(addNewFilePaths, deleteFilePaths);
}
}
});
} catch (e) {
print(e);
}
}),
CupertinoDialogAction(
child: const Text('Chọn ảnh'),

+ 104
- 0
pubspec.lock View File

@@ -321,6 +321,38 @@ packages:
url: "https://pub.dev"
source: hosted
version: "5.3.1"
file_selector_linux:
dependency: transitive
description:
name: file_selector_linux
sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492"
url: "https://pub.dev"
source: hosted
version: "0.9.2+1"
file_selector_macos:
dependency: transitive
description:
name: file_selector_macos
sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6
url: "https://pub.dev"
source: hosted
version: "0.9.3+3"
file_selector_platform_interface:
dependency: transitive
description:
name: file_selector_platform_interface
sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262"
url: "https://pub.dev"
source: hosted
version: "2.6.1"
file_selector_windows:
dependency: transitive
description:
name: file_selector_windows
sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0
url: "https://pub.dev"
source: hosted
version: "0.9.3+1"
firebase_core:
dependency: transitive
description:
@@ -552,6 +584,70 @@ packages:
url: "https://pub.dev"
source: hosted
version: "4.0.2"
image_picker:
dependency: "direct main"
description:
name: image_picker
sha256: b6951e25b795d053a6ba03af5f710069c99349de9341af95155d52665cb4607c
url: "https://pub.dev"
source: hosted
version: "0.8.9"
image_picker_android:
dependency: transitive
description:
name: image_picker_android
sha256: d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f
url: "https://pub.dev"
source: hosted
version: "0.8.8+2"
image_picker_for_web:
dependency: transitive
description:
name: image_picker_for_web
sha256: "869fe8a64771b7afbc99fc433a5f7be2fea4d1cb3d7c11a48b6b579eb9c797f0"
url: "https://pub.dev"
source: hosted
version: "2.2.0"
image_picker_ios:
dependency: transitive
description:
name: image_picker_ios
sha256: "76ec722aeea419d03aa915c2c96bf5b47214b053899088c9abb4086ceecf97a7"
url: "https://pub.dev"
source: hosted
version: "0.8.8+4"
image_picker_linux:
dependency: transitive
description:
name: image_picker_linux
sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa"
url: "https://pub.dev"
source: hosted
version: "0.2.1+1"
image_picker_macos:
dependency: transitive
description:
name: image_picker_macos
sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62"
url: "https://pub.dev"
source: hosted
version: "0.2.1+1"
image_picker_platform_interface:
dependency: transitive
description:
name: image_picker_platform_interface
sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514
url: "https://pub.dev"
source: hosted
version: "2.9.1"
image_picker_windows:
dependency: transitive
description:
name: image_picker_windows
sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb"
url: "https://pub.dev"
source: hosted
version: "0.2.1+1"
intl:
dependency: "direct main"
description:
@@ -640,6 +736,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.4"
modal_bottom_sheet:
dependency: "direct main"
description:
name: modal_bottom_sheet
sha256: "3bba63c62d35c931bce7f8ae23a47f9a05836d8cb3c11122ada64e0b2f3d718f"
url: "https://pub.dev"
source: hosted
version: "3.0.0-pre"
nested:
dependency: transitive
description:

+ 2
- 1
pubspec.yaml View File

@@ -63,7 +63,8 @@ dependencies:
flutter_screenutil: ^5.5.3+2
toggle_switch: ^2.0.1
flutter_switch: ^0.3.2
image_picker: ^0.8.3+2
modal_bottom_sheet: ^3.0.0-pre

dev_dependencies:
flutter_test:

Loading…
Cancel
Save