Re-Organized code

This commit is contained in:
Maddox Werts 2024-09-08 21:31:25 -04:00
parent 2f4e1374b5
commit cb46a7c1b9
6 changed files with 53 additions and 60 deletions

View file

@ -54,8 +54,8 @@ typedef struct {
Popup* popup; Popup* popup;
Manager* manager; Manager* manager;
char* keyboard;
int selection; int selection;
char* temp;
} FP_App; } FP_App;
#endif #endif

View file

@ -25,59 +25,49 @@ void FP_Scene_Enter_Create(void* context) {
submenu_reset(app->submenu); submenu_reset(app->submenu);
// Checking if we typed something before // Checking if we typed something before
if (app->temp) { if (app->keyboard) {
// Boolean // Did we already start a password?
bool is_field = true; if (!app->manager->new) {
app->manager->new = malloc(sizeof(Password));
}
// Checking if it's any of the following: // Checking what we selected
if (!strcmp(app->temp, "Username")) {is_field = false;} switch (app->selection) {
if (!strcmp(app->temp, "Password")) {is_field = false;} case 0: // Name
// Does name already exist?
// We're good! if (app->manager->new->name) {
if(is_field) { free(app->manager->new->name);
// Did we already start a password?
if (!app->manager->new) {
app->manager->new = malloc(sizeof(Password));
} }
// Checking what we selected // Copying it
switch (app->selection) { app->manager->new->name = malloc(sizeof(char*));
case 0: // Name strcpy(app->manager->new->name, app->keyboard);
// Does name already exist?
if (app->manager->new->name) {
free(app->manager->new->name);
}
// Copying it break;
app->manager->new->name = malloc(sizeof(char*)); case 1: // Username
strcpy(app->manager->new->name, app->temp); // Does user already exist?
if (app->manager->new->user) {
break; free(app->manager->new->user);
case 1: // Username
// Does user already exist?
if (app->manager->new->user) {
free(app->manager->new->user);
}
// Copying it
app->manager->new->user = malloc(sizeof(char*));
strcpy(app->manager->new->user, app->temp);
break;
case 2: // Password
// Does phrase already exist?
if (app->manager->new->phrase) {
free(app->manager->new->phrase);
}
// Copying it
app->manager->new->phrase = malloc(sizeof(char*));
strcpy(app->manager->new->phrase, app->temp);
break;
} }
// Copying it
app->manager->new->user = malloc(sizeof(char*));
strcpy(app->manager->new->user, app->keyboard);
break;
case 2: // Password
// Does phrase already exist?
if (app->manager->new->phrase) {
free(app->manager->new->phrase);
}
// Copying it
app->manager->new->phrase = malloc(sizeof(char*));
strcpy(app->manager->new->phrase, app->keyboard);
break;
} }
// Freeing temp // Freeing temp
free(app->temp); free(app->keyboard);
} }
// Options // Options

View file

@ -17,16 +17,19 @@ void FP_Scene_Enter_Cred(void* context) {
text_box_reset(app->textbox); text_box_reset(app->textbox);
// Setting text // Setting text
if (!strcmp(app->temp, "Username")) { switch (app->selection) {
case 0: // Username
text_box_set_text( text_box_set_text(
app->textbox, app->textbox,
app->manager->current->user app->manager->current->user
); );
} else { break;
case 1: // Password
text_box_set_text( text_box_set_text(
app->textbox, app->textbox,
app->manager->current->phrase app->manager->current->phrase
); );
break;
} }
// Send view to Flipper // Send view to Flipper
@ -35,9 +38,6 @@ void FP_Scene_Enter_Cred(void* context) {
void FP_Scene_Exit_Cred(void* context) { void FP_Scene_Exit_Cred(void* context) {
// Setting context // Setting context
FP_App* app = context; FP_App* app = context;
// Free the temp string
free(app->temp);
// Reset menu // Reset menu
dialog_ex_reset(app->dialog); dialog_ex_reset(app->dialog);

View file

@ -7,7 +7,7 @@ void FP_Scene_Callback_Type(void* context) {
FP_App* app = context; FP_App* app = context;
// DEBUG // DEBUG
FURI_LOG_D(TAG, "Typed: %s", app->temp); FURI_LOG_D(TAG, "Typed: %s", app->keyboard);
// Going back a page // Going back a page
scene_manager_previous_scene(app->scene_manager); scene_manager_previous_scene(app->scene_manager);
@ -19,15 +19,20 @@ void FP_Scene_Enter_Type(void* context) {
// Reset view // Reset view
text_input_reset(app->textinput); text_input_reset(app->textinput);
// Creating temp string // Does the keyboard variable still have something in it?
app->temp = malloc(sizeof(char*)); if (app->keyboard) {
free(app->keyboard);
}
// Creating keyboard string
app->keyboard = malloc(sizeof(char*));
// Setting stuff // Setting stuff
text_input_set_result_callback( text_input_set_result_callback(
app->textinput, app->textinput,
FP_Scene_Callback_Type, FP_Scene_Callback_Type,
app, app,
app->temp, app->keyboard,
255, 255,
true true
); );

View file

@ -69,13 +69,11 @@ bool FP_Scene_Event_View(void* context, SceneManagerEvent event) {
// What did we press? // What did we press?
switch (event.event) { switch (event.event) {
case FP_Scene_View_Event_Username: case FP_Scene_View_Event_Username:
app->temp = malloc(sizeof(char*)); app->selection = 0;
app->temp = "Username";
scene_manager_next_scene(app->scene_manager, FP_Scene_Cred); scene_manager_next_scene(app->scene_manager, FP_Scene_Cred);
break; break;
case FP_Scene_View_Event_Password: case FP_Scene_View_Event_Password:
app->temp = malloc(sizeof(char*)); app->selection = 1;
app->temp = "Password";
scene_manager_next_scene(app->scene_manager, FP_Scene_Cred); scene_manager_next_scene(app->scene_manager, FP_Scene_Cred);
break; break;
case FP_Scene_View_Event_BadUSB: case FP_Scene_View_Event_BadUSB:

View file

@ -143,6 +143,6 @@ void fp_app_free(FP_App* app) {
text_box_free(app->textbox); text_box_free(app->textbox);
submenu_free(app->submenu); submenu_free(app->submenu);
popup_free(app->popup); popup_free(app->popup);
free(app->temp); free(app->keyboard);
free(app); free(app);
} }