mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
117 lines
3.1 KiB
C
117 lines
3.1 KiB
C
#pragma once
|
|
|
|
#include <gui/gui.h>
|
|
#include <storage/storage.h>
|
|
#include <desktop/desktop.h>
|
|
#include <dialogs/dialogs.h>
|
|
#include <expansion/expansion.h>
|
|
#include <notification/notification_app.h>
|
|
#include <gui/scene_manager.h>
|
|
#include <gui/view_dispatcher.h>
|
|
#include <power/power_service/power.h>
|
|
|
|
#include <gui/modules/variable_item_list.h>
|
|
#include <gui/modules/submenu.h>
|
|
#include <gui/modules/text_input.h>
|
|
#include <gui/modules/byte_input.h>
|
|
#include <gui/modules/number_input.h>
|
|
#include <gui/modules/popup.h>
|
|
#include <gui/modules/dialog_ex.h>
|
|
|
|
#include <momentum/asset_packs.h>
|
|
#include <loader/loader_menu.h>
|
|
#include <lib/subghz/subghz_setting.h>
|
|
#include <rgb_backlight.h>
|
|
#include <momentum/namespoof.h>
|
|
#include <dolphin/dolphin.h>
|
|
#include <dolphin/dolphin_i.h>
|
|
#include <dolphin/helpers/dolphin_state.h>
|
|
#include <momentum/settings.h>
|
|
#include <desktop/views/desktop_view_slideshow.h>
|
|
|
|
#include <applications.h>
|
|
#include <assets_icons.h>
|
|
#include <flipper_application/flipper_application.h>
|
|
#include <furi.h>
|
|
#include <gui/view.h>
|
|
#include <lib/flipper_format/flipper_format.h>
|
|
#include <lib/toolbox/value_index.h>
|
|
#include <m-array.h>
|
|
#include <toolbox/stream/file_stream.h>
|
|
|
|
#include "scenes/momentum_app_scene.h"
|
|
|
|
ARRAY_DEF(CharList, char*)
|
|
|
|
#define DOLPHIN_MAX_XP (DOLPHIN_LEVELS[DOLPHIN_LEVEL_COUNT - 1] + 1)
|
|
|
|
typedef struct {
|
|
Gui* gui;
|
|
Storage* storage;
|
|
Desktop* desktop;
|
|
Dolphin* dolphin;
|
|
DialogsApp* dialogs;
|
|
Expansion* expansion;
|
|
NotificationApp* notification;
|
|
SceneManager* scene_manager;
|
|
ViewDispatcher* view_dispatcher;
|
|
|
|
VariableItemList* var_item_list;
|
|
Submenu* submenu;
|
|
TextInput* text_input;
|
|
ByteInput* byte_input;
|
|
NumberInput* number_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;
|
|
DesktopSettings desktop_settings;
|
|
bool subghz_use_defaults;
|
|
FrequencyList_t subghz_static_freqs;
|
|
uint8_t subghz_static_index;
|
|
FrequencyList_t subghz_hopper_freqs;
|
|
uint8_t subghz_hopper_index;
|
|
bool subghz_extend;
|
|
bool subghz_bypass;
|
|
RgbColor lcd_color;
|
|
RgbColor vgm_color;
|
|
char device_name[FURI_HAL_VERSION_ARRAY_NAME_LENGTH];
|
|
uint32_t dolphin_xp;
|
|
uint32_t dolphin_angry;
|
|
FuriString* version_tag;
|
|
|
|
bool save_mainmenu_apps;
|
|
bool save_desktop;
|
|
bool save_subghz_freqs;
|
|
bool save_subghz;
|
|
bool save_name;
|
|
bool save_xp;
|
|
bool save_angry;
|
|
bool save_dolphin;
|
|
bool save_backlight;
|
|
bool save_settings;
|
|
bool apply_pack;
|
|
bool show_slideshow;
|
|
bool require_reboot;
|
|
} MomentumApp;
|
|
|
|
typedef enum {
|
|
MomentumAppViewVarItemList,
|
|
MomentumAppViewSubmenu,
|
|
MomentumAppViewTextInput,
|
|
MomentumAppViewByteInput,
|
|
MomentumAppViewNumberInput,
|
|
MomentumAppViewPopup,
|
|
MomentumAppViewDialogEx,
|
|
} MomentumAppView;
|
|
|
|
bool momentum_app_apply(MomentumApp* app);
|
|
|
|
void momentum_app_push_mainmenu_app(MomentumApp* app, FuriString* exe);
|
|
void momentum_app_load_mainmenu_apps(MomentumApp* app);
|
|
void momentum_app_empty_mainmenu_apps(MomentumApp* app);
|