[FL-2675] /int space reservation (#1448)

* storage: added global #defines for /int, /ext & /any
* storage: introduced PATH_EXT, PATH_INT& PATH_ANY macros
* core apps: moved hardcoded config files names to separate headers; prefixed them with "."; updater: added file name migration to new naming convention on backup extraction
* storage: fixed storage_merge_recursive handling of complex directory structures; storage_move_to_sd: changed data migration logic to all non-dot files & all folders
* core: added macro aliases for core record names
* Bumped protobuf commit pointer
* storage: reserved 5 pages in /int; denying write&creation of non-dot files when running out of free space

Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
hedger
2022-07-26 15:21:51 +03:00
committed by GitHub
parent 52a83fc929
commit 056446dfed
171 changed files with 1111 additions and 910 deletions

View File

@@ -88,10 +88,10 @@ int32_t blink_test_app(void* p) {
furi_timer_start(timer, furi_kernel_get_tick_frequency());
// Register view port in GUI
Gui* gui = furi_record_open("gui");
Gui* gui = furi_record_open(RECORD_GUI);
gui_add_view_port(gui, view_port, GuiLayerFullscreen);
NotificationApp* notifications = furi_record_open("notification");
NotificationApp* notifications = furi_record_open(RECORD_NOTIFICATION);
uint8_t state = 0;
BlinkEvent event;
@@ -119,8 +119,8 @@ int32_t blink_test_app(void* p) {
view_port_free(view_port);
furi_message_queue_free(event_queue);
furi_record_close("notification");
furi_record_close("gui");
furi_record_close(RECORD_NOTIFICATION);
furi_record_close(RECORD_GUI);
return 0;
}

View File

@@ -127,7 +127,7 @@ DisplayTest* display_test_alloc() {
View* view = NULL;
instance->gui = furi_record_open("gui");
instance->gui = furi_record_open(RECORD_GUI);
instance->view_dispatcher = view_dispatcher_alloc();
view_dispatcher_enable_queue(instance->view_dispatcher);
view_dispatcher_attach_to_gui(
@@ -206,7 +206,7 @@ void display_test_free(DisplayTest* instance) {
view_display_test_free(instance->view_display_test);
view_dispatcher_free(instance->view_dispatcher);
furi_record_close("gui");
furi_record_close(RECORD_GUI);
free(instance);
}

View File

@@ -29,8 +29,8 @@ FileBrowserApp* file_browser_app_alloc(char* arg) {
UNUSED(arg);
FileBrowserApp* app = malloc(sizeof(FileBrowserApp));
app->gui = furi_record_open("gui");
app->dialogs = furi_record_open("dialogs");
app->gui = furi_record_open(RECORD_GUI);
app->dialogs = furi_record_open(RECORD_DIALOGS);
app->view_dispatcher = view_dispatcher_alloc();
view_dispatcher_enable_queue(app->view_dispatcher);
@@ -80,9 +80,9 @@ void file_browser_app_free(FileBrowserApp* app) {
scene_manager_free(app->scene_manager);
// Close records
furi_record_close("gui");
furi_record_close("notification");
furi_record_close("dialogs");
furi_record_close(RECORD_GUI);
furi_record_close(RECORD_NOTIFICATION);
furi_record_close(RECORD_DIALOGS);
string_clear(app->file_path);

View File

@@ -1,6 +1,8 @@
#include "../file_browser_app_i.h"
#include "furi_hal.h"
#include "gui/modules/widget_elements/widget_element_i.h"
#include <furi_hal.h>
#include <gui/modules/widget_elements/widget_element_i.h>
#include <storage/storage.h>
static void
file_browser_scene_start_ok_callback(GuiButtonType result, InputType type, void* context) {
@@ -17,7 +19,7 @@ bool file_browser_scene_start_on_event(void* context, SceneManagerEvent event) {
bool consumed = false;
if(event.type == SceneManagerEventTypeCustom) {
string_set_str(app->file_path, "/any/badusb/demo_windows.txt");
string_set_str(app->file_path, ANY_PATH("badusb/demo_windows.txt"));
scene_manager_next_scene(app->scene_manager, FileBrowserSceneBrowser);
consumed = true;
} else if(event.type == SceneManagerEventTypeTick) {

View File

@@ -78,7 +78,7 @@ int32_t keypad_test_app(void* p) {
view_port_input_callback_set(view_port, keypad_test_input_callback, event_queue);
// Open GUI and register view_port
Gui* gui = furi_record_open("gui");
Gui* gui = furi_record_open(RECORD_GUI);
gui_add_view_port(gui, view_port, GuiLayerFullscreen);
InputEvent event;
@@ -149,7 +149,7 @@ int32_t keypad_test_app(void* p) {
furi_message_queue_free(event_queue);
delete_mutex(&state_mutex);
furi_record_close("gui");
furi_record_close(RECORD_GUI);
return 0;
}

View File

@@ -88,7 +88,7 @@ int32_t text_box_test_app(void* p) {
view_port_input_callback_set(view_port, text_box_test_input_callback, event_queue);
// Open GUI and register view_port
Gui* gui = furi_record_open("gui");
Gui* gui = furi_record_open(RECORD_GUI);
gui_add_view_port(gui, view_port, GuiLayerFullscreen);
uint32_t test_renders_num = COUNT_OF(text_box_test_render);
@@ -121,7 +121,7 @@ int32_t text_box_test_app(void* p) {
furi_message_queue_free(event_queue);
delete_mutex(&state_mutex);
furi_record_close("gui");
furi_record_close(RECORD_GUI);
return 0;
}

View File

@@ -189,8 +189,8 @@ static UartEchoApp* uart_echo_app_alloc() {
app->rx_stream = xStreamBufferCreate(2048, 1);
// Gui
app->gui = furi_record_open("gui");
app->notification = furi_record_open("notification");
app->gui = furi_record_open(RECORD_GUI);
app->notification = furi_record_open(RECORD_NOTIFICATION);
// View dispatcher
app->view_dispatcher = view_dispatcher_alloc();
@@ -256,8 +256,8 @@ static void uart_echo_app_free(UartEchoApp* app) {
view_dispatcher_free(app->view_dispatcher);
// Close gui record
furi_record_close("gui");
furi_record_close("notification");
furi_record_close(RECORD_GUI);
furi_record_close(RECORD_NOTIFICATION);
app->gui = NULL;
vStreamBufferDelete(app->rx_stream);

View File

@@ -51,7 +51,7 @@ int32_t usb_mouse_app(void* p) {
view_port_input_callback_set(view_port, usb_mouse_input_callback, event_queue);
// Open GUI and register view_port
Gui* gui = furi_record_open("gui");
Gui* gui = furi_record_open(RECORD_GUI);
gui_add_view_port(gui, view_port, GuiLayerFullscreen);
UsbMouseEvent event;

View File

@@ -59,7 +59,7 @@ UsbTestApp* usb_test_app_alloc() {
UsbTestApp* app = malloc(sizeof(UsbTestApp));
// Gui
app->gui = furi_record_open("gui");
app->gui = furi_record_open(RECORD_GUI);
// View dispatcher
app->view_dispatcher = view_dispatcher_alloc();
@@ -106,7 +106,7 @@ void usb_test_app_free(UsbTestApp* app) {
view_dispatcher_free(app->view_dispatcher);
// Close gui record
furi_record_close("gui");
furi_record_close(RECORD_GUI);
app->gui = NULL;
// Free rest

View File

@@ -32,10 +32,10 @@ int32_t vibro_test_app(void* p) {
view_port_input_callback_set(view_port, vibro_test_input_callback, event_queue);
// Register view port in GUI
Gui* gui = furi_record_open("gui");
Gui* gui = furi_record_open(RECORD_GUI);
gui_add_view_port(gui, view_port, GuiLayerFullscreen);
NotificationApp* notification = furi_record_open("notification");
NotificationApp* notification = furi_record_open(RECORD_NOTIFICATION);
InputEvent event;
@@ -60,8 +60,8 @@ int32_t vibro_test_app(void* p) {
view_port_free(view_port);
furi_message_queue_free(event_queue);
furi_record_close("notification");
furi_record_close("gui");
furi_record_close(RECORD_NOTIFICATION);
furi_record_close(RECORD_GUI);
return 0;
}