Esteban Fuentealba 2 лет назад
Родитель
Сommit
c97afa6969
4 измененных файлов с 5 добавлено и 138 удалено
  1. 0 3
      gb_cartridge_app.c
  2. 5 1
      gb_cartridge_app.h
  3. 0 116
      helpers/gb_cartridge_storage.c
  4. 0 18
      helpers/gb_cartridge_storage.h

+ 0 - 3
gb_cartridge_app.c

@@ -78,8 +78,6 @@ GBCartridge* gb_cartridge_app_app_alloc() {
     app->dialogs = furi_record_open(RECORD_DIALOGS);
     app->file_path = furi_string_alloc();
 
-    // Load configs
-    gb_cartridge_read_settings(app);
 
     app->uart = usart_init(app);
     app->lp_uart = lp_uart_init(app);
@@ -195,7 +193,6 @@ int32_t gb_cartridge_app(void* p) {
     furi_hal_power_suppress_charge_enter();
 
     view_dispatcher_run(app->view_dispatcher);
-    gb_cartridge_save_settings(app);
 
     furi_hal_power_suppress_charge_exit();
     gb_cartridge_app_app_free(app);

+ 5 - 1
gb_cartridge_app.h

@@ -13,6 +13,11 @@
 #include <gui/modules/variable_item_list.h>
 #include <gui/modules/button_menu.h>
 #include <gui/modules/dialog_ex.h>
+#include <stdlib.h>
+#include <string.h>
+#include <storage/storage.h>
+#include <flipper_format/flipper_format_i.h>
+
 #include "scenes/gb_cartridge_scene.h"
 #include "views/gb_cartridge_startscreen.h"
 #include "views/gb_cartridge_scene_1.h"
@@ -20,7 +25,6 @@
 #include "views/gb_cartridge_scene_3.h"
 #include "views/gb_cartridge_scene_4.h"
 #include "views/gb_cartridge_scene_5.h"
-#include "helpers/gb_cartridge_storage.h"
 #include "uart.h"
 #include "helpers/cJSON.h"
 #include "malveke_notifications.h"

+ 0 - 116
helpers/gb_cartridge_storage.c

@@ -1,116 +0,0 @@
-#include "gb_cartridge_storage.h"
-
-static Storage* gb_cartridge_open_storage() {
-    return furi_record_open(RECORD_STORAGE);
-}
-
-static void gb_cartridge_close_storage() {
-    furi_record_close(RECORD_STORAGE);
-}
-
-static void gb_cartridge_close_config_file(FlipperFormat* file) {
-    if(file == NULL) return;
-    flipper_format_file_close(file);
-    flipper_format_free(file);
-}
-
-void gb_cartridge_save_settings(void* context) {
-    GBCartridge* app = context;
-    if(app->save_settings == 0) {
-        return;
-    }
-
-    FURI_LOG_D(TAG, "Saving Settings");
-    Storage* storage = gb_cartridge_open_storage();
-    FlipperFormat* fff_file = flipper_format_file_alloc(storage);
-
-    // Overwrite wont work, so delete first
-    if(storage_file_exists(storage, BOILERPLATE_SETTINGS_SAVE_PATH)) {
-        storage_simply_remove(storage, BOILERPLATE_SETTINGS_SAVE_PATH);
-    }
-
-    // Open File, create if not exists
-    if(!storage_common_stat(storage, BOILERPLATE_SETTINGS_SAVE_PATH, NULL) == FSE_OK) {
-        FURI_LOG_D(
-            TAG, "Config file %s is not found. Will create new.", BOILERPLATE_SETTINGS_SAVE_PATH);
-        if(storage_common_stat(storage, CONFIG_FILE_DIRECTORY_PATH, NULL) == FSE_NOT_EXIST) {
-            FURI_LOG_D(
-                TAG, "Directory %s doesn't exist. Will create new.", CONFIG_FILE_DIRECTORY_PATH);
-            if(!storage_simply_mkdir(storage, CONFIG_FILE_DIRECTORY_PATH)) {
-                FURI_LOG_E(TAG, "Error creating directory %s", CONFIG_FILE_DIRECTORY_PATH);
-            }
-        }
-    }
-
-    if(!flipper_format_file_open_new(fff_file, BOILERPLATE_SETTINGS_SAVE_PATH)) {
-        //totp_close_config_file(fff_file);
-        FURI_LOG_E(TAG, "Error creating new file %s", BOILERPLATE_SETTINGS_SAVE_PATH);
-        gb_cartridge_close_storage();
-        return;
-    }
-
-    // Store Settings
-    flipper_format_write_header_cstr(
-        fff_file, BOILERPLATE_SETTINGS_HEADER, BOILERPLATE_SETTINGS_FILE_VERSION);
-    flipper_format_write_uint32(fff_file, BOILERPLATE_SETTINGS_KEY_HAPTIC, &app->haptic, 1);
-    flipper_format_write_uint32(fff_file, BOILERPLATE_SETTINGS_KEY_SPEAKER, &app->speaker, 1);
-    flipper_format_write_uint32(fff_file, BOILERPLATE_SETTINGS_KEY_LED, &app->led, 1);
-    flipper_format_write_uint32(
-        fff_file, BOILERPLATE_SETTINGS_KEY_SAVE_SETTINGS, &app->save_settings, 1);
-
-    if(!flipper_format_rewind(fff_file)) {
-        gb_cartridge_close_config_file(fff_file);
-        FURI_LOG_E(TAG, "Rewind error");
-        gb_cartridge_close_storage();
-        return;
-    }
-
-    gb_cartridge_close_config_file(fff_file);
-    gb_cartridge_close_storage();
-}
-
-void gb_cartridge_read_settings(void* context) {
-    GBCartridge* app = context;
-    Storage* storage = gb_cartridge_open_storage();
-    FlipperFormat* fff_file = flipper_format_file_alloc(storage);
-
-    if(storage_common_stat(storage, BOILERPLATE_SETTINGS_SAVE_PATH, NULL) != FSE_OK) {
-        gb_cartridge_close_config_file(fff_file);
-        gb_cartridge_close_storage();
-        return;
-    }
-    uint32_t file_version;
-    FuriString* temp_str = furi_string_alloc();
-
-    if(!flipper_format_file_open_existing(fff_file, BOILERPLATE_SETTINGS_SAVE_PATH)) {
-        FURI_LOG_E(TAG, "Cannot open file %s", BOILERPLATE_SETTINGS_SAVE_PATH);
-        gb_cartridge_close_config_file(fff_file);
-        gb_cartridge_close_storage();
-        return;
-    }
-
-    if(!flipper_format_read_header(fff_file, temp_str, &file_version)) {
-        FURI_LOG_E(TAG, "Missing Header Data");
-        gb_cartridge_close_config_file(fff_file);
-        gb_cartridge_close_storage();
-        return;
-    }
-
-    if(file_version < BOILERPLATE_SETTINGS_FILE_VERSION) {
-        FURI_LOG_I(TAG, "old config version, will be removed.");
-        gb_cartridge_close_config_file(fff_file);
-        gb_cartridge_close_storage();
-        return;
-    }
-
-    flipper_format_read_uint32(fff_file, BOILERPLATE_SETTINGS_KEY_HAPTIC, &app->haptic, 1);
-    flipper_format_read_uint32(fff_file, BOILERPLATE_SETTINGS_KEY_SPEAKER, &app->speaker, 1);
-    flipper_format_read_uint32(fff_file, BOILERPLATE_SETTINGS_KEY_LED, &app->led, 1);
-    flipper_format_read_uint32(
-        fff_file, BOILERPLATE_SETTINGS_KEY_SAVE_SETTINGS, &app->save_settings, 1);
-
-    flipper_format_rewind(fff_file);
-
-    gb_cartridge_close_config_file(fff_file);
-    gb_cartridge_close_storage();
-}

+ 0 - 18
helpers/gb_cartridge_storage.h

@@ -1,18 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <storage/storage.h>
-#include <flipper_format/flipper_format_i.h>
-#include "../gb_cartridge_app.h"
-
-#define BOILERPLATE_SETTINGS_FILE_VERSION 1
-#define CONFIG_FILE_DIRECTORY_PATH EXT_PATH("apps_data/boilerplate")
-#define BOILERPLATE_SETTINGS_SAVE_PATH CONFIG_FILE_DIRECTORY_PATH "/boilerplate.conf"
-#define BOILERPLATE_SETTINGS_SAVE_PATH_TMP BOILERPLATE_SETTINGS_SAVE_PATH ".tmp"
-#define BOILERPLATE_SETTINGS_HEADER "GBCartridge Config File"
-#define BOILERPLATE_SETTINGS_KEY_HAPTIC "Haptic"
-#define BOILERPLATE_SETTINGS_KEY_LED "Led"
-#define BOILERPLATE_SETTINGS_KEY_SPEAKER "Speaker"
-#define BOILERPLATE_SETTINGS_KEY_SAVE_SETTINGS "SaveSettings"
-
-// void gb_cartridge_save_settings(void* context);
-// void gb_cartridge_read_settings(void* context);