mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-25 03:29:58 -07:00
87 lines
3.1 KiB
C
87 lines
3.1 KiB
C
#include "settings.h"
|
|
|
|
#define TAG "XtremeSettings"
|
|
|
|
XtremeSettings* xtreme_settings = NULL;
|
|
|
|
XtremeSettings* XTREME_SETTINGS() {
|
|
if(xtreme_settings == NULL) {
|
|
XTREME_SETTINGS_LOAD();
|
|
}
|
|
return xtreme_settings;
|
|
}
|
|
|
|
void XTREME_SETTINGS_LOAD() {
|
|
if(xtreme_settings == NULL) {
|
|
xtreme_settings = malloc(sizeof(XtremeSettings));
|
|
bool loaded = false;
|
|
|
|
if(!furi_hal_is_normal_boot()) {
|
|
FURI_LOG_W(TAG, "Load skipped. Device is in special startup mode.");
|
|
loaded = false;
|
|
} else {
|
|
loaded = saved_struct_load(
|
|
XTREME_SETTINGS_PATH,
|
|
xtreme_settings,
|
|
sizeof(XtremeSettings),
|
|
XTREME_SETTINGS_MAGIC,
|
|
XTREME_SETTINGS_VERSION);
|
|
if(!loaded) {
|
|
Storage* storage = furi_record_open(RECORD_STORAGE);
|
|
storage_common_copy(storage, XTREME_SETTINGS_OLD_PATH, XTREME_SETTINGS_PATH);
|
|
storage_common_copy(storage, XTREME_SETTINGS_OLD_INT_PATH, XTREME_SETTINGS_PATH);
|
|
storage_common_remove(storage, XTREME_SETTINGS_OLD_PATH);
|
|
storage_common_remove(storage, XTREME_SETTINGS_OLD_INT_PATH);
|
|
furi_record_close(RECORD_STORAGE);
|
|
loaded = saved_struct_load(
|
|
XTREME_SETTINGS_PATH,
|
|
xtreme_settings,
|
|
sizeof(XtremeSettings),
|
|
XTREME_SETTINGS_MAGIC,
|
|
XTREME_SETTINGS_VERSION);
|
|
}
|
|
}
|
|
|
|
if(!loaded) {
|
|
memset(xtreme_settings, 0, sizeof(XtremeSettings));
|
|
strlcpy(xtreme_settings->asset_pack, "", MAX_PACK_NAME_LEN); // SFW
|
|
xtreme_settings->anim_speed = 100; // 100%
|
|
xtreme_settings->cycle_anims = 0; // Meta.txt
|
|
xtreme_settings->unlock_anims = false; // OFF
|
|
xtreme_settings->fallback_anim = true; // ON
|
|
xtreme_settings->wii_menu = true; // ON
|
|
xtreme_settings->lockscreen_time = true; // ON
|
|
xtreme_settings->lockscreen_date = true; // ON
|
|
xtreme_settings->lockscreen_statusbar = true; // ON
|
|
xtreme_settings->lockscreen_prompt = true; // ON
|
|
xtreme_settings->battery_icon = BatteryIconBarPercent; // Bar %
|
|
xtreme_settings->status_icons = true; // ON
|
|
xtreme_settings->bar_borders = true; // ON
|
|
xtreme_settings->bar_background = false; // OFF
|
|
xtreme_settings->sort_dirs_first = true; // ON
|
|
xtreme_settings->dark_mode = false; // OFF
|
|
xtreme_settings->bad_bt = false; // USB
|
|
xtreme_settings->bad_bt_remember = false; // OFF
|
|
xtreme_settings->butthurt_timer = 43200; // 12 H
|
|
xtreme_settings->rgb_backlight = false; // OFF
|
|
}
|
|
}
|
|
}
|
|
|
|
bool XTREME_SETTINGS_SAVE() {
|
|
if(xtreme_settings == NULL) {
|
|
XTREME_SETTINGS_LOAD();
|
|
}
|
|
|
|
if(!furi_hal_is_normal_boot()) {
|
|
return true;
|
|
}
|
|
|
|
return saved_struct_save(
|
|
XTREME_SETTINGS_PATH,
|
|
xtreme_settings,
|
|
sizeof(XtremeSettings),
|
|
XTREME_SETTINGS_MAGIC,
|
|
XTREME_SETTINGS_VERSION);
|
|
}
|