Moved message signing rejection cancellation from nbgl_useCaseChoice to nbgl_useCaseConfirm

This commit is contained in:
Alexandre Paillier
2023-07-18 10:39:54 +02:00
parent 04c9e890e5
commit f3075b7124
5 changed files with 8 additions and 59 deletions

View File

@@ -4,25 +4,19 @@
#include "ui_message_signing.h"
#include "glyphs.h"
static void (*g_resume_func)(void) = NULL;
static void (*g_approved_func)(void) = NULL;
static void (*g_rejected_func)(void) = NULL;
static void ui_message_rejection_handler(bool confirm) {
if (confirm) {
nbgl_useCaseStatus("Message signing\ncancelled", false, g_rejected_func);
} else {
(*g_resume_func)();
}
static void ui_message_rejection_handler() {
nbgl_useCaseStatus("Message signing\ncancelled", false, g_rejected_func);
}
static void ui_message_confirm_rejection(void) {
nbgl_useCaseChoice(&C_warning64px,
REJECT_QUESTION(TEXT_MESSAGE),
NULL,
REJECT_CONFIRM_BUTTON,
RESUME(TEXT_MESSAGE),
ui_message_rejection_handler);
nbgl_useCaseConfirm(REJECT_QUESTION(TEXT_MESSAGE),
NULL,
REJECT_CONFIRM_BUTTON,
RESUME(TEXT_MESSAGE),
ui_message_rejection_handler);
}
void ui_message_review_choice(bool confirm) {
@@ -35,10 +29,8 @@ void ui_message_review_choice(bool confirm) {
void ui_message_start(const char *title,
void (*start_func)(void),
void (*resume_func)(void),
void (*approved_func)(void),
void (*rejected_func)(void)) {
g_resume_func = resume_func;
g_approved_func = approved_func;
g_rejected_func = rejected_func;
nbgl_useCaseReviewStart(&C_Message_64px,

View File

@@ -11,7 +11,6 @@
void ui_message_review_choice(bool confirm);
void ui_message_start(const char *title,
void (*start_func)(void),
void (*resume_func)(void),
void (*approved_func)(void),
void (*rejected_func)(void));

View File

@@ -67,27 +67,10 @@ static void handle_display(nbgl_navCallback_t cb) {
nbgl_useCaseRegularReview(0, 0, REJECT_BUTTON, NULL, cb, ui_message_review_choice);
}
static void resume_review(void) {
switch (g_position) {
case UI_SIGNING_POSITION_START:
ui_712_start();
break;
case UI_SIGNING_POSITION_REVIEW:
ui_712_switch_to_message();
break;
case UI_SIGNING_POSITION_SIGN:
ui_712_switch_to_sign();
break;
default:
return; // should not happen
}
}
void ui_712_start(void) {
g_position = UI_SIGNING_POSITION_START;
ui_message_start(TEXT_REVIEW_EIP712,
&ui_712_switch_to_message,
&resume_review,
&ui_message_712_approved,
&ui_message_712_rejected);
}

View File

@@ -70,19 +70,10 @@ static void start_review(void) {
display_review();
}
static void resume_review(void) {
if (g_position == UI_SIGNING_POSITION_START) {
ui_sign_712_v0();
} else {
display_review();
}
}
void ui_sign_712_v0(void) {
g_position = UI_SIGNING_POSITION_START;
ui_message_start(TEXT_REVIEW_EIP712,
&start_review,
&resume_review,
&ui_message_712_approved,
&ui_message_712_rejected);
}

View File

@@ -120,18 +120,6 @@ static void continue_review(void) {
nbgl_useCaseForwardOnlyReview(REJECT_BUTTON, NULL, nav_callback, ui_message_review_choice);
}
static void resume_message(void) {
e_ui_191_action action_bak = g_action;
if (g_position == UI_SIGNING_POSITION_START) {
ui_191_start();
} else {
g_action = UI_191_ACTION_IDLE;
continue_review();
g_action = action_bak;
}
}
void ui_191_start(void) {
g_position = UI_SIGNING_POSITION_START;
@@ -139,11 +127,7 @@ void ui_191_start(void) {
eip191MessageIdx = 0;
stringsTmpTmpIdx = 0;
ui_message_start(TEXT_REVIEW_EIP191,
&ui_191_switch_to_message,
&resume_message,
&sign_message,
&reject_message);
ui_message_start(TEXT_REVIEW_EIP191, &ui_191_switch_to_message, &sign_message, &reject_message);
}
void ui_191_switch_to_message(void) {