mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
Update desktop_scene_lock_menu.c
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
#include "desktop_scene_i.h"
|
||||
#include "desktop_scene.h"
|
||||
#include "../helpers/pin_lock.h"
|
||||
|
||||
#include <power/power_service/power.h>
|
||||
#define TAG "DesktopSceneLock"
|
||||
|
||||
void desktop_scene_lock_menu_callback(DesktopEvent event, void* context) {
|
||||
@@ -53,6 +53,7 @@ bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) {
|
||||
desktop_lock(desktop);
|
||||
consumed = true;
|
||||
break;
|
||||
|
||||
case DesktopLockMenuEventPinLock:
|
||||
if(desktop->settings.pin_code.length > 0) {
|
||||
desktop_pin_lock(&desktop->settings);
|
||||
@@ -68,6 +69,27 @@ bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) {
|
||||
}
|
||||
consumed = true;
|
||||
break;
|
||||
|
||||
case DesktopLockMenuEventPinLockShutdown:
|
||||
if(desktop->settings.pin_code.length > 0) {
|
||||
desktop_pin_lock(&desktop->settings);
|
||||
desktop_lock(desktop);
|
||||
} else {
|
||||
LoaderStatus status =
|
||||
loader_start(desktop->loader, "Desktop", DESKTOP_SETTINGS_RUN_PIN_SETUP_ARG);
|
||||
if(status == LoaderStatusOk) {
|
||||
scene_manager_set_scene_state(desktop->scene_manager, DesktopSceneLockMenu, 1);
|
||||
} else {
|
||||
FURI_LOG_E(TAG, "Unable to start desktop settings");
|
||||
}
|
||||
}
|
||||
consumed = true;
|
||||
Power* power = furi_record_open(RECORD_POWER);
|
||||
furi_delay_ms(666);
|
||||
power_off(power);
|
||||
furi_record_close(RECORD_POWER);
|
||||
break;
|
||||
|
||||
case DesktopLockMenuEventSFWModeOn:
|
||||
desktop_set_sfw_mode_state(desktop, true);
|
||||
scene_manager_search_and_switch_to_previous_scene(
|
||||
|
||||
Reference in New Issue
Block a user