From 65bfc98f5b77e2ae8b0954c2648ffe2cedd8e0a6 Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Thu, 5 Sep 2024 17:50:36 +0200 Subject: [PATCH] Loader: Warn about missing SD card for main apps --- applications/services/loader/loader.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/applications/services/loader/loader.c b/applications/services/loader/loader.c index 7e42a4488e0..0f4cc4a0c24 100644 --- a/applications/services/loader/loader.c +++ b/applications/services/loader/loader.c @@ -94,10 +94,20 @@ static void loader_show_gui_error( if(status.value == LoaderStatusErrorUnknownApp && loader_find_external_application_by_name(name) != NULL) { // Special case for external apps - dialog_message_set_header(message, "Update needed", 64, 3, AlignCenter, AlignTop); + const char* header = NULL; + const char* text = NULL; + Storage* storage = furi_record_open(RECORD_STORAGE); + if(storage_sd_status(storage) == FSE_OK) { + header = "Update needed"; + text = "Update firmware\nto run this app"; + } else { + header = "SD card needed"; + text = "Install SD card\nto run this app"; + } + furi_record_close(RECORD_STORAGE); + dialog_message_set_header(message, header, 64, 3, AlignCenter, AlignTop); dialog_message_set_icon(message, &I_WarningDolphinFlip_45x42, 83, 22); - dialog_message_set_text( - message, "Update firmware\nto run this app", 3, 26, AlignLeft, AlignTop); + dialog_message_set_text(message, text, 3, 26, AlignLeft, AlignTop); dialog_message_show(dialogs, message); } else if(status.value == LoaderStatusErrorUnknownApp) { loader_dialog_prepare_and_show(dialogs, &err_app_not_found);