Remove FAPP and fix main menu

This commit is contained in:
Willy-JL
2023-07-13 20:42:01 +02:00
parent 9d1987e661
commit ef907152b4
6 changed files with 31 additions and 40 deletions
+4 -6
View File
@@ -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="",
)
+2 -9
View File
@@ -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;
}
}
+19 -9
View File
@@ -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);
}
+5 -14
View File
@@ -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});"
+1 -1
View File
@@ -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)
)
-1
View File
@@ -65,7 +65,6 @@ class FlipperExtAppBuildArtifacts:
apps_to_build_as_faps = [
FlipperAppType.FAPP,
FlipperAppType.PLUGIN,
FlipperAppType.EXTERNAL,
FlipperAppType.MENUEXTERNAL,