Files
Momentum-Firmware/lib/momentum/namespoof.c
Willy-JL 8a6c499e1b Migrate files and load MNTM settings on SD insert
I don't fully like how I made this work, bu I don't see a better way without restructuring a lot of things and losing behavior compatibility
2024-08-12 01:15:33 +02:00

41 lines
1.2 KiB
C

#include "namespoof.h"
#include <flipper_format/flipper_format.h>
#include <furi_hal_version.h>
#define TAG "NameSpoof"
void namespoof_init(void) {
FuriString* str = furi_string_alloc();
Storage* storage = furi_record_open(RECORD_STORAGE);
FlipperFormat* file = flipper_format_file_alloc(storage);
const char* prev_custom_name = version_get_custom_name(NULL);
bool applied_new_name = false;
do {
uint32_t version;
if(!flipper_format_file_open_existing(file, NAMESPOOF_PATH)) break;
if(!flipper_format_read_header(file, str, &version)) break;
if(furi_string_cmp_str(str, NAMESPOOF_HEADER)) break;
if(version != NAMESPOOF_VERSION) break;
if(!flipper_format_read_string(file, "Name", str)) break;
version_set_custom_name(NULL, strdup(furi_string_get_cstr(str)));
furi_hal_version_set_name(NULL);
applied_new_name = true;
} while(false);
if(prev_custom_name) {
if(!applied_new_name) {
version_set_custom_name(NULL, NULL);
furi_hal_version_init();
}
free((void*)prev_custom_name);
}
flipper_format_free(file);
furi_record_close(RECORD_STORAGE);
furi_string_free(str);
}