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
+20 -1
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,