|
|
@@ -1,6 +1,6 @@
|
|
|
#include "../nfc_playlist.h"
|
|
|
|
|
|
-void nfc_playlist_name_new_playlist_menu_callback(void* context) {
|
|
|
+int32_t nfc_playlist_name_new_playlist_thread_task(void* context) {
|
|
|
NfcPlaylist* nfc_playlist = context;
|
|
|
|
|
|
FuriString* file_name = furi_string_alloc_printf("/ext/apps_data/nfc_playlist/%s.txt", nfc_playlist->text_input_output);
|
|
|
@@ -20,7 +20,25 @@ void nfc_playlist_name_new_playlist_menu_callback(void* context) {
|
|
|
furi_string_free(file_name);
|
|
|
storage_file_free(file);
|
|
|
furi_record_close(RECORD_STORAGE);
|
|
|
- scene_manager_previous_scene(nfc_playlist->scene_manager);
|
|
|
+
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+void nfc_playlist_name_new_playlist_thread_state_callback(FuriThreadState state, void* context) {
|
|
|
+ NfcPlaylist* nfc_playlist = context;
|
|
|
+ if(state == FuriThreadStateStopped) {
|
|
|
+ furi_thread_yield();
|
|
|
+ nfc_playlist->thread = NULL;
|
|
|
+ scene_manager_search_and_switch_to_previous_scene(nfc_playlist->scene_manager, NfcPlaylistScene_MainMenu);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void nfc_playlist_name_new_playlist_menu_callback(void* context) {
|
|
|
+ NfcPlaylist* nfc_playlist = context;
|
|
|
+ nfc_playlist->thread = furi_thread_alloc_ex("NfcPlaylistCreator", 1024, nfc_playlist_name_new_playlist_thread_task, nfc_playlist);
|
|
|
+ furi_thread_set_state_context(nfc_playlist->thread, nfc_playlist);
|
|
|
+ furi_thread_set_state_callback(nfc_playlist->thread, nfc_playlist_name_new_playlist_thread_state_callback);
|
|
|
+ furi_thread_start(nfc_playlist->thread);
|
|
|
}
|
|
|
|
|
|
void nfc_playlist_name_new_playlist_scene_on_enter(void* context) {
|
|
|
@@ -29,7 +47,7 @@ void nfc_playlist_name_new_playlist_scene_on_enter(void* context) {
|
|
|
nfc_playlist->text_input_output = malloc(MAX_PLAYLIST_NAME_LEN + 1);
|
|
|
text_input_set_header_text(nfc_playlist->text_input, "Enter file name");
|
|
|
text_input_set_minimum_length(nfc_playlist->text_input, 1);
|
|
|
- text_input_set_result_callback(nfc_playlist->text_input, nfc_playlist_name_new_playlist_menu_callback, nfc_playlist, nfc_playlist->text_input_output, MAX_PLAYLIST_NAME_LEN, false);
|
|
|
+ text_input_set_result_callback(nfc_playlist->text_input, nfc_playlist_name_new_playlist_menu_callback, nfc_playlist, nfc_playlist->text_input_output, MAX_PLAYLIST_NAME_LEN, true);
|
|
|
|
|
|
view_dispatcher_switch_to_view(nfc_playlist->view_dispatcher, NfcPlaylistView_TextInput);
|
|
|
}
|