diff options
author | gornekich <n.gorbadey@gmail.com> | 2021-07-25 14:34:54 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-25 14:34:54 +0300 |
commit | ebd158a823c68d4e908b190f8a55d1be7e9be87e (patch) | |
tree | f2a85b774350d9284a5f1d4bc3233bbc2cf7e9a0 /applications/nfc | |
parent | 0c7a8edf518c77788ada147134c64513fbcde873 (diff) |
[FL-1542], [FL-1603] Generate random name (#602)
* Lib: add random name library
* Text_input: add default text clearing
* All: rework all applications with new text_input API
* Nfc: fix removing dev file on save_name scene enter
* Lib: move all free radicals to toolbox and update API usage.
Co-authored-by: あく <alleteam@gmail.com>
Diffstat (limited to 'applications/nfc')
-rwxr-xr-x | applications/nfc/nfc_device.c | 4 | ||||
-rwxr-xr-x | applications/nfc/scenes/nfc_scene_save_name.c | 17 |
2 files changed, 15 insertions, 6 deletions
diff --git a/applications/nfc/nfc_device.c b/applications/nfc/nfc_device.c index d22e63e7..d0575e1b 100755 --- a/applications/nfc/nfc_device.c +++ b/applications/nfc/nfc_device.c @@ -1,8 +1,8 @@ #include "nfc_device_i.h" #include <file-worker.h> -#include <path.h> -#include <hex.h> +#include <lib/toolbox/path.h> +#include <lib/toolbox/hex.h> #define NFC_DEVICE_MAX_DATA_LEN 14 diff --git a/applications/nfc/scenes/nfc_scene_save_name.c b/applications/nfc/scenes/nfc_scene_save_name.c index af448ef1..9de2ac47 100755 --- a/applications/nfc/scenes/nfc_scene_save_name.c +++ b/applications/nfc/scenes/nfc_scene_save_name.c @@ -1,4 +1,5 @@ #include "../nfc_i.h" +#include <lib/toolbox/random_name.h> #define SCENE_SAVE_NAME_CUSTOM_EVENT (0UL) @@ -13,17 +14,21 @@ const void nfc_scene_save_name_on_enter(void* context) { // Setup view TextInput* text_input = nfc->text_input; - if(nfc->dev.dev_name) { - nfc_device_delete(&nfc->dev); + bool dev_name_empty = false; + if(!strcmp(nfc->dev.dev_name, "")) { + set_random_name(nfc->text_store, sizeof(nfc->text_store)); + dev_name_empty = true; + } else { + nfc_text_store_set(nfc, nfc->dev.dev_name); } - nfc_text_store_set(nfc, nfc->dev.dev_name); text_input_set_header_text(text_input, "Name the card"); text_input_set_result_callback( text_input, nfc_scene_save_name_text_input_callback, nfc, nfc->text_store, - sizeof(nfc->text_store)); + NFC_DEV_NAME_MAX_LEN, + dev_name_empty); view_dispatcher_switch_to_view(nfc->view_dispatcher, NfcViewTextInput); } @@ -32,6 +37,9 @@ const bool nfc_scene_save_name_on_event(void* context, SceneManagerEvent event) if(event.type == SceneManagerEventTypeCustom) { if(event.event == SCENE_SAVE_NAME_CUSTOM_EVENT) { + if(nfc->dev.dev_name) { + nfc_device_delete(&nfc->dev); + } memcpy(&nfc->dev.dev_name, nfc->text_store, strlen(nfc->text_store)); if(nfc_device_save(&nfc->dev, nfc->text_store)) { scene_manager_next_scene(nfc->scene_manager, NfcSceneSaveSuccess); @@ -49,4 +57,5 @@ const void nfc_scene_save_name_on_exit(void* context) { // Clear view text_input_set_header_text(nfc->text_input, NULL); + text_input_set_result_callback(nfc->text_input, NULL, NULL, NULL, 0, false); } |