diff --git a/mobile/lib/ui/viewer/people/add_person_action_sheet.dart b/mobile/lib/ui/viewer/people/add_person_action_sheet.dart index 6290bcb71..8914f984f 100644 --- a/mobile/lib/ui/viewer/people/add_person_action_sheet.dart +++ b/mobile/lib/ui/viewer/people/add_person_action_sheet.dart @@ -257,6 +257,7 @@ class _PersonActionSheetState extends State { String initValue = '', required int clusterID, }) async { + bool userAlreadyPressedAddButton = false; final result = await showTextInputDialog( context, title: "New person", @@ -266,11 +267,15 @@ class _PersonActionSheetState extends State { initialValue: initValue, textCapitalization: TextCapitalization.words, onSubmit: (String text) async { + if (userAlreadyPressedAddButton) { + return; + } // indicates user cancelled the rename request if (text.trim() == "") { return; } try { + userAlreadyPressedAddButton = true; final PersonEntity p = await PersonService.instance.addPerson(text, clusterID); final bool extraPhotosFound = await ClusterFeedbackService.instance @@ -282,7 +287,7 @@ class _PersonActionSheetState extends State { Navigator.pop(context, p); } catch (e, s) { Logger("_PersonActionSheetState") - .severe("Failed to rename album", e, s); + .severe("Failed to add person", e, s); rethrow; } },