[FL-1499] NFC App: save and load from SD card (#560)

* nfc: add save name and save success scenes
* applications: increase nfc app stack size to 4k
* nfc: move nfc device data to separate file
* nfc: add nfc device save to SD card
* nfc: add file select scene
* nfc: add saved key menu scene
* nfc: add manual SAK, ATQA, UID enter
* nfc: add manual enter
* nfc scenes: remove typedef in SubmenuIndex enu
* nfc_device: close file_worker after load data

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
gornekich
2021-07-02 16:44:10 +03:00
committed by GitHub
parent 88be176fcf
commit 602c125ef5
28 changed files with 812 additions and 48 deletions
+16
View File
@@ -77,6 +77,14 @@ Nfc* nfc_alloc() {
nfc->scene_debug_read_emv = nfc_scene_debug_read_emv_alloc();
nfc->scene_debug_read_mifare_ul = nfc_scene_debug_read_mifare_ul_alloc();
nfc->scene_emulate_uid = nfc_scene_emulate_uid_alloc();
nfc->scene_save_name = nfc_scene_save_name_alloc();
nfc->scene_save_success = nfc_scene_save_success_alloc();
nfc->scene_file_select = nfc_scene_file_select_alloc();
nfc->scene_saved_menu = nfc_scene_saved_menu_alloc();
nfc->scene_set_type = nfc_scene_set_type_alloc();
nfc->scene_set_sak = nfc_scene_set_sak_alloc();
nfc->scene_set_atqa = nfc_scene_set_atqa_alloc();
nfc->scene_set_uid = nfc_scene_set_uid_alloc();
view_dispatcher_add_scene(nfc->nfc_common.view_dispatcher, nfc->scene_start);
@@ -138,6 +146,14 @@ void nfc_free(Nfc* nfc) {
nfc_scene_debug_read_emv_free(nfc->scene_debug_read_emv);
nfc_scene_debug_read_mifare_ul_free(nfc->scene_debug_read_mifare_ul);
nfc_scene_emulate_uid_free(nfc->scene_emulate_uid);
nfc_scene_save_name_free(nfc->scene_save_name);
nfc_scene_save_success_free(nfc->scene_save_success);
nfc_scene_file_select_free(nfc->scene_file_select);
nfc_scene_saved_menu_free(nfc->scene_saved_menu);
nfc_scene_set_type_free(nfc->scene_set_type);
nfc_scene_set_sak_free(nfc->scene_set_sak);
nfc_scene_set_atqa_free(nfc->scene_set_atqa);
nfc_scene_set_uid_free(nfc->scene_set_uid);
// View Dispatcher
view_dispatcher_free(nfc->nfc_common.view_dispatcher);