mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-12 20:49:49 +04:00
loader: move BeforeLoad event even earlier
This commit is contained in:
@@ -418,9 +418,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);
|
||||||
@@ -508,9 +505,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);
|
||||||
@@ -566,6 +560,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);
|
||||||
}
|
}
|
||||||
@@ -615,6 +610,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