Added Password Viewer (TEMP)

This commit is contained in:
Maddox Werts 2024-09-05 16:29:18 -04:00
parent 09b676fc21
commit 9b42cc862b

View file

@ -18,7 +18,8 @@ typedef enum { FP_View_Submenu, FP_View_Popup } FP_View;
/* All events */
typedef enum {
FP_Event_SwitchTo_About
FP_Event_SwitchTo_About,
FP_Event_SwitchTo_Overview
} FP_Event;
/* Scene events */
@ -39,11 +40,22 @@ void FP_Scene_Callback_MainMenu(void* context, uint32_t index) {
case FP_Scene_MainMenu_Event_About:
scene_manager_handle_custom_event(app->scene_manager, FP_Event_SwitchTo_About);
break;
case FP_Scene_MainMenu_Event_View:
scene_manager_handle_custom_event(app->scene_manager, FP_Event_SwitchTo_Overview);
break;
default:
FURI_LOG_I(TAG, "S_MAINMENU: Unimplemented!");
break;
}
}
void FP_Scene_Callback_Overview(void* context, uint32_t index) {
// Setting context
FP_App* app = context;
// Sending it to the scene manager
scene_manager_handle_custom_event(app->scene_manager, index);
}
void FP_Scene_Enter_MainMenu(void* context) {
// Setting context
FP_App* app = context;
@ -84,6 +96,28 @@ void FP_Scene_Enter_MainMenu(void* context) {
// Switching to current view
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Submenu);
}
void FP_Scene_Enter_Overview(void* context) {
// Setting context
FP_App* app = context;
// Reset menu
submenu_reset(app->submenu);
// Adding menu items
for (int i = 0; i < 4; i++) {
submenu_add_item(
app->submenu,
"PASSWORD",
0,
FP_Scene_Callback_Overview,
app
);
}
// Sending view to Flipper
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Submenu);
}
void FP_Scene_Exit_MainMenu(void* context) {
// Setting context
FP_App* app = context;
@ -91,6 +125,14 @@ void FP_Scene_Exit_MainMenu(void* context) {
// Reset menu
submenu_reset(app->submenu);
}
void FP_Scene_Exit_Overview(void* context) {
// Setting context
FP_App* app = context;
// Reset menu
submenu_reset(app->submenu);
}
bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
// Setting context
FP_App* app = context;
@ -106,6 +148,9 @@ bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
case FP_Event_SwitchTo_About:
scene_manager_next_scene(app->scene_manager, FP_Scene_About);
break;
case FP_Event_SwitchTo_Overview:
scene_manager_next_scene(app->scene_manager, FP_Scene_Overview);
break;
default:
break;
}
@ -116,16 +161,41 @@ bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
// Return result
return consumed;
}
bool FP_Scene_Event_Overview(void* context, SceneManagerEvent event) {
// Setting context
FP_App* app = context;
bool consumed = false;
// Switching based on event
if (event.type == SceneManagerEventTypeCustom) {
// We consumed it
consumed = true;
// DEBUG
FURI_LOG_D(TAG, "Opening password %li", event.event);
// Switch to password view screen
scene_manager_next_scene(app->scene_manager, FP_Scene_View);
} else {
consumed = false;
}
// Return result
return consumed;
}
/* Handlers */
void (*const FP_Scene_Enter_Handlers[])(void*) = {
FP_Scene_Enter_MainMenu
FP_Scene_Enter_MainMenu,
FP_Scene_Enter_Overview
};
bool (*const FP_Scene_Event_Handlers[])(void*, SceneManagerEvent) = {
FP_Scene_Event_MainMenu
FP_Scene_Event_MainMenu,
FP_Scene_Event_Overview
};
void (*const FP_Scene_Exit_Handlers[])(void*) = {
FP_Scene_Exit_MainMenu
FP_Scene_Exit_MainMenu,
FP_Scene_Exit_Overview
};
/* Event Handlers */