Skip to content

Commit 1472184

Browse files
committed
🐛 Fix onEntitySaving not returned after called (#223)
Fixes #222 (cherry picked from commit 9224ad0)
1 parent 2203168 commit 1472184

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

lib/src/states/camera_picker_viewer_state.dart

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,8 @@ class CameraPickerViewerState extends State<CameraPickerViewer> {
130130
setState(() {
131131
isSavingEntity = true;
132132
});
133-
final CameraPickerViewType viewType = widget.viewType;
133+
134+
// Handle the explicitly entity saving method.
134135
if (widget.pickerConfig.onEntitySaving != null) {
135136
try {
136137
await widget.pickerConfig.onEntitySaving!(
@@ -145,12 +146,14 @@ class CameraPickerViewerState extends State<CameraPickerViewer> {
145146
isSavingEntity = false;
146147
});
147148
}
149+
return;
148150
}
151+
149152
AssetEntity? entity;
150153
try {
151154
final PermissionState ps = await PhotoManager.requestPermissionExtend();
152155
if (ps == PermissionState.authorized || ps == PermissionState.limited) {
153-
switch (viewType) {
156+
switch (widget.viewType) {
154157
case CameraPickerViewType.image:
155158
final String filePath = previewFile.path;
156159
entity = await PhotoManager.editor.saveImageWithPath(
@@ -167,7 +170,10 @@ class CameraPickerViewerState extends State<CameraPickerViewer> {
167170
}
168171
if (widget.pickerConfig.shouldDeletePreviewFile &&
169172
previewFile.existsSync()) {
170-
previewFile.delete();
173+
previewFile.delete().catchError((e, s) {
174+
handleErrorWithHandler(e, s, onError);
175+
return previewFile;
176+
});
171177
}
172178
return;
173179
}

0 commit comments

Comments
 (0)