moving non critical settings to sd

based on WillyJL's work

TODO: fix loader_menu
This commit is contained in:
MX
2026-01-11 09:30:28 +03:00
parent c407fd2d1a
commit 2db115783c
33 changed files with 3103 additions and 34 deletions

View File

@@ -23,6 +23,12 @@ static const char* loader_find_external_application_by_name(const char* app_name
}
}
for(size_t i = 0; i < FLIPPER_EXTSETTINGS_APPS_COUNT; i++) {
if(strcmp(FLIPPER_EXTSETTINGS_APPS[i].name, app_name) == 0) {
return FLIPPER_EXTSETTINGS_APPS[i].path;
}
}
return NULL;
}

View File

@@ -25,10 +25,14 @@ static void loader_cli_list(void) {
for(size_t i = 0; i < FLIPPER_APPS_COUNT; i++) {
printf("\t%s\r\n", FLIPPER_APPS[i].name);
}
printf("Settings:\r\n");
printf("Int Settings:\r\n");
for(size_t i = 0; i < FLIPPER_SETTINGS_APPS_COUNT; i++) {
printf("\t%s\r\n", FLIPPER_SETTINGS_APPS[i].name);
}
printf("Ext Settings:\r\n");
for(size_t i = 0; i < FLIPPER_EXTSETTINGS_APPS_COUNT; i++) {
printf("\t%s\r\n", FLIPPER_EXTSETTINGS_APPS[i].name);
}
}
static void loader_cli_info(Loader* loader) {

View File

@@ -76,11 +76,9 @@ static void
loader_menu_settings_menu_callback(void* context, InputType input_type, uint32_t index) {
UNUSED(context);
if(input_type == InputTypeShort) {
const char* name = FLIPPER_SETTINGS_APPS[index].name;
loader_menu_start(name);
loader_menu_start((const char*)index);
} else if(input_type == InputTypeLong) {
const char* name = FLIPPER_SETTINGS_APPS[index].name;
archive_favorites_handle_setting_pin_unpin(name, NULL);
archive_favorites_handle_setting_pin_unpin((const char*)index, NULL);
}
}
@@ -140,7 +138,15 @@ static void loader_menu_build_submenu(LoaderMenuApp* app, LoaderMenu* loader_men
submenu_add_item_ex(
app->settings_menu,
FLIPPER_SETTINGS_APPS[i].name,
i,
(uint32_t)FLIPPER_SETTINGS_APPS[i].name,
loader_menu_settings_menu_callback,
loader_menu);
}
for(size_t i = 0; i < FLIPPER_EXTSETTINGS_APPS_COUNT; i++) {
submenu_add_item_ex(
app->settings_menu,
FLIPPER_EXTSETTINGS_APPS[i].name,
(uint32_t)FLIPPER_EXTSETTINGS_APPS[i].name,
loader_menu_settings_menu_callback,
loader_menu);
}