mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-06-07 19:01:54 -07:00
Fix lock menu settings saving
This commit is contained in:
@@ -30,10 +30,6 @@ void desktop_scene_lock_menu_on_enter(void* context) {
|
||||
desktop_lock_menu_set_pin_state(desktop->lock_menu, desktop->settings.pin_code.length > 0);
|
||||
desktop_lock_menu_set_idx(desktop->lock_menu, 3);
|
||||
|
||||
desktop->lock_menu->save_notification = false;
|
||||
desktop->lock_menu->save_xtreme = false;
|
||||
desktop->lock_menu->save_bt = false;
|
||||
|
||||
Gui* gui = furi_record_open(RECORD_GUI);
|
||||
gui_set_lockmenu(gui, true);
|
||||
furi_record_close(RECORD_GUI);
|
||||
@@ -41,6 +37,21 @@ void desktop_scene_lock_menu_on_enter(void* context) {
|
||||
view_dispatcher_switch_to_view(desktop->view_dispatcher, DesktopViewIdLockMenu);
|
||||
}
|
||||
|
||||
void desktop_scene_lock_menu_save_settings(Desktop* desktop) {
|
||||
if(desktop->lock_menu->save_notification) {
|
||||
notification_message_save_settings(desktop->lock_menu->notification);
|
||||
desktop->lock_menu->save_notification = false;
|
||||
}
|
||||
if(desktop->lock_menu->save_xtreme) {
|
||||
XTREME_SETTINGS_SAVE();
|
||||
desktop->lock_menu->save_xtreme = false;
|
||||
}
|
||||
if(desktop->lock_menu->save_bt) {
|
||||
bt_settings_save(&desktop->lock_menu->bt->bt_settings);
|
||||
desktop->lock_menu->save_bt = false;
|
||||
}
|
||||
}
|
||||
|
||||
bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) {
|
||||
Desktop* desktop = (Desktop*)context;
|
||||
bool consumed = false;
|
||||
@@ -60,15 +71,18 @@ bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) {
|
||||
} else if(event.type == SceneManagerEventTypeCustom) {
|
||||
switch(event.event) {
|
||||
case DesktopLockMenuEventSettings:
|
||||
desktop_scene_lock_menu_save_settings(desktop);
|
||||
loader_show_settings();
|
||||
consumed = true;
|
||||
break;
|
||||
case DesktopLockMenuEventLock:
|
||||
desktop_scene_lock_menu_save_settings(desktop);
|
||||
scene_manager_set_scene_state(desktop->scene_manager, DesktopSceneLockMenu, 0);
|
||||
desktop_lock(desktop);
|
||||
consumed = true;
|
||||
break;
|
||||
case DesktopLockMenuEventLockPin:
|
||||
desktop_scene_lock_menu_save_settings(desktop);
|
||||
if(desktop->settings.pin_code.length > 0) {
|
||||
desktop_pin_lock(&desktop->settings);
|
||||
desktop_lock(desktop);
|
||||
@@ -84,6 +98,7 @@ bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) {
|
||||
consumed = true;
|
||||
break;
|
||||
case DesktopLockMenuEventXtreme:
|
||||
desktop_scene_lock_menu_save_settings(desktop);
|
||||
loader_start(
|
||||
desktop->loader, FAP_LOADER_APP_NAME, EXT_PATH("apps/.Main/xtreme_app.fap"));
|
||||
consumed = true;
|
||||
@@ -99,15 +114,7 @@ bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) {
|
||||
|
||||
void desktop_scene_lock_menu_on_exit(void* context) {
|
||||
Desktop* desktop = (Desktop*)context;
|
||||
if(desktop->lock_menu->save_notification) {
|
||||
notification_message_save_settings(desktop->lock_menu->notification);
|
||||
}
|
||||
if(desktop->lock_menu->save_xtreme) {
|
||||
XTREME_SETTINGS_SAVE();
|
||||
}
|
||||
if(desktop->lock_menu->save_bt) {
|
||||
bt_settings_save(&desktop->lock_menu->bt->bt_settings);
|
||||
}
|
||||
desktop_scene_lock_menu_save_settings(desktop);
|
||||
|
||||
Gui* gui = furi_record_open(RECORD_GUI);
|
||||
gui_set_lockmenu(gui, false);
|
||||
|
||||
Reference in New Issue
Block a user