pickImage static method
Implementation
static Future<String?> pickImage(ImageSource imageSource) async {
final PermissionStatus? status = imageSource == ImageSource.gallery
? await _requestPermissionsPhoto()
: await requestPermissionsCamera();
if (status?.isGranted ?? false) {
try {
final ImagePicker picker = ImagePicker();
final XFile? image = await picker.pickImage(source: imageSource);
if (image != null) {
// Store the image path in the state
return image.path;
} else {
// User canceled the picker
}
} catch (e, s) {
mLogger.e('pickImage::e::$e', stackTrace: s, error: e);
unawaited(mDialogConfirm('Notice'.tr, MStr.picturePermission, () async {
await openAppSettings();
}, tag: MAppDialogKey.confirmPicturePermission));
}
} else {
unawaited(mDialogConfirm('Notice'.tr, MStr.picturePermission, () async {
await openAppSettings();
}, tag: MAppDialogKey.confirmPicturePermission));
}
return null;
}