check image for null safety

This commit is contained in:
tzw
2021-09-10 16:48:24 +06:30
parent 1bbff6e4cd
commit 3dde95f23f
5 changed files with 42 additions and 30 deletions

View File

@@ -1,5 +1,6 @@
import 'dart:io';
import 'package:fcs/helpers/theme.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
@@ -7,19 +8,19 @@ import 'package:image_picker/image_picker.dart';
import 'show_img.dart';
typedef OnFile = void Function(File);
typedef OnFile = void Function(File?);
class LocalImagePicker extends StatefulWidget {
final Color color;
final Color? color;
final String title;
final OnFile onFile;
final OnFile? onFile;
final bool enabled;
final String initialImgUrl;
final String? initialImgUrl;
final ImageSource imageSource;
const LocalImagePicker(
{Key key,
this.title,
{Key? key,
required this.title,
this.onFile,
this.enabled = true,
this.initialImgUrl,
@@ -31,8 +32,8 @@ class LocalImagePicker extends StatefulWidget {
}
class _LocalImagePickerState extends State<LocalImagePicker> {
String url;
File file;
String? url;
File? file;
@override
void initState() {
@@ -56,16 +57,16 @@ class _LocalImagePickerState extends State<LocalImagePicker> {
await _dialog(
context, () => camera = true, () => gallery = true);
if (camera || gallery) {
var selectedFile = await ImagePicker.pickImage(
var selectedFile = await ImagePicker().pickImage(
source: camera ? ImageSource.camera : ImageSource.gallery,
imageQuality: 80,
maxWidth: 1000);
if (selectedFile != null) {
setState(() {
this.file = selectedFile;
this.file = File(selectedFile.path);
});
if (widget.onFile != null) {
widget.onFile(selectedFile);
widget.onFile!(File(selectedFile.path));
}
}
}
@@ -93,7 +94,7 @@ class _LocalImagePickerState extends State<LocalImagePicker> {
this.file = null;
this.url = null;
if (widget.onFile != null) {
widget.onFile(null);
widget.onFile!(null);
}
});
},