mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-06-07 19:01:54 -07:00
Remove FAPP and fix main menu
This commit is contained in:
@@ -1,14 +1,12 @@
|
||||
App(
|
||||
appid="xtreme_app",
|
||||
name="Xtreme",
|
||||
apptype=FlipperAppType.FAPP,
|
||||
apptype=FlipperAppType.MENUEXTERNAL,
|
||||
entry_point="xtreme_app",
|
||||
cdefines=["APP_XTREME"],
|
||||
requires=[
|
||||
"gui",
|
||||
"dolphin",
|
||||
],
|
||||
stack_size=2 * 1024,
|
||||
icon="A_Xtreme_14",
|
||||
order=90,
|
||||
fap_libs=["assets"],
|
||||
# fap_icon="",
|
||||
# fap_category="",
|
||||
)
|
||||
|
||||
@@ -483,15 +483,8 @@ static LoaderStatus loader_do_start_by_name(
|
||||
{
|
||||
const FlipperInternalApplication* app = loader_find_application_by_name(name);
|
||||
if(app) {
|
||||
if(app->app == NULL) {
|
||||
// FAPP support
|
||||
status = loader_start_external_app(
|
||||
loader, furi_record_open(RECORD_STORAGE), app->appid, args, error_message);
|
||||
furi_record_close(RECORD_STORAGE);
|
||||
} else {
|
||||
loader_start_internal_app(loader, app, args);
|
||||
status = loader_make_success_status(error_message);
|
||||
}
|
||||
loader_start_internal_app(loader, app, args);
|
||||
status = loader_make_success_status(error_message);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,12 +62,6 @@ static void loader_menu_apps_callback(void* context, uint32_t index) {
|
||||
loader_menu_start(name_or_path);
|
||||
}
|
||||
|
||||
static void loader_menu_external_apps_callback(void* context, uint32_t index) {
|
||||
UNUSED(context);
|
||||
const char* path = FLIPPER_EXTERNAL_APPS[index].path;
|
||||
loader_menu_start(path);
|
||||
}
|
||||
|
||||
static void loader_menu_applications_callback(void* context, uint32_t index) {
|
||||
UNUSED(index);
|
||||
UNUSED(context);
|
||||
@@ -98,13 +92,29 @@ static uint32_t loader_menu_exit(void* context) {
|
||||
}
|
||||
|
||||
static void loader_menu_build_menu(LoaderMenuApp* app, LoaderMenu* menu) {
|
||||
size_t i;
|
||||
for(i = 0; i < FLIPPER_APPS_COUNT; i++) {
|
||||
menu_add_item(
|
||||
app->primary_menu,
|
||||
LOADER_APPLICATIONS_NAME,
|
||||
&A_Plugins_14,
|
||||
0,
|
||||
loader_menu_applications_callback,
|
||||
(void*)menu);
|
||||
for(size_t i = 0; i < FLIPPER_EXTERNAL_APPS_COUNT; i++) {
|
||||
menu_add_item(
|
||||
app->primary_menu,
|
||||
FLIPPER_EXTERNAL_APPS[i].name,
|
||||
FLIPPER_EXTERNAL_APPS[i].icon,
|
||||
(uint32_t)FLIPPER_EXTERNAL_APPS[i].path,
|
||||
loader_menu_apps_callback,
|
||||
(void*)menu);
|
||||
}
|
||||
|
||||
for(size_t i = 0; i < FLIPPER_APPS_COUNT; i++) {
|
||||
menu_add_item(
|
||||
app->primary_menu,
|
||||
FLIPPER_APPS[i].name,
|
||||
FLIPPER_APPS[i].icon,
|
||||
i,
|
||||
(uint32_t)FLIPPER_APPS[i].name,
|
||||
loader_menu_apps_callback,
|
||||
(void*)menu);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ class FlipperAppType(Enum):
|
||||
SERVICE = "Service"
|
||||
SYSTEM = "System"
|
||||
APP = "App"
|
||||
FAPP = "Fapp"
|
||||
DEBUG = "Debug"
|
||||
ARCHIVE = "Archive"
|
||||
SETTINGS = "Settings"
|
||||
@@ -382,14 +381,6 @@ class ApplicationsCGenerator:
|
||||
def get_app_descr(self, app: FlipperApplication):
|
||||
if app.apptype == FlipperAppType.STARTUP:
|
||||
return app.entry_point
|
||||
if app.apptype == FlipperAppType.FAPP:
|
||||
return f"""
|
||||
{{.app = NULL,
|
||||
.name = "{app.name}",
|
||||
.appid = "/ext/apps/assets/{app.appid}.fap",
|
||||
.stack_size = 0,
|
||||
.icon = {f"&{app.icon}" if app.icon else "NULL"},
|
||||
.flags = {'|'.join(f"FlipperInternalApplicationFlag{flag}" for flag in app.flags)}}}"""
|
||||
return f"""
|
||||
{{.app = {app.entry_point},
|
||||
.name = "{app.name}",
|
||||
@@ -421,11 +412,11 @@ class ApplicationsCGenerator:
|
||||
)
|
||||
entry_type, entry_block = self.APP_TYPE_MAP[apptype]
|
||||
contents.append(f"const {entry_type} {entry_block}[] = {{")
|
||||
apps = self.buildset.get_apps_of_type(apptype)
|
||||
if apptype is FlipperAppType.APP:
|
||||
apps += self.buildset.get_apps_of_type(FlipperAppType.FAPP)
|
||||
apps.sort(key=lambda app: app.order)
|
||||
contents.append(",\n".join(map(self.get_app_descr, apps)))
|
||||
contents.append(
|
||||
",\n".join(
|
||||
map(self.get_app_descr, self.buildset.get_apps_of_type(apptype))
|
||||
)
|
||||
)
|
||||
contents.append("};")
|
||||
contents.append(
|
||||
f"const size_t {entry_block}_COUNT = COUNT_OF({entry_block});"
|
||||
|
||||
@@ -179,7 +179,7 @@ class AppBuilder:
|
||||
deployable = False
|
||||
app_artifacts.dist_entries.append((deployable, fal_path))
|
||||
else:
|
||||
fap_path = f"apps/{'assets' if self.app.apptype == FlipperAppType.FAPP else self.app.fap_category}/{app_artifacts.compact.name}"
|
||||
fap_path = f"apps/{self.app.fap_category}/{app_artifacts.compact.name}"
|
||||
app_artifacts.dist_entries.append(
|
||||
(self.app.is_default_deployable, fap_path)
|
||||
)
|
||||
|
||||
@@ -65,7 +65,6 @@ class FlipperExtAppBuildArtifacts:
|
||||
|
||||
|
||||
apps_to_build_as_faps = [
|
||||
FlipperAppType.FAPP,
|
||||
FlipperAppType.PLUGIN,
|
||||
FlipperAppType.EXTERNAL,
|
||||
FlipperAppType.MENUEXTERNAL,
|
||||
|
||||
Reference in New Issue
Block a user