[FL-3566] iButton: Return to the file selection if file is corrupted (#3040)

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
Astra 2023-09-05 22:24:50 +09:00 committed by GitHub
parent 8cbb757533
commit 600b2ce627
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -195,6 +195,7 @@ bool ibutton_load_key(iButton* ibutton) {
bool ibutton_select_and_load_key(iButton* ibutton) {
DialogsFileBrowserOptions browser_options;
bool success = false;
dialog_file_browser_set_basic_options(
&browser_options, IBUTTON_APP_FILENAME_EXTENSION, &I_ibutt_10px);
browser_options.base_path = IBUTTON_APP_FOLDER;
@ -203,9 +204,14 @@ bool ibutton_select_and_load_key(iButton* ibutton) {
furi_string_set(ibutton->file_path, browser_options.base_path);
}
return dialog_file_browser_show(
ibutton->dialogs, ibutton->file_path, ibutton->file_path, &browser_options) &&
ibutton_load_key(ibutton);
do {
if(!dialog_file_browser_show(
ibutton->dialogs, ibutton->file_path, ibutton->file_path, &browser_options))
break;
success = ibutton_load_key(ibutton);
} while(!success);
return success;
}
bool ibutton_save_key(iButton* ibutton) {