From 3511d4780e498da22b71aaaca0a904fd9271b305 Mon Sep 17 00:00:00 2001 From: CinderSocket Date: Mon, 9 Mar 2026 11:07:36 -0700 Subject: [PATCH] Fix SAM status refresh regressions --- sam_api.c | 3 +-- scenes/seader_scene_sam_present.c | 6 ++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/sam_api.c b/sam_api.c index a469f52..973b40e 100644 --- a/sam_api.c +++ b/sam_api.c @@ -99,8 +99,7 @@ static void seader_start_snmp_probe(Seader* seader) { } seader_uhf_snmp_probe_init(&seader->snmp_probe); - seader_uhf_status_label_format( - false, false, false, false, seader->uhf_status_label, sizeof(seader->uhf_status_label)); + seader_update_uhf_status_label(seader); seader_sam_set_state( seader, SeaderSamStateCapabilityPending, diff --git a/scenes/seader_scene_sam_present.c b/scenes/seader_scene_sam_present.c index 3c555a8..0d7cfe0 100644 --- a/scenes/seader_scene_sam_present.c +++ b/scenes/seader_scene_sam_present.c @@ -75,9 +75,8 @@ bool seader_scene_sam_present_on_event(void* context, SceneManagerEvent event) { bool consumed = false; if(event.type == SceneManagerEventTypeCustom) { - scene_manager_set_scene_state(seader->scene_manager, SeaderSceneSamPresent, event.event); - if(event.event == SubmenuIndexRead) { + scene_manager_set_scene_state(seader->scene_manager, SeaderSceneSamPresent, event.event); scene_manager_next_scene(seader->scene_manager, SeaderSceneRead); consumed = true; } else if(event.event == SubmenuIndexReadConfigCard) { @@ -86,15 +85,18 @@ bool seader_scene_sam_present_on_event(void* context, SceneManagerEvent event) { scene_manager_next_scene(seader->scene_manager, SeaderSceneReadConfigCard); consumed = true; } else if(event.event == SubmenuIndexSamInfo) { + scene_manager_set_scene_state(seader->scene_manager, SeaderSceneSamPresent, event.event); scene_manager_next_scene(seader->scene_manager, SeaderSceneSamInfo); consumed = true; } else if(event.event == SubmenuIndexSaved) { + scene_manager_set_scene_state(seader->scene_manager, SeaderSceneSamPresent, event.event); scene_manager_next_scene(seader->scene_manager, SeaderSceneFileSelect); consumed = true; } else if(event.event == SeaderWorkerEventSamMissing) { scene_manager_next_scene(seader->scene_manager, SeaderSceneSamMissing); consumed = true; } else if(event.event == SubmenuIndexAPDURunner) { + scene_manager_set_scene_state(seader->scene_manager, SeaderSceneSamPresent, event.event); scene_manager_next_scene(seader->scene_manager, SeaderSceneAPDURunner); consumed = true; } else if(event.event == SeaderCustomEventSamStatusUpdated) {