Lock menu fix main settings button

This commit is contained in:
Willy-JL
2023-03-25 00:25:06 +00:00
parent 24d42a46ae
commit fb13943360
4 changed files with 20 additions and 3 deletions
@@ -102,8 +102,7 @@ bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) {
// break;
case DesktopLockMenuEventSettings:
// loader_start(desktop->loader, "Settings", NULL);
// view_dispatcher_switch_to_view(desktop->loader->view_dispatcher, LoaderMenuViewSettings);
loader_show_settings();
consumed = true;
break;
+15 -1
View File
@@ -14,7 +14,8 @@
#define TAG "LoaderSrv"
#define LOADER_THREAD_FLAG_SHOW_MENU (1 << 0)
#define LOADER_THREAD_FLAG_ALL (LOADER_THREAD_FLAG_SHOW_MENU)
#define LOADER_THREAD_FLAG_SHOW_SETTINGS (1 << 1)
#define LOADER_THREAD_FLAG_ALL (LOADER_THREAD_FLAG_SHOW_MENU | LOADER_THREAD_FLAG_SHOW_SETTINGS)
static Loader* loader_instance = NULL;
@@ -497,6 +498,11 @@ void loader_show_menu() {
furi_thread_flags_set(loader_instance->loader_thread, LOADER_THREAD_FLAG_SHOW_MENU);
}
void loader_show_settings() {
furi_assert(loader_instance);
furi_thread_flags_set(loader_instance->loader_thread, LOADER_THREAD_FLAG_SHOW_SETTINGS);
}
void loader_update_menu() {
menu_reset(loader_instance->primary_menu);
loader_build_menu();
@@ -531,6 +537,14 @@ int32_t loader_srv(void* p) {
view_dispatcher_switch_to_view(
loader_instance->view_dispatcher, LoaderMenuViewPrimary);
view_dispatcher_run(loader_instance->view_dispatcher);
} else if(flags & LOADER_THREAD_FLAG_SHOW_SETTINGS) {
view_set_previous_callback(
submenu_get_view(loader_instance->settings_menu), loader_hide_menu);
view_dispatcher_switch_to_view(
loader_instance->view_dispatcher, LoaderMenuViewSettings);
view_dispatcher_run(loader_instance->view_dispatcher);
view_set_previous_callback(
submenu_get_view(loader_instance->settings_menu), loader_back_to_primary_menu);
}
}
+3
View File
@@ -50,6 +50,9 @@ bool loader_is_locked(const Loader* instance);
/** Show primary loader */
void loader_show_menu();
/** Show settings menu */
void loader_show_settings();
/** Show primary loader */
void loader_update_menu();
+1
View File
@@ -1894,6 +1894,7 @@ Function,+,loader_get_pubsub,FuriPubSub*,Loader*
Function,+,loader_is_locked,_Bool,const Loader*
Function,+,loader_lock,_Bool,Loader*
Function,+,loader_show_menu,void,
Function,+,loader_show_settings,void,
Function,+,loader_start,LoaderStatus,"Loader*, const char*, const char*"
Function,+,loader_unlock,void,Loader*
Function,+,loader_update_menu,void,
1 entry status name type params
1894 Function + loader_is_locked _Bool const Loader*
1895 Function + loader_lock _Bool Loader*
1896 Function + loader_show_menu void
1897 Function + loader_show_settings void
1898 Function + loader_start LoaderStatus Loader*, const char*, const char*
1899 Function + loader_unlock void Loader*
1900 Function + loader_update_menu void