Update totp

This commit is contained in:
Willy-JL
2023-08-13 03:02:22 +02:00
parent 1d3228768f
commit 7504e58244
81 changed files with 655 additions and 1518 deletions

View File

@@ -1,8 +1,11 @@
#include "../types/common.h"
#include "../config/app/config.h"
#include "scene_director.h"
#include "scenes/authenticate/totp_scene_authenticate.h"
#include "scenes/generate_token/totp_scene_generate_token.h"
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
#include "scenes/add_new_token/totp_scene_add_new_token.h"
#endif
#include "scenes/token_menu/totp_scene_token_menu.h"
#include "scenes/app_settings/totp_app_settings.h"
#include "scenes/standby/standby.h"
@@ -16,9 +19,11 @@ void totp_scene_director_activate_scene(PluginState* const plugin_state, Scene s
case TotpSceneAuthentication:
totp_scene_authenticate_activate(plugin_state);
break;
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
case TotpSceneAddNewToken:
totp_scene_add_new_token_activate(plugin_state);
break;
#endif
case TotpSceneTokenMenu:
totp_scene_token_menu_activate(plugin_state);
break;
@@ -45,9 +50,11 @@ void totp_scene_director_deactivate_active_scene(PluginState* const plugin_state
case TotpSceneAuthentication:
totp_scene_authenticate_deactivate(plugin_state);
break;
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
case TotpSceneAddNewToken:
totp_scene_add_new_token_deactivate(plugin_state);
break;
#endif
case TotpSceneTokenMenu:
totp_scene_token_menu_deactivate(plugin_state);
break;
@@ -70,9 +77,11 @@ void totp_scene_director_render(Canvas* const canvas, PluginState* const plugin_
case TotpSceneAuthentication:
totp_scene_authenticate_render(canvas, plugin_state);
break;
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
case TotpSceneAddNewToken:
totp_scene_add_new_token_render(canvas, plugin_state);
break;
#endif
case TotpSceneTokenMenu:
totp_scene_token_menu_render(canvas, plugin_state);
break;
@@ -98,9 +107,11 @@ bool totp_scene_director_handle_event(PluginEvent* const event, PluginState* con
case TotpSceneAuthentication:
processing = totp_scene_authenticate_handle_event(event, plugin_state);
break;
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
case TotpSceneAddNewToken:
processing = totp_scene_add_new_token_handle_event(event, plugin_state);
break;
#endif
case TotpSceneTokenMenu:
processing = totp_scene_token_menu_handle_event(event, plugin_state);
break;

View File

@@ -1,5 +1,6 @@
#include "totp_input_text.h"
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
#include <gui/view_dispatcher.h>
#include <gui/modules/text_input.h>
@@ -50,3 +51,4 @@ void totp_input_text(Gui* gui, const char* header_text, InputTextResult* result)
view_dispatcher_free(view_dispatcher);
text_input_free(text_input);
}
#endif

View File

@@ -1,5 +1,7 @@
#pragma once
#include "../../../config/app/config.h"
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
#include <gui/gui.h>
#define INPUT_BUFFER_SIZE (255)
@@ -11,3 +13,4 @@ typedef struct {
} InputTextResult;
void totp_input_text(Gui* gui, const char* header_text, InputTextResult* result);
#endif

View File

@@ -1,4 +1,5 @@
#include "totp_scene_add_new_token.h"
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
#include "../../../types/common.h"
#include "../../constants.h"
#include "../../scene_director.h"
@@ -8,7 +9,6 @@
#include "../../ui_controls.h"
#include "../../common_dialogs.h"
#include <roll_value.h>
#include "../generate_token/totp_scene_generate_token.h"
char* TOKEN_ALGO_LIST[] = {"SHA1", "SHA256", "SHA512", "Steam"};
char* TOKEN_DIGITS_TEXT_LIST[] = {"5 digits", "6 digits", "8 digits"};
@@ -318,3 +318,4 @@ void totp_scene_add_new_token_deactivate(PluginState* plugin_state) {
free(plugin_state->current_scene_state);
plugin_state->current_scene_state = NULL;
}
#endif

View File

@@ -1,5 +1,7 @@
#pragma once
#include "../../../config/app/config.h"
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
#include <gui/gui.h>
#include "../../../types/plugin_state.h"
#include "../../../types/plugin_event.h"
@@ -10,3 +12,4 @@ bool totp_scene_add_new_token_handle_event(
const PluginEvent* const event,
PluginState* plugin_state);
void totp_scene_add_new_token_deactivate(PluginState* plugin_state);
#endif

View File

@@ -1,18 +1,16 @@
#include "totp_app_settings.h"
#include <math.h>
#include <totp_icons.h>
#include <assets_icons.h>
#include <available_fonts.h>
#include "../../canvas_extensions.h"
#include "../../ui_controls.h"
#include "../../common_dialogs.h"
#include "../../scene_director.h"
#include "../token_menu/totp_scene_token_menu.h"
#include "../../constants.h"
#include "../../../services/config/config.h"
#include "../../../services/convert/convert.h"
#include <roll_value.h>
#include "../../../features_config.h"
#include "../../../config/app/config.h"
#ifdef TOTP_BADBT_AUTOMATION_ENABLED
#include "../../../workers/bt_type_code/bt_type_code.h"
#endif

View File

@@ -1,3 +1,4 @@
#include "totp_scene_generate_token.h"
#include <gui/gui.h>
#include <notification/notification.h>
#include <notification/notification_messages.h>
@@ -5,15 +6,13 @@
#include <assets_icons.h>
#include <roll_value.h>
#include <available_fonts.h>
#include "totp_scene_generate_token.h"
#include "../../canvas_extensions.h"
#include "../../../types/token_info.h"
#include "../../../types/common.h"
#include "../../constants.h"
#include "../../../services/config/config.h"
#include "../../scene_director.h"
#include "../token_menu/totp_scene_token_menu.h"
#include "../../../features_config.h"
#include "../../../config/app/config.h"
#include "../../../workers/generate_totp_code/generate_totp_code.h"
#include "../../../workers/usb_type_code/usb_type_code.h"
#ifdef TOTP_BADBT_AUTOMATION_ENABLED
@@ -247,7 +246,7 @@ void totp_scene_generate_token_render(Canvas* const canvas, PluginState* plugin_
SCREEN_HEIGHT_CENTER + 10,
AlignCenter,
AlignCenter,
"Press OK button to add");
"Press OK button to access menu");
return;
}

View File

@@ -7,9 +7,7 @@
#include "../../scene_director.h"
#include "../../../services/config/config.h"
#include "../../../types/token_info.h"
#include "../generate_token/totp_scene_generate_token.h"
#include "../add_new_token/totp_scene_add_new_token.h"
#include "../app_settings/totp_app_settings.h"
#include "../../../config/app/config.h"
#include <roll_value.h>
#define SCREEN_HEIGHT_THIRD (SCREEN_HEIGHT / 3)
@@ -130,7 +128,22 @@ bool totp_scene_token_menu_handle_event(const PluginEvent* const event, PluginSt
} else if(event->input.type == InputTypeRelease && event->input.key == InputKeyOk) {
switch(scene_state->selected_control) {
case AddNewToken: {
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
totp_scene_director_activate_scene(plugin_state, TotpSceneAddNewToken);
#else
DialogMessage* message = dialog_message_alloc();
dialog_message_set_buttons(message, "Back", NULL, NULL);
dialog_message_set_header(message, "Information", 0, 0, AlignLeft, AlignTop);
dialog_message_set_text(
message,
"Read here\nhttps://t.ly/8ZOtj\n how to add new token",
SCREEN_WIDTH_CENTER,
SCREEN_HEIGHT_CENTER,
AlignCenter,
AlignCenter);
dialog_message_show(plugin_state->dialogs_app, message);
dialog_message_free(message);
#endif
break;
}
case DeleteToken: {

View File

@@ -1,5 +1,7 @@
#pragma once
#include "../config/app/config.h"
typedef uint8_t Scene;
/**
@@ -21,10 +23,12 @@ enum Scenes {
*/
TotpSceneGenerateToken,
#ifdef TOTP_UI_ADD_NEW_TOKEN_ENABLED
/**
* @brief Scene where user can add new token
*/
TotpSceneAddNewToken,
#endif
/**
* @brief Scene with a menu for given token, allowing user to do multiple actions