#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "scenes/momentum_app_scene.h" #include "dolphin/helpers/dolphin_state.h" #include "dolphin/dolphin.h" #include "dolphin/dolphin_i.h" #include #include #include #include #include #include #include #include #include #include ARRAY_DEF(CharList, char*) typedef struct { Gui* gui; DialogsApp* dialogs; Expansion* expansion; NotificationApp* notification; SceneManager* scene_manager; ViewDispatcher* view_dispatcher; VariableItemList* var_item_list; Submenu* submenu; TextInput* text_input; ByteInput* byte_input; Popup* popup; DialogEx* dialog_ex; CharList_t asset_pack_names; uint8_t asset_pack_index; CharList_t mainmenu_app_labels; CharList_t mainmenu_app_exes; uint8_t mainmenu_app_index; bool subghz_use_defaults; FrequencyList_t subghz_static_freqs; uint8_t subghz_static_index; FrequencyList_t subghz_hopper_freqs; uint8_t subghz_hopper_index; char subghz_freq_buffer[7]; bool subghz_extend; bool subghz_bypass; RgbColor lcd_color; Rgb565Color vgm_color; char device_name[FURI_HAL_VERSION_ARRAY_NAME_LENGTH]; int32_t dolphin_level; int32_t dolphin_angry; FuriString* version_tag; bool save_mainmenu_apps; bool save_subghz_freqs; bool save_subghz; bool save_name; bool save_level; bool save_angry; bool save_backlight; bool save_settings; bool apply_pack; bool show_slideshow; bool require_reboot; } MomentumApp; typedef enum { MomentumAppViewVarItemList, MomentumAppViewSubmenu, MomentumAppViewTextInput, MomentumAppViewByteInput, MomentumAppViewPopup, MomentumAppViewDialogEx, } MomentumAppView; bool momentum_app_apply(MomentumApp* app);