[FL-1217] Menu refactoring (#726)
* menu: remove dead code * loader: change views from modules instead of menu service * dolphin: start main menu with loader API * applications: don't start menu service * loader: add debug tools menu * gui modules: introduce menu model * loader: remove calls to menu service API * gui modules: implement menu module * loader: add menu view * gui menu: add animation * applications: remove menu service * gui modules: rename icon_menu -> menu * loader: clean up code * menu module: add documentation, format code * menu: remove unused parameter * desktop: use loader to launch primary menu * Applications: cleaner makefile app declaration. Loader: application autostart * Gui: cleanup menu and submenu API. Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
@@ -1,278 +1,248 @@
|
||||
APP_DIR = $(PROJECT_ROOT)/applications
|
||||
LIB_DIR = $(PROJECT_ROOT)/lib
|
||||
LIB_DIR = $(PROJECT_ROOT)/lib
|
||||
|
||||
CFLAGS += -I$(APP_DIR)
|
||||
C_SOURCES += $(shell find $(APP_DIR) -name *.c)
|
||||
CPP_SOURCES += $(shell find $(APP_DIR) -name *.cpp)
|
||||
C_SOURCES += $(shell find $(APP_DIR) -name *.c)
|
||||
CPP_SOURCES += $(shell find $(APP_DIR) -name *.cpp)
|
||||
|
||||
|
||||
# Use SRV_* for autostart app
|
||||
# Use APP_* for add app to build
|
||||
|
||||
APP_RELEASE ?= 1
|
||||
ifeq ($(APP_RELEASE), 1)
|
||||
# Services
|
||||
SRV_BT = 1
|
||||
SRV_CLI = 1
|
||||
SRV_DIALOGS = 1
|
||||
SRV_DOLPHIN = 1
|
||||
SRV_GUI = 1
|
||||
SRV_INPUT = 1
|
||||
SRV_MENU = 1
|
||||
SRV_BT = 1
|
||||
SRV_CLI = 1
|
||||
SRV_DIALOGS = 1
|
||||
SRV_DOLPHIN = 1
|
||||
SRV_GUI = 1
|
||||
SRV_INPUT = 1
|
||||
SRV_LOADER = 1
|
||||
SRV_NOTIFICATION = 1
|
||||
SRV_POWER = 1
|
||||
SRV_POWER = 1
|
||||
SRV_POWER_OBSERVER = 1
|
||||
SRV_STORAGE = 1
|
||||
SRV_STORAGE = 1
|
||||
|
||||
# Apps
|
||||
SRV_DESKTOP = 1
|
||||
APP_ARCHIVE = 1
|
||||
SRV_DESKTOP = 1
|
||||
APP_ARCHIVE = 1
|
||||
APP_GPIO_TEST = 1
|
||||
APP_IBUTTON = 1
|
||||
APP_IRDA = 1
|
||||
APP_LF_RFID = 1
|
||||
APP_NFC = 1
|
||||
APP_SUBGHZ = 1
|
||||
APP_ABOUT = 1
|
||||
APP_IBUTTON = 1
|
||||
APP_IRDA = 1
|
||||
APP_LF_RFID = 1
|
||||
APP_NFC = 1
|
||||
APP_SUBGHZ = 1
|
||||
APP_ABOUT = 1
|
||||
|
||||
# Plugins
|
||||
APP_MUSIC_PLAYER = 1
|
||||
|
||||
# Debug
|
||||
APP_ACCESSOR = 1
|
||||
APP_BLINK = 1
|
||||
APP_BLINK = 1
|
||||
APP_IRDA_MONITOR = 1
|
||||
APP_KEYPAD_TEST = 1
|
||||
APP_SD_TEST = 1
|
||||
APP_SD_TEST = 1
|
||||
APP_UNIT_TESTS = 0
|
||||
APP_VIBRO_DEMO = 1
|
||||
endif
|
||||
|
||||
|
||||
SRV_BT ?= 0
|
||||
ifeq ($(SRV_BT), 1)
|
||||
SRV_CLI = 1
|
||||
CFLAGS += -DSRV_BT
|
||||
endif
|
||||
# Applications
|
||||
# that will be shown in menu
|
||||
# Prefix with APP_*
|
||||
|
||||
SRV_DOLPHIN ?= 0
|
||||
ifeq ($(SRV_DOLPHIN), 1)
|
||||
SRV_MENU = 1
|
||||
CFLAGS += -DSRV_DOLPHIN
|
||||
endif
|
||||
|
||||
SRV_POWER ?= 0
|
||||
ifeq ($(SRV_POWER), 1)
|
||||
SRV_GUI = 1
|
||||
SRV_CLI = 1
|
||||
CFLAGS += -DSRV_POWER
|
||||
endif
|
||||
|
||||
SRV_POWER_OBSERVER ?= 0
|
||||
ifeq ($(SRV_POWER_OBSERVER), 1)
|
||||
SRV_POWER = 1
|
||||
CFLAGS += -DSRV_POWER_OBSERVER
|
||||
endif
|
||||
|
||||
SRV_MENU ?= 0
|
||||
ifeq ($(SRV_MENU), 1)
|
||||
CFLAGS += -DSRV_MENU
|
||||
APP_MENU = 1
|
||||
endif
|
||||
APP_MENU ?= 0
|
||||
ifeq ($(APP_MENU), 1)
|
||||
SRV_INPUT = 1
|
||||
SRV_GUI = 1
|
||||
CFLAGS += -DAPP_MENU
|
||||
endif
|
||||
|
||||
APP_IRDA_MONITOR ?= 0
|
||||
ifeq ($(APP_IRDA_MONITOR), 1)
|
||||
CFLAGS += -DAPP_IRDA_MONITOR
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
|
||||
APP_UNIT_TESTS ?= 0
|
||||
ifeq ($(APP_UNIT_TESTS), 1)
|
||||
CFLAGS += -DAPP_UNIT_TESTS
|
||||
endif
|
||||
|
||||
SRV_DESKTOP ?= 0
|
||||
ifeq ($(SRV_DESKTOP), 1)
|
||||
CFLAGS += -DSRV_DESKTOP
|
||||
SRV_DESKTOP = 1
|
||||
endif
|
||||
|
||||
APP_ARCHIVE ?= 0
|
||||
ifeq ($(APP_NFC), 1)
|
||||
ifeq ($(APP_ARCHIVE), 1)
|
||||
CFLAGS += -DAPP_ARCHIVE
|
||||
APP_ARCHIVE = 1
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
SRV_BLINK ?= 0
|
||||
ifeq ($(SRV_BLINK), 1)
|
||||
CFLAGS += -DSRV_BLINK
|
||||
APP_BLINK = 1
|
||||
endif
|
||||
|
||||
APP_BLINK ?= 0
|
||||
ifeq ($(APP_BLINK), 1)
|
||||
CFLAGS += -DAPP_BLINK
|
||||
SRV_INPUT = 1
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
SRV_UART_WRITE ?= 0
|
||||
ifeq ($(SRV_UART_WRITE), 1)
|
||||
CFLAGS += -DSRV_UART_WRITE
|
||||
APP_UART_WRITE = 1
|
||||
endif
|
||||
APP_UART_WRITE ?= 0
|
||||
ifeq ($(APP_UART_WRITE), 1)
|
||||
CFLAGS += -DAPP_UART_WRITE
|
||||
endif
|
||||
|
||||
SRV_IPC ?= 0
|
||||
ifeq ($(SRV_IPC), 1)
|
||||
CFLAGS += -DSRV_IPC
|
||||
APP_IPC = 1
|
||||
endif
|
||||
APP_IPC ?= 0
|
||||
ifeq ($(APP_IPC), 1)
|
||||
CFLAGS += -DAPP_IPC
|
||||
endif
|
||||
|
||||
APP_SUBGHZ ?= 0
|
||||
ifeq ($(APP_SUBGHZ), 1)
|
||||
CFLAGS += -DAPP_SUBGHZ
|
||||
SRV_INPUT = 1
|
||||
SRV_GUI = 1
|
||||
SRV_CLI = 1
|
||||
SRV_GUI = 1
|
||||
SRV_CLI = 1
|
||||
endif
|
||||
|
||||
|
||||
APP_ABOUT ?= 0
|
||||
ifeq ($(APP_ABOUT), 1)
|
||||
CFLAGS += -DAPP_ABOUT
|
||||
SRV_INPUT = 1
|
||||
SRV_GUI = 1
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
SRV_LF_RFID ?= 0
|
||||
ifeq ($(SRV_LF_RFID), 1)
|
||||
CFLAGS += -DSRV_LF_RFID
|
||||
APP_LF_RFID = 1
|
||||
endif
|
||||
|
||||
APP_LF_RFID ?= 0
|
||||
ifeq ($(APP_LF_RFID), 1)
|
||||
CFLAGS += -DAPP_LF_RFID
|
||||
SRV_INPUT = 1
|
||||
SRV_GUI = 1
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
|
||||
APP_NFC ?= 0
|
||||
ifeq ($(APP_NFC), 1)
|
||||
CFLAGS += -DAPP_NFC
|
||||
SRV_MENU = 1
|
||||
SRV_INPUT = 1
|
||||
SRV_GUI = 1
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
SRV_IRDA ?= 0
|
||||
ifeq ($(SRV_IRDA), 1)
|
||||
CFLAGS += -DSRV_IRDA
|
||||
APP_IRDA = 1
|
||||
endif
|
||||
|
||||
APP_IRDA ?= 0
|
||||
ifeq ($(APP_IRDA), 1)
|
||||
CFLAGS += -DAPP_IRDA
|
||||
SRV_INPUT = 1
|
||||
SRV_GUI = 1
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
|
||||
APP_VIBRO_DEMO ?= 0
|
||||
ifeq ($(APP_VIBRO_DEMO), 1)
|
||||
CFLAGS += -DAPP_VIBRO_DEMO
|
||||
SRV_INPUT = 1
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
SRV_KEYPAD_TEST ?= 0
|
||||
ifeq ($(SRV_KEYPAD_TEST), 1)
|
||||
CFLAGS += -DSRV_KEYPAD_TEST
|
||||
APP_KEYPAD_TEST = 1
|
||||
endif
|
||||
|
||||
APP_KEYPAD_TEST ?= 0
|
||||
ifeq ($(APP_KEYPAD_TEST), 1)
|
||||
CFLAGS += -DAPP_KEYPAD_TEST
|
||||
APP_KEYPAD_TEST = 1
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
SRV_ACCESSOR ?= 0
|
||||
ifeq ($(SRV_ACCESSOR), 1)
|
||||
CFLAGS += -DSRV_ACCESSOR
|
||||
APP_ACCESSOR = 1
|
||||
endif
|
||||
|
||||
APP_ACCESSOR ?= 0
|
||||
ifeq ($(APP_ACCESSOR), 1)
|
||||
CFLAGS += -DAPP_ACCESSOR
|
||||
APP_ACCESSOR = 1
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
SRV_GPIO_TEST ?= 0
|
||||
ifeq ($(SRV_GPIO_TEST), 1)
|
||||
CFLAGS += -DSRV_GPIO_TEST
|
||||
APP_GPIO_TEST = 1
|
||||
endif
|
||||
|
||||
APP_GPIO_TEST ?= 0
|
||||
ifeq ($(APP_GPIO_TEST), 1)
|
||||
CFLAGS += -DAPP_GPIO_TEST
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
SRV_MUSIC_PLAYER ?= 0
|
||||
ifeq ($(SRV_MUSIC_PLAYER), 1)
|
||||
CFLAGS += -DSRV_MUSIC_PLAYER
|
||||
APP_MUSIC_PLAYER = 1
|
||||
endif
|
||||
|
||||
APP_MUSIC_PLAYER ?= 0
|
||||
ifeq ($(APP_MUSIC_PLAYER), 1)
|
||||
CFLAGS += -DAPP_MUSIC_PLAYER
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
SRV_IBUTTON ?= 0
|
||||
ifeq ($(SRV_IBUTTON), 1)
|
||||
CFLAGS += -DSRV_IBUTTON
|
||||
APP_IBUTTON = 1
|
||||
endif
|
||||
|
||||
APP_IBUTTON ?= 0
|
||||
ifeq ($(APP_IBUTTON), 1)
|
||||
CFLAGS += -DAPP_IBUTTON
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
|
||||
# Services
|
||||
# that will start with OS
|
||||
# Prefix with SRV_*
|
||||
|
||||
|
||||
SRV_BT ?= 0
|
||||
ifeq ($(SRV_BT), 1)
|
||||
CFLAGS += -DSRV_BT
|
||||
SRV_CLI = 1
|
||||
endif
|
||||
|
||||
|
||||
SRV_DESKTOP ?= 0
|
||||
ifeq ($(SRV_DESKTOP), 1)
|
||||
CFLAGS += -DSRV_DESKTOP
|
||||
SRV_LOADER = 1
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
|
||||
SRV_DOLPHIN ?= 0
|
||||
ifeq ($(SRV_DOLPHIN), 1)
|
||||
CFLAGS += -DSRV_DOLPHIN
|
||||
endif
|
||||
|
||||
|
||||
SRV_POWER_OBSERVER ?= 0
|
||||
ifeq ($(SRV_POWER_OBSERVER), 1)
|
||||
CFLAGS += -DSRV_POWER_OBSERVER
|
||||
SRV_POWER = 1
|
||||
endif
|
||||
|
||||
|
||||
SRV_POWER ?= 0
|
||||
ifeq ($(SRV_POWER), 1)
|
||||
CFLAGS += -DSRV_POWER
|
||||
SRV_GUI = 1
|
||||
SRV_CLI = 1
|
||||
endif
|
||||
|
||||
|
||||
SRV_LOADER ?= 0
|
||||
ifeq ($(SRV_LOADER), 1)
|
||||
CFLAGS += -DSRV_LOADER
|
||||
SRV_GUI = 1
|
||||
# Loader autostart hook
|
||||
LOADER_AUTOSTART ?= ""
|
||||
ifneq ($(strip $(LOADER_AUTOSTART)),)
|
||||
CFLAGS += -DLOADER_AUTOSTART="\"$(LOADER_AUTOSTART)\""
|
||||
endif
|
||||
# Loader autostart hook END
|
||||
endif
|
||||
|
||||
|
||||
SRV_DIALOGS ?= 0
|
||||
ifeq ($(SRV_DIALOGS), 1)
|
||||
CFLAGS += -DSRV_DIALOGS
|
||||
SRV_GUI = 1
|
||||
endif
|
||||
|
||||
#
|
||||
# Essential services
|
||||
#
|
||||
|
||||
SRV_GUI ?= 0
|
||||
ifeq ($(SRV_GUI), 1)
|
||||
CFLAGS += -DSRV_GUI
|
||||
SRV_INPUT = 1
|
||||
endif
|
||||
|
||||
|
||||
SRV_INPUT ?= 0
|
||||
ifeq ($(SRV_INPUT), 1)
|
||||
CFLAGS += -DSRV_INPUT
|
||||
endif
|
||||
|
||||
|
||||
SRV_CLI ?= 0
|
||||
ifeq ($(SRV_CLI), 1)
|
||||
SRV_GUI = 1
|
||||
CFLAGS += -DSRV_CLI
|
||||
endif
|
||||
|
||||
|
||||
SRV_NOTIFICATION ?= 0
|
||||
ifeq ($(SRV_NOTIFICATION), 1)
|
||||
CFLAGS += -DSRV_NOTIFICATION
|
||||
endif
|
||||
|
||||
|
||||
SRV_STORAGE ?= 0
|
||||
ifeq ($(SRV_STORAGE), 1)
|
||||
CFLAGS += -DSRV_STORAGE
|
||||
endif
|
||||
|
||||
SRV_DIALOGS ?= 0
|
||||
ifeq ($(SRV_DIALOGS), 1)
|
||||
CFLAGS += -DSRV_DIALOGS
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user