mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-12 15:58:36 -07:00
Update totp
This commit is contained in:
11
applications/external/totp/ui/scene_director.c
vendored
11
applications/external/totp/ui/scene_director.c
vendored
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user