SubGhz: remove direct reading subghz->txrx->rx_key_state

This commit is contained in:
gid9798
2023-05-06 17:47:49 +03:00
parent 1387d8d5d6
commit 1567225a64
9 changed files with 47 additions and 34 deletions

View File

@@ -37,22 +37,22 @@ void subghz_scene_need_saving_on_enter(void* context) {
bool subghz_scene_need_saving_on_event(void* context, SceneManagerEvent event) {
SubGhz* subghz = context;
if(event.type == SceneManagerEventTypeBack) {
subghz->txrx->rx_key_state = SubGhzRxKeyStateBack;
subghz_rx_key_state_set(subghz, SubGhzRxKeyStateBack);
scene_manager_previous_scene(subghz->scene_manager);
return true;
} else if(event.type == SceneManagerEventTypeCustom) {
if(event.event == SubGhzCustomEventSceneStay) {
subghz->txrx->rx_key_state = SubGhzRxKeyStateBack;
subghz_rx_key_state_set(subghz, SubGhzRxKeyStateBack);
scene_manager_previous_scene(subghz->scene_manager);
return true;
} else if(event.event == SubGhzCustomEventSceneExit) {
if(subghz->txrx->rx_key_state == SubGhzRxKeyStateExit) {
subghz->txrx->rx_key_state = SubGhzRxKeyStateIDLE;
if(subghz_rx_key_state_get(subghz) == SubGhzRxKeyStateExit) {
subghz_rx_key_state_set(subghz, SubGhzRxKeyStateIDLE);
subghz_preset_init(subghz, "AM650", subghz->last_settings->frequency, NULL, 0);
scene_manager_search_and_switch_to_previous_scene(
subghz->scene_manager, SubGhzSceneStart);
} else {
subghz->txrx->rx_key_state = SubGhzRxKeyStateIDLE;
subghz_rx_key_state_set(subghz, SubGhzRxKeyStateIDLE);
scene_manager_previous_scene(subghz->scene_manager);
}