Created send scene

This commit is contained in:
Maddox Werts 2024-09-05 19:20:59 -04:00
parent 1644b4c648
commit dab8c43e70

View file

@ -7,6 +7,7 @@ typedef enum {
FP_Scene_MainMenu,
FP_Scene_Overview,
FP_Scene_View,
FP_Scene_Send,
FP_Scene_Create,
FP_Scene_Archive,
FP_Scene_About,
@ -62,6 +63,13 @@ void FP_Scene_Callback_View(DialogExResult result, void* context) {
// Sending it to the scene manager
scene_manager_handle_custom_event(app->scene_manager, result);
}
void FP_Scene_Callback_Send(DialogExResult result, void* context) {
// Setting context
FP_App* app = context;
// Sending it to the scene manager
scene_manager_handle_custom_event(app->scene_manager, result);
}
void FP_Scene_Enter_MainMenu(void* context) {
// Setting context
@ -155,9 +163,9 @@ void FP_Scene_Enter_View(void* context) {
app->dialog,
"Show"
);
dialog_ex_set_center_button_text(
dialog_ex_set_right_button_text(
app->dialog,
"Send"
"BadUSB"
);
// Left & Right
@ -167,6 +175,44 @@ void FP_Scene_Enter_View(void* context) {
// Sending view to Flipper
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Dialog);
}
void FP_Scene_Enter_Send(void* context) {
// Setting context
FP_App* app = context;
// Reset view
dialog_ex_reset(app->dialog);
// Adding dialog content
dialog_ex_set_header(
app->dialog,
"Send via BadUSB",
0,0,
AlignLeft,
AlignTop
);
dialog_ex_set_text(
app->dialog,
"This will type out either the Username or Password using BadUSB",
5,15,
AlignLeft,
AlignTop
);
dialog_ex_set_left_button_text(
app->dialog,
"Username"
);
dialog_ex_set_right_button_text(
app->dialog,
"Password"
);
// Setting context and callback
dialog_ex_set_result_callback(app->dialog, FP_Scene_Callback_Send);
dialog_ex_set_context(app->dialog, app);
// Send view to Flipper
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Dialog);
}
void FP_Scene_Exit_MainMenu(void* context) {
// Setting context
@ -189,6 +235,13 @@ void FP_Scene_Exit_View(void* context) {
// Reset menu
dialog_ex_reset(app->dialog);
}
void FP_Scene_Exit_Send(void* context) {
// Setting context
FP_App* app = context;
// Reset menu
dialog_ex_reset(app->dialog);
}
bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
// Setting context
@ -275,6 +328,10 @@ bool FP_Scene_Event_View(void* context, SceneManagerEvent event) {
);
dialog_ex_set_left_button_text(app->dialog, NULL);
break;
case DialogExResultRight:
// Changing scenes
scene_manager_next_scene(app->scene_manager, FP_Scene_Send);
break;
default:
break;
}
@ -288,22 +345,49 @@ bool FP_Scene_Event_View(void* context, SceneManagerEvent event) {
// Return result
return consumed;
}
bool FP_Scene_Event_Send(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;
UNUSED(app);
// What to do?
switch (event.event) {
default:
break;
}
} else {
consumed = false;
}
// Return result
return consumed;
}
/* Handlers */
void (*const FP_Scene_Enter_Handlers[])(void*) = {
FP_Scene_Enter_MainMenu,
FP_Scene_Enter_Overview,
FP_Scene_Enter_View
FP_Scene_Enter_View,
FP_Scene_Enter_Send
};
bool (*const FP_Scene_Event_Handlers[])(void*, SceneManagerEvent) = {
FP_Scene_Event_MainMenu,
FP_Scene_Event_Overview,
FP_Scene_Event_View
FP_Scene_Event_View,
FP_Scene_Event_Send
};
void (*const FP_Scene_Exit_Handlers[])(void*) = {
FP_Scene_Exit_MainMenu,
FP_Scene_Exit_Overview,
FP_Scene_Exit_View
FP_Scene_Exit_View,
FP_Scene_Exit_Send
};
/* Event Handlers */