Clock in menu from fap

This commit is contained in:
RogueMaster
2022-09-20 17:43:59 -04:00
parent f4668a20a2
commit daee9db366
2 changed files with 23 additions and 18 deletions

View File

@@ -86,11 +86,6 @@ bool desktop_scene_main_on_event(void* context, SceneManagerEvent event) {
consumed = true;
break;
// case DesktopMainEventOpenGames:
// loader_show_game_menu();
// consumed = true;
// break;
case DesktopMainEventOpenLockMenu:
scene_manager_next_scene(desktop->scene_manager, DesktopSceneLockMenu);
consumed = true;
@@ -117,12 +112,8 @@ bool desktop_scene_main_on_event(void* context, SceneManagerEvent event) {
break;
}
case DesktopMainEventOpenClock: {
// loader_start(desktop->loader, FLIPPER_APPS[0].name, NULL);
LoaderStatus status = loader_start(
desktop->loader, "Applications", EXT_PATH("/apps/Main/Clock.fap"));
if(status != LoaderStatusOk) {
FURI_LOG_E(TAG, "loader_start failed: %d", status);
}
// it has its own error
LoaderStatus status = loader_start(desktop->loader, "Applications", EXT_PATH("/apps/Main/Clock.fap"));
consumed = true;
break;
}
@@ -233,12 +224,7 @@ bool desktop_scene_main_on_event(void* context, SceneManagerEvent event) {
break;
}
case DesktopMainEventOpenSubRemote: {
loader_start(desktop->loader, FLIPPER_APPS[1].name, NULL);
// LoaderStatus status = loader_start(
// desktop->loader, "Applications", EXT_PATH("/apps/Main/SubGHz_Remote.fap"));
// if(status != LoaderStatusOk) {
// FURI_LOG_E(TAG, "loader_start failed: %d", status);
// }
loader_start(desktop->loader, FLIPPER_APPS[2].name, NULL);
consumed = true;
break;
}

View File

@@ -1,7 +1,9 @@
#include "applications.h"
#include <furi.h>
#include <furi_hal.h>
#include "loader/loader.h"
#include "loader_i.h"
#include "applications/services/desktop/desktop_i.h"
#define TAG "LoaderSrv"
@@ -55,6 +57,16 @@ static void loader_submenu_callback(void* context, uint32_t index) {
view_dispatcher_switch_to_view(loader_instance->view_dispatcher, view_id);
}
static void loader_clock_callback(void* context, uint32_t index) {
UNUSED(index);
Desktop* desktop = desktop_alloc();
LoaderStatus status = loader_start(
desktop->loader, "Applications", EXT_PATH("/apps/Main/Clock.fap"));
if(status != LoaderStatusOk) {
FURI_LOG_E(TAG, "loader_start failed: %d", status);
}
}
static void loader_cli_print_usage() {
printf("Usage:\r\n");
printf("loader <cmd> <args>\r\n");
@@ -372,7 +384,14 @@ static void loader_free(Loader* instance) {
static void loader_build_menu() {
FURI_LOG_I(TAG, "Building main menu");
size_t i;
for(i = 0; i < FLIPPER_APPS_COUNT; i++) {
menu_add_item(
loader_instance->primary_menu,
"Clock",
&A_Clock_14,
0,
loader_clock_callback,
(void*)LoaderMenuViewPlugins);
for(i = 1; i < FLIPPER_APPS_COUNT; i++) {
menu_add_item(
loader_instance->primary_menu,
FLIPPER_APPS[i].name,