Browse Source

Update nfc_playlist.c

acegoal07 2 years ago
parent
commit
e95aafa5ea
1 changed files with 15 additions and 17 deletions
  1. 15 17
      nfc_playlist.c

+ 15 - 17
nfc_playlist.c

@@ -26,7 +26,6 @@ typedef struct {
    ViewDispatcher* view_dispatcher;
    VariableItemList* variable_item_list;
    Popup* popup;
-   NfcPlaylistWorker* nfc_worker;
    uint8_t emulate_timeout;
    uint8_t emulate_delay;
 } NfcPlaylist;
@@ -65,14 +64,14 @@ static void nfc_playlist_settings_change_callback(VariableItem* item) {
    switch(current_option) {
       case NfcPlaylistSettings_Timeout: ;
          app->emulate_timeout = option_value_index;
-         char emulate_timeout_text[9];
-         snprintf(emulate_timeout_text, 9, "%d", (options_emulate_timeout[option_value_index]/1000));
+         char emulate_timeout_text[10];
+         snprintf(emulate_timeout_text, 10, "%ds", (options_emulate_timeout[option_value_index]/1000));
          variable_item_set_current_value_text(item, (char*)emulate_timeout_text);
          break;
       case NfcPlaylistSettings_Delay: ;
          app->emulate_delay = option_value_index;
-         char emulate_delay_text[9];
-         snprintf(emulate_delay_text, 9, "%d", (options_emulate_delay[option_value_index]/1000));
+         char emulate_delay_text[10];
+         snprintf(emulate_delay_text, 10, "%ds", (options_emulate_delay[option_value_index]/1000));
          variable_item_set_current_value_text(item, (char*)emulate_delay_text);
          break;
    }
@@ -90,8 +89,8 @@ void nfc_playlist_scene_on_enter_main_menu(void* context) {
       nfc_playlist_settings_change_callback,
       app);
    variable_item_set_current_value_index(emulation_timeout_settings, app->emulate_timeout);
-   char emulation_timeout_settings_text[9];
-   snprintf(emulation_timeout_settings_text, 9, "%d", (options_emulate_timeout[app->emulate_timeout]/1000));
+   char emulation_timeout_settings_text[10];
+   snprintf(emulation_timeout_settings_text, 10, "%ds", (options_emulate_timeout[app->emulate_timeout]/1000));
    variable_item_set_current_value_text(emulation_timeout_settings, (char*)emulation_timeout_settings_text);
    VariableItem* emulation_delay_settings = variable_item_list_add(
       app->variable_item_list,
@@ -100,8 +99,8 @@ void nfc_playlist_scene_on_enter_main_menu(void* context) {
       nfc_playlist_settings_change_callback,
       app);
    variable_item_set_current_value_index(emulation_delay_settings, app->emulate_delay);
-   char emulation_delay_settings_text[9];
-   snprintf(emulation_delay_settings_text, 9, "%d", (options_emulate_delay[app->emulate_delay]/1000));
+   char emulation_delay_settings_text[10];
+   snprintf(emulation_delay_settings_text, 10, "%ds", (options_emulate_delay[app->emulate_delay]/1000));
    variable_item_set_current_value_text(emulation_delay_settings, (char*)emulation_delay_settings_text);
    variable_item_list_add(app->variable_item_list, "Start", 0, NULL, NULL);
    variable_item_list_set_enter_callback(app->variable_item_list, nfc_playlist_menu_callback_main_menu, app);
@@ -144,7 +143,7 @@ void nfc_playlist_scene_on_enter_popup_emulating(void* context) {
    Storage* storage = furi_record_open(RECORD_STORAGE);
    Stream* stream = file_stream_alloc(storage);
    FuriString* line = furi_string_alloc();
-   app->nfc_worker = nfc_playlist_worker_alloc();
+   NfcPlaylistWorker* nfc_worker = nfc_playlist_worker_alloc();
    // Read file
    if(file_stream_open(stream, APP_DATA_PATH("playlist.txt"), FSAM_READ, FSOM_OPEN_EXISTING)) {
       popup_reset(app->popup);
@@ -186,8 +185,8 @@ void nfc_playlist_scene_on_enter_popup_emulating(void* context) {
                time_counter_ms -= 500;
             } while(time_counter_ms > 0);
          } else {
-            nfc_playlist_worker_set_nfc_data(app->nfc_worker, file_path);
-            nfc_playlist_worker_start(app->nfc_worker);
+            nfc_playlist_worker_set_nfc_data(nfc_worker, file_path);
+            nfc_playlist_worker_start(nfc_worker);
 
             int popup_text_size = (strlen(file_name) + 4);
             char popup_text[popup_text_size];
@@ -197,10 +196,10 @@ void nfc_playlist_scene_on_enter_popup_emulating(void* context) {
                popup_set_text(app->popup, popup_text, 64, 25, AlignCenter, AlignTop);
                furi_delay_ms(500);
                time_counter_ms -= 500;
-            } while(nfc_playlist_worker_is_emulating(app->nfc_worker) && time_counter_ms > 0);
+            } while(nfc_playlist_worker_is_emulating(nfc_worker) && time_counter_ms > 0);
 
-            if (nfc_playlist_worker_is_emulating(app->nfc_worker)) {
-               nfc_playlist_worker_stop(app->nfc_worker);
+            if (nfc_playlist_worker_is_emulating(nfc_worker)) {
+               nfc_playlist_worker_stop(nfc_worker);
             }
          }
       }
@@ -218,8 +217,7 @@ void nfc_playlist_scene_on_enter_popup_emulating(void* context) {
    furi_string_free(line);
    file_stream_close(stream);
    stream_free(stream);
-   nfc_playlist_worker_free(app->nfc_worker);
-   app->nfc_worker = NULL;
+   nfc_playlist_worker_free(nfc_worker);
    // Close storage
    furi_record_close(RECORD_STORAGE);
 }