diff --git a/applications/main/subghz/scenes/subghz_scene_receiver.c b/applications/main/subghz/scenes/subghz_scene_receiver.c index c9ac8f3ff..dcaa91408 100644 --- a/applications/main/subghz/scenes/subghz_scene_receiver.c +++ b/applications/main/subghz/scenes/subghz_scene_receiver.c @@ -306,7 +306,7 @@ bool subghz_scene_receiver_on_event(void* context, SceneManagerEvent event) { subghz_txrx_hopper_set_state(subghz->txrx, SubGhzHopperStateOFF); subghz_txrx_set_rx_callback(subghz->txrx, NULL, subghz); - if(subghz_rx_key_state_get(subghz) == SubGhzRxKeyStateAddKey) { + if(subghz_history_get_last_index(subghz->history)) { subghz_rx_key_state_set(subghz, SubGhzRxKeyStateExit); scene_manager_next_scene(subghz->scene_manager, SubGhzSceneNeedSaving); } else { diff --git a/applications/main/subghz/scenes/subghz_scene_receiver_config.c b/applications/main/subghz/scenes/subghz_scene_receiver_config.c index ee2dafb21..742e14a12 100644 --- a/applications/main/subghz/scenes/subghz_scene_receiver_config.c +++ b/applications/main/subghz/scenes/subghz_scene_receiver_config.c @@ -281,8 +281,7 @@ static void subghz_scene_receiver_config_set_repeater(VariableItem* item) { uint8_t index = variable_item_get_current_value_index(item); if(subghz->repeater == SubGhzRepeaterStateOff && - (subghz_rx_key_state_get(subghz) == SubGhzRxKeyStateAddKey || - subghz_rx_key_state_get(subghz) == SubGhzRxKeyStateBack)) { + subghz_history_get_last_index(subghz->history)) { scene_manager_set_scene_state( subghz->scene_manager, SubGhzSceneReceiverConfig, SubGhzSettingIndexRepeater); view_dispatcher_send_custom_event(