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 */ /* All events */
typedef enum { typedef enum {
FP_Event_SwitchTo_About FP_Event_SwitchTo_About,
FP_Event_SwitchTo_Overview
} FP_Event; } FP_Event;
/* Scene events */ /* Scene events */
@ -39,11 +40,22 @@ void FP_Scene_Callback_MainMenu(void* context, uint32_t index) {
case FP_Scene_MainMenu_Event_About: case FP_Scene_MainMenu_Event_About:
scene_manager_handle_custom_event(app->scene_manager, FP_Event_SwitchTo_About); scene_manager_handle_custom_event(app->scene_manager, FP_Event_SwitchTo_About);
break; break;
case FP_Scene_MainMenu_Event_View:
scene_manager_handle_custom_event(app->scene_manager, FP_Event_SwitchTo_Overview);
break;
default: default:
FURI_LOG_I(TAG, "S_MAINMENU: Unimplemented!"); FURI_LOG_I(TAG, "S_MAINMENU: Unimplemented!");
break; 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) { void FP_Scene_Enter_MainMenu(void* context) {
// Setting context // Setting context
FP_App* app = context; FP_App* app = context;
@ -84,6 +96,28 @@ void FP_Scene_Enter_MainMenu(void* context) {
// Switching to current view // Switching to current view
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Submenu); 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) { void FP_Scene_Exit_MainMenu(void* context) {
// Setting context // Setting context
FP_App* app = context; FP_App* app = context;
@ -91,6 +125,14 @@ void FP_Scene_Exit_MainMenu(void* context) {
// Reset menu // Reset menu
submenu_reset(app->submenu); 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) { bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
// Setting context // Setting context
FP_App* app = context; FP_App* app = context;
@ -106,6 +148,9 @@ bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
case FP_Event_SwitchTo_About: case FP_Event_SwitchTo_About:
scene_manager_next_scene(app->scene_manager, FP_Scene_About); scene_manager_next_scene(app->scene_manager, FP_Scene_About);
break; break;
case FP_Event_SwitchTo_Overview:
scene_manager_next_scene(app->scene_manager, FP_Scene_Overview);
break;
default: default:
break; break;
} }
@ -116,16 +161,41 @@ bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
// Return result // Return result
return consumed; 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 */ /* Handlers */
void (*const FP_Scene_Enter_Handlers[])(void*) = { 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) = { 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*) = { void (*const FP_Scene_Exit_Handlers[])(void*) = {
FP_Scene_Exit_MainMenu FP_Scene_Exit_MainMenu,
FP_Scene_Exit_Overview
}; };
/* Event Handlers */ /* Event Handlers */