77#define QUAC_SETTINGS_FILE_VERSION 1
88
99void quac_set_default_settings (App * app ) {
10- app -> settings .rfid_duration = 2500 ;
1110 app -> settings .layout = QUAC_APP_LANDSCAPE ;
1211 app -> settings .show_icons = true;
1312 app -> settings .show_headers = true;
13+ app -> settings .rfid_duration = 2500 ;
14+ app -> settings .nfc_duration = 1000 ;
1415 app -> settings .subghz_use_ext_antenna = false;
1516 app -> settings .show_hidden = false;
1617}
@@ -21,11 +22,13 @@ void quac_load_settings(App* app) {
2122 temp_str = furi_string_alloc ();
2223 uint32_t temp_data32 = 0 ;
2324
25+ // Initialize settings to the defaults
26+ quac_set_default_settings (app );
27+
2428 FURI_LOG_I (TAG , "SETTINGS: Reading: %s" , QUAC_SETTINGS_PATH );
25- bool successful = false;
2629 do {
2730 if (!flipper_format_file_open_existing (fff_settings , QUAC_SETTINGS_PATH )) {
28- FURI_LOG_I (TAG , "SETTINGS: File not found, loading defaults" );
31+ FURI_LOG_I (TAG , "SETTINGS: File not found, using defaults" );
2932 break ;
3033 }
3134
@@ -43,55 +46,54 @@ void quac_load_settings(App* app) {
4346
4447 // Now read actual values we care about
4548 if (!flipper_format_read_string (fff_settings , "Layout" , temp_str )) {
46- FURI_LOG_E (TAG , "SETTINGS: Missing Layout" );
47- break ;
48- }
49- if (!strcmp (furi_string_get_cstr (temp_str ), "Landscape" )) {
50- app -> settings .layout = QUAC_APP_LANDSCAPE ;
51- } else if (!strcmp (furi_string_get_cstr (temp_str ), "Portrait" )) {
52- app -> settings .layout = QUAC_APP_PORTRAIT ;
49+ FURI_LOG_W (TAG , "SETTINGS: Missing Layout" );
5350 } else {
54- FURI_LOG_E (TAG , "SETTINGS: Invalid Layout" );
55- break ;
51+ if (!strcmp (furi_string_get_cstr (temp_str ), "Landscape" )) {
52+ app -> settings .layout = QUAC_APP_LANDSCAPE ;
53+ } else if (!strcmp (furi_string_get_cstr (temp_str ), "Portrait" )) {
54+ app -> settings .layout = QUAC_APP_PORTRAIT ;
55+ } else {
56+ FURI_LOG_E (TAG , "SETTINGS: Invalid Layout" );
57+ }
5658 }
5759
5860 if (!flipper_format_read_uint32 (fff_settings , "Show Icons" , & temp_data32 , 1 )) {
59- FURI_LOG_E (TAG , "SETTINGS: Missing 'Show Icons'" );
60- break ;
61+ FURI_LOG_W (TAG , "SETTINGS: Missing 'Show Icons'" );
62+ } else {
63+ app -> settings .show_icons = (temp_data32 == 0 ) ? false : true;
6164 }
62- app -> settings .show_icons = (temp_data32 == 0 ) ? false : true;
6365
6466 if (!flipper_format_read_uint32 (fff_settings , "Show Headers" , & temp_data32 , 1 )) {
65- FURI_LOG_E (TAG , "SETTINGS: Missing 'Show Headers'" );
66- break ;
67+ FURI_LOG_W (TAG , "SETTINGS: Missing 'Show Headers'" );
68+ } else {
69+ app -> settings .show_headers = (temp_data32 == 1 ) ? true : false;
6770 }
68- app -> settings .show_headers = (temp_data32 == 1 ) ? true : false;
6971
7072 if (!flipper_format_read_uint32 (fff_settings , "RFID Duration" , & temp_data32 , 1 )) {
71- FURI_LOG_E (TAG , "SETTINGS: Missing 'RFID Duration'" );
72- break ;
73+ FURI_LOG_W (TAG , "SETTINGS: Missing 'RFID Duration'" );
74+ } else {
75+ app -> settings .rfid_duration = temp_data32 ;
76+ }
77+
78+ if (!flipper_format_read_uint32 (fff_settings , "NFC Duration" , & temp_data32 , 1 )) {
79+ FURI_LOG_W (TAG , "SETTINGS: Missing 'NFC Duration'" );
80+ } else {
81+ app -> settings .nfc_duration = temp_data32 ;
7382 }
74- app -> settings .rfid_duration = temp_data32 ;
7583
7684 if (!flipper_format_read_uint32 (fff_settings , "SubGHz Ext Antenna" , & temp_data32 , 1 )) {
77- FURI_LOG_E (TAG , "SETTINGS: Missing 'SubGHz Ext Antenna'" );
78- break ;
85+ FURI_LOG_W (TAG , "SETTINGS: Missing 'SubGHz Ext Antenna'" );
86+ } else {
87+ app -> settings .subghz_use_ext_antenna = (temp_data32 == 1 ) ? true : false;
7988 }
80- app -> settings .subghz_use_ext_antenna = (temp_data32 == 1 ) ? true : false;
8189
8290 if (!flipper_format_read_uint32 (fff_settings , "Show Hidden" , & temp_data32 , 1 )) {
83- FURI_LOG_E (TAG , "SETTINGS: Missing 'Show Hidden'" );
84- break ;
91+ FURI_LOG_W (TAG , "SETTINGS: Missing 'Show Hidden'" );
92+ } else {
93+ app -> settings .show_hidden = (temp_data32 == 1 ) ? true : false;
8594 }
86- app -> settings .show_hidden = (temp_data32 == 1 ) ? true : false;
87-
88- successful = true;
8995 } while (false);
9096
91- if (!successful ) {
92- quac_set_default_settings (app );
93- }
94-
9597 furi_string_free (temp_str );
9698 flipper_format_free (fff_settings );
9799}
@@ -137,6 +139,11 @@ void quac_save_settings(App* app) {
137139 FURI_LOG_E (TAG , "SETTINGS: Failed to write 'RFID Duration'" );
138140 break ;
139141 }
142+ if (!flipper_format_write_uint32 (
143+ fff_settings , "NFC Duration" , & app -> settings .nfc_duration , 1 )) {
144+ FURI_LOG_E (TAG , "SETTINGS: Failed to write 'NFC Duration'" );
145+ break ;
146+ }
140147 temp_data32 = app -> settings .subghz_use_ext_antenna ? 1 : 0 ;
141148 if (!flipper_format_write_uint32 (fff_settings , "SubGHz Ext Antenna" , & temp_data32 , 1 )) {
142149 FURI_LOG_E (TAG , "SETTINGS: Failed to write 'SubGHz Ext Antenna'" );
0 commit comments