Applications loader: do not use view dispatcher queue #1788
This commit is contained in:
parent
f201062819
commit
5bb7cabea6
@ -15,6 +15,9 @@ typedef struct {
|
|||||||
DialogsApp* dialogs;
|
DialogsApp* dialogs;
|
||||||
Gui* gui;
|
Gui* gui;
|
||||||
string_t fap_path;
|
string_t fap_path;
|
||||||
|
|
||||||
|
ViewDispatcher* view_dispatcher;
|
||||||
|
Loading* loading;
|
||||||
} FapLoader;
|
} FapLoader;
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
@ -144,12 +147,12 @@ int32_t fap_loader_app(void* p) {
|
|||||||
loader->dialogs = furi_record_open(RECORD_DIALOGS);
|
loader->dialogs = furi_record_open(RECORD_DIALOGS);
|
||||||
loader->gui = furi_record_open(RECORD_GUI);
|
loader->gui = furi_record_open(RECORD_GUI);
|
||||||
|
|
||||||
ViewDispatcher* view_dispatcher = view_dispatcher_alloc();
|
loader->view_dispatcher = view_dispatcher_alloc();
|
||||||
Loading* loading = loading_alloc();
|
loader->loading = loading_alloc();
|
||||||
|
|
||||||
view_dispatcher_enable_queue(view_dispatcher);
|
view_dispatcher_attach_to_gui(
|
||||||
view_dispatcher_attach_to_gui(view_dispatcher, loader->gui, ViewDispatcherTypeFullscreen);
|
loader->view_dispatcher, loader->gui, ViewDispatcherTypeFullscreen);
|
||||||
view_dispatcher_add_view(view_dispatcher, 0, loading_get_view(loading));
|
view_dispatcher_add_view(loader->view_dispatcher, 0, loading_get_view(loader->loading));
|
||||||
|
|
||||||
if(p) {
|
if(p) {
|
||||||
string_init_set(loader->fap_path, (const char*)p);
|
string_init_set(loader->fap_path, (const char*)p);
|
||||||
@ -158,14 +161,14 @@ int32_t fap_loader_app(void* p) {
|
|||||||
string_init_set(loader->fap_path, EXT_PATH("apps"));
|
string_init_set(loader->fap_path, EXT_PATH("apps"));
|
||||||
|
|
||||||
while(fap_loader_select_app(loader)) {
|
while(fap_loader_select_app(loader)) {
|
||||||
view_dispatcher_switch_to_view(view_dispatcher, 0);
|
view_dispatcher_switch_to_view(loader->view_dispatcher, 0);
|
||||||
fap_loader_run_selected_app(loader);
|
fap_loader_run_selected_app(loader);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
view_dispatcher_remove_view(view_dispatcher, 0);
|
view_dispatcher_remove_view(loader->view_dispatcher, 0);
|
||||||
loading_free(loading);
|
loading_free(loader->loading);
|
||||||
view_dispatcher_free(view_dispatcher);
|
view_dispatcher_free(loader->view_dispatcher);
|
||||||
|
|
||||||
string_clear(loader->fap_path);
|
string_clear(loader->fap_path);
|
||||||
furi_record_close(RECORD_GUI);
|
furi_record_close(RECORD_GUI);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user