diff --git a/applications/main/subghz/scenes/subghz_scene_keeloq_decrypt.c b/applications/main/subghz/scenes/subghz_scene_keeloq_decrypt.c index 410977c5..fb802df0 100644 --- a/applications/main/subghz/scenes/subghz_scene_keeloq_decrypt.c +++ b/applications/main/subghz/scenes/subghz_scene_keeloq_decrypt.c @@ -200,16 +200,17 @@ bool subghz_scene_keeloq_decrypt_on_event(void* context, SceneManagerEvent event subghz_txrx_get_fff_data(subghz->txrx), furi_string_get_cstr(subghz->file_path)); - if(subghz->keeloq_keys_manager) { - char key_name[24]; - snprintf(key_name, sizeof(key_name), "BF_%07lX", ctx->serial); - subghz_keeloq_keys_add( - subghz->keeloq_keys_manager, - ctx->recovered_mfkey, - ctx->recovered_type, - key_name); - subghz_keeloq_keys_save(subghz->keeloq_keys_manager); + if(!subghz->keeloq_keys_manager) { + subghz->keeloq_keys_manager = subghz_keeloq_keys_alloc(); } + char key_name[24]; + snprintf(key_name, sizeof(key_name), "BF_%07lX", ctx->serial); + subghz_keeloq_keys_add( + subghz->keeloq_keys_manager, + ctx->recovered_mfkey, + ctx->recovered_type, + key_name); + subghz_keeloq_keys_save(subghz->keeloq_keys_manager); subghz_view_keeloq_decrypt_set_result( subghz->subghz_keeloq_decrypt, true, furi_string_get_cstr(ctx->result)); diff --git a/applications/main/subghz/scenes/subghz_scene_saved_menu.c b/applications/main/subghz/scenes/subghz_scene_saved_menu.c index 24324093..5abb3684 100644 --- a/applications/main/subghz/scenes/subghz_scene_saved_menu.c +++ b/applications/main/subghz/scenes/subghz_scene_saved_menu.c @@ -6,7 +6,6 @@ enum SubmenuIndex { SubmenuIndexDelete, SubmenuIndexSignalSettings, SubmenuIndexPsaDecrypt, - SubmenuIndexKeeloqDecrypt, SubmenuIndexCounterBf }; @@ -20,7 +19,6 @@ void subghz_scene_saved_menu_on_enter(void* context) { FlipperFormat* fff = subghz_txrx_get_fff_data(subghz->txrx); bool is_psa_encrypted = false; - bool is_keeloq_unknown = false; bool has_counter = false; if(fff) { FuriString* proto = furi_string_alloc(); @@ -34,17 +32,6 @@ void subghz_scene_saved_menu_on_enter(void* context) { is_psa_encrypted = true; } furi_string_free(type_str); - } else if(furi_string_equal_str(proto, "KeeLoq")) { - FuriString* mf_str = furi_string_alloc(); - flipper_format_rewind(fff); - if(flipper_format_read_string(fff, "Manufacture", mf_str)) { - if(furi_string_equal_str(mf_str, "Unknown")) { - is_keeloq_unknown = true; - } - } else { - is_keeloq_unknown = true; - } - furi_string_free(mf_str); } } furi_string_free(proto); @@ -95,14 +82,6 @@ void subghz_scene_saved_menu_on_enter(void* context) { subghz_scene_saved_menu_submenu_callback, subghz); } - if(is_keeloq_unknown) { - submenu_add_item( - subghz->submenu, - "KeeLoq BF (Phone)", - SubmenuIndexKeeloqDecrypt, - subghz_scene_saved_menu_submenu_callback, - subghz); - } if(has_counter) { submenu_add_item( subghz->submenu, @@ -148,11 +127,6 @@ bool subghz_scene_saved_menu_on_event(void* context, SceneManagerEvent event) { subghz->scene_manager, SubGhzSceneSavedMenu, SubmenuIndexPsaDecrypt); scene_manager_next_scene(subghz->scene_manager, SubGhzScenePsaDecrypt); return true; - } else if(event.event == SubmenuIndexKeeloqDecrypt) { - scene_manager_set_scene_state( - subghz->scene_manager, SubGhzSceneSavedMenu, SubmenuIndexKeeloqDecrypt); - scene_manager_next_scene(subghz->scene_manager, SubGhzSceneKeeloqDecrypt); - return true; } else if(event.event == SubmenuIndexCounterBf) { scene_manager_set_scene_state( subghz->scene_manager, SubGhzSceneSavedMenu, SubmenuIndexCounterBf);