mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-12 20:49:49 +04:00
Merge remote-tracking branch 'OFW/porta/cli-event-ordering' into dev
This commit is contained in:
@@ -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)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user