mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-26 05:54:46 -07:00
FindMy: Save and load state from file
This commit is contained in:
@@ -40,6 +40,7 @@ bool findmy_scene_config_mac_on_event(void* context, SceneManagerEvent event) {
|
||||
case ByteInputResultOk:
|
||||
furi_hal_bt_reverse_mac_addr(app->mac_buf);
|
||||
memcpy(&app->state.mac, app->mac_buf, sizeof(app->state.mac));
|
||||
findmy_state_save(&app->state);
|
||||
memcpy(&app->state.config.address, app->mac_buf, sizeof(app->state.config.address));
|
||||
if(furi_hal_bt_extra_beacon_is_active()) {
|
||||
furi_check(furi_hal_bt_extra_beacon_stop());
|
||||
|
||||
@@ -40,6 +40,7 @@ bool findmy_scene_config_packet_on_event(void* context, SceneManagerEvent event)
|
||||
scene_manager_search_and_switch_to_previous_scene(
|
||||
app->scene_manager, FindMySceneConfig);
|
||||
memcpy(app->state.data, app->packet_buf, sizeof(app->state.data));
|
||||
findmy_state_save(&app->state);
|
||||
furi_check(
|
||||
furi_hal_bt_extra_beacon_set_data(app->state.data, sizeof(app->state.data)));
|
||||
findmy_main_update_type(app->findmy_main, findmy_data_get_type(app->state.data));
|
||||
|
||||
@@ -25,6 +25,8 @@ bool findmy_scene_main_on_event(void* context, SceneManagerEvent event) {
|
||||
findmy_toggle_beacon(app);
|
||||
break;
|
||||
case FindMyMainEventBackground:
|
||||
app->state.beacon_active = true;
|
||||
findmy_state_save(&app->state);
|
||||
if(!furi_hal_bt_extra_beacon_is_active()) {
|
||||
furi_check(furi_hal_bt_extra_beacon_start());
|
||||
}
|
||||
@@ -40,6 +42,8 @@ bool findmy_scene_main_on_event(void* context, SceneManagerEvent event) {
|
||||
findmy_change_broadcast_interval(app, app->state.broadcast_interval - 1);
|
||||
break;
|
||||
case FindMyMainEventQuit:
|
||||
app->state.beacon_active = false;
|
||||
findmy_state_save(&app->state);
|
||||
if(furi_hal_bt_extra_beacon_is_active()) {
|
||||
furi_check(furi_hal_bt_extra_beacon_stop());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user