BT on/off to desktop_lock_menu

This commit is contained in:
Dmitry422
2026-02-12 16:55:19 +07:00
parent aec6045392
commit 808774c05f
5 changed files with 37 additions and 12 deletions

View File

@@ -10,6 +10,8 @@
#include "../views/desktop_view_lock_menu.h"
#include "desktop_scene.h"
#include "applications/services/bt/bt_service/bt_api.h"
#define TAG "DesktopSceneLock"
void desktop_scene_lock_menu_callback(DesktopEvent event, void* context) {
@@ -34,6 +36,9 @@ bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) {
Desktop* desktop = (Desktop*)context;
bool consumed = false;
Bt* bt = furi_record_open(RECORD_BT);
BtSettings bts = bt->bt_settings;
if(event.type == SceneManagerEventTypeTick) {
bool check_pin_changed =
scene_manager_get_scene_state(desktop->scene_manager, DesktopSceneLockMenu);
@@ -42,10 +47,17 @@ bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) {
}
} else if(event.type == SceneManagerEventTypeCustom) {
switch(event.event) {
case DesktopLockMenuEventLock:
scene_manager_set_scene_state(desktop->scene_manager, DesktopSceneLockMenu, 0);
desktop_lock(desktop);
consumed = true;
// old use case
// case DesktopLockMenuEventLock:
// scene_manager_set_scene_state(desktop->scene_manager, DesktopSceneLockMenu, 0);
// desktop_lock(desktop);
// consumed = true;
// break;
case DesktopLockMenuEventBt:
bts.enabled = !bts.enabled;
bt_set_settings(bt, &bts);
scene_manager_search_and_switch_to_previous_scene(
desktop->scene_manager, DesktopSceneMain);
break;
case DesktopLockMenuEventDummyModeOn:
desktop_set_dummy_mode_state(desktop, true);
@@ -78,4 +90,5 @@ bool desktop_scene_lock_menu_on_event(void* context, SceneManagerEvent event) {
void desktop_scene_lock_menu_on_exit(void* context) {
UNUSED(context);
furi_record_close(RECORD_BT);
}