From c85656ed8c6be1a340692ff2071b1782c63250b4 Mon Sep 17 00:00:00 2001 From: Charles-Edouard de la Vergne Date: Mon, 15 Apr 2024 16:33:29 +0200 Subject: [PATCH] Port transaction review steps to 'nbgl_useCaseReview' in ui_display_privacy.c --- src_nbgl/ui_display_privacy.c | 58 +++++++++++++---------------------- 1 file changed, 22 insertions(+), 36 deletions(-) diff --git a/src_nbgl/ui_display_privacy.c b/src_nbgl/ui_display_privacy.c index 2b08175c99..27b8e0099a 100644 --- a/src_nbgl/ui_display_privacy.c +++ b/src_nbgl/ui_display_privacy.c @@ -6,7 +6,7 @@ #include "network.h" static nbgl_layoutTagValue_t pairs[2]; -static char *review_string; +static nbgl_layoutTagValueList_t pairsList; static void reviewReject(void) { io_seproxyhal_touch_privacy_cancel(NULL); @@ -18,52 +18,38 @@ static void confirmTransation(void) { static void reviewChoice(bool confirm) { if (confirm) { - confirmTransation(); + nbgl_useCaseReviewStatus(STATUS_TYPE_TRANSACTION_SIGNED, confirmTransation); } else { - reviewReject(); + nbgl_useCaseReviewStatus(STATUS_TYPE_TRANSACTION_REJECTED, reviewReject); } } -static bool displayTransactionPage(uint8_t page, nbgl_pageContent_t *content) { - if (page == 0) { - pairs[0].item = "Address"; - pairs[0].value = strings.common.fullAddress; - pairs[1].item = "Key"; - pairs[1].value = strings.common.fullAmount; +static void buildFirstPage(const char *review_string) { + explicit_bzero(pairs, sizeof(pairs)); + explicit_bzero(&pairsList, sizeof(pairsList)); - content->type = TAG_VALUE_LIST; - content->tagValueList.nbPairs = 2; - content->tagValueList.pairs = (nbgl_layoutTagValue_t *) pairs; - } else if (page == 1) { - content->type = INFO_LONG_PRESS, content->infoLongPress.icon = get_app_icon(true); - content->infoLongPress.text = review_string; - content->infoLongPress.longPressText = "Hold to approve"; - } else { - return false; - } - // valid page so return true - return true; -} + pairs[0].item = "Address"; + pairs[0].value = strings.common.fullAddress; -static void reviewContinue(void) { - nbgl_useCaseRegularReview(0, 2, REJECT_BUTTON, NULL, displayTransactionPage, reviewChoice); -} + pairs[1].item = "Key"; + pairs[1].value = strings.common.fullAmount; + + pairsList.nbPairs = 2; + pairsList.pairs = pairs; -static void buildFirstPage(void) { - nbgl_useCaseReviewStart(get_app_icon(true), - review_string, - NULL, - REJECT_BUTTON, - reviewContinue, - reviewReject); + nbgl_useCaseReview(TYPE_TRANSACTION, + &pairsList, + get_app_icon(true), + review_string, + NULL, + review_string, + reviewChoice); } void ui_display_privacy_public_key(void) { - review_string = (char *) "Provide public\nprivacy key"; - buildFirstPage(); + buildFirstPage("Provide public\nprivacy key"); } void ui_display_privacy_shared_secret(void) { - review_string = (char *) "Provide public\nsecret key"; - buildFirstPage(); + buildFirstPage("Provide public\nsecret key"); }