1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-12 12:42:30 +04:00

Merge remote-tracking branch 'OFW/porta/cli-event-ordering' into dev

This commit is contained in:
MX
2025-04-11 02:59:00 +03:00

View File

@@ -420,9 +420,6 @@ static void loader_start_internal_app(
const FlipperInternalApplication* app, const FlipperInternalApplication* app,
const char* args) { const char* args) {
FURI_LOG_I(TAG, "Starting %s", app->name); FURI_LOG_I(TAG, "Starting %s", app->name);
LoaderEvent event;
event.type = LoaderEventTypeApplicationBeforeLoad;
furi_pubsub_publish(loader->pubsub, &event);
// store args // store args
furi_assert(loader->app.args == NULL); furi_assert(loader->app.args == NULL);
@@ -511,10 +508,6 @@ static LoaderMessageLoaderStatusResult loader_start_external_app(
result.value = loader_make_success_status(error_message); result.value = loader_make_success_status(error_message);
result.error = LoaderStatusErrorUnknown; result.error = LoaderStatusErrorUnknown;
LoaderEvent event;
event.type = LoaderEventTypeApplicationBeforeLoad;
furi_pubsub_publish(loader->pubsub, &event);
do { do {
loader->app.fap = flipper_application_alloc(storage, firmware_api_interface); loader->app.fap = flipper_application_alloc(storage, firmware_api_interface);
size_t start = furi_get_tick(); size_t start = furi_get_tick();
@@ -611,6 +604,7 @@ static LoaderMessageLoaderStatusResult loader_start_external_app(
if(result.value != LoaderStatusOk) { if(result.value != LoaderStatusOk) {
flipper_application_free(loader->app.fap); flipper_application_free(loader->app.fap);
loader->app.fap = NULL; loader->app.fap = NULL;
LoaderEvent event;
event.type = LoaderEventTypeApplicationLoadFailed; event.type = LoaderEventTypeApplicationLoadFailed;
furi_pubsub_publish(loader->pubsub, &event); furi_pubsub_publish(loader->pubsub, &event);
} }
@@ -660,6 +654,10 @@ static LoaderMessageLoaderStatusResult loader_do_start_by_name(
status.value = loader_make_success_status(error_message); status.value = loader_make_success_status(error_message);
status.error = LoaderStatusErrorUnknown; status.error = LoaderStatusErrorUnknown;
LoaderEvent event;
event.type = LoaderEventTypeApplicationBeforeLoad;
furi_pubsub_publish(loader->pubsub, &event);
do { do {
// check lock // check lock
if(loader_do_is_locked(loader)) { if(loader_do_is_locked(loader)) {