mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-06-16 20:09:44 -07:00
Improve info screen
* search F only in card_number
This commit is contained in:
@@ -17,6 +17,7 @@ void nfc_render_emv_data(const EmvData* data, FuriString* str) {
|
||||
|
||||
void nfc_render_emv_pan(const uint8_t* data, const uint8_t len, FuriString* str) {
|
||||
if(len == 0) return;
|
||||
furi_string_cat_printf(str, "PAN: ");
|
||||
for(uint8_t i = 0; i < len; i += 2) {
|
||||
furi_string_cat_printf(str, "%02X%02X ", data[i], data[i + 1]);
|
||||
}
|
||||
|
||||
@@ -886,30 +886,26 @@ static bool emv_parse(const NfcDevice* device, FuriString* parsed_data) {
|
||||
|
||||
do {
|
||||
if(app.name_found)
|
||||
furi_string_cat_printf(parsed_data, "\e#%s", app.name);
|
||||
furi_string_cat_printf(parsed_data, "\e#%s\n", app.name);
|
||||
else
|
||||
furi_string_cat_printf(parsed_data, "\e#%s", "EMV");
|
||||
furi_string_cat_printf(parsed_data, "\e#%s\n", "EMV");
|
||||
|
||||
furi_string_cat_printf(parsed_data, "\nPAN:");
|
||||
for(uint8_t i = 0; i < app.pan_len; i++) {
|
||||
if((i % 2 == 0)) furi_string_cat_printf(parsed_data, " ");
|
||||
furi_string_cat_printf(parsed_data, "%02X", app.pan[i]);
|
||||
FuriString* card_number = furi_string_alloc();
|
||||
for(uint8_t i = 0; i < app.pan_len; i += 2) {
|
||||
furi_string_cat_printf(card_number, "%02X%02X ", app.pan[i], app.pan[i + 1]);
|
||||
}
|
||||
|
||||
// Cut padding 'F' from card number
|
||||
size_t end = furi_string_search_rchar(parsed_data, 'F');
|
||||
if(end) furi_string_left(parsed_data, end);
|
||||
size_t end = furi_string_search_rchar(card_number, 'F');
|
||||
if(end) furi_string_left(card_number, end);
|
||||
furi_string_cat(parsed_data, card_number);
|
||||
furi_string_free(card_number);
|
||||
|
||||
furi_string_cat_printf(parsed_data, "\nExp: %02X/%02X", app.exp_month, app.exp_year);
|
||||
|
||||
furi_string_cat_printf(parsed_data, "\nCountry: %s", get_country_name(app.country_code));
|
||||
|
||||
furi_string_cat_printf(
|
||||
parsed_data, "\nCurrency: %s", get_currency_name(app.currency_code));
|
||||
|
||||
furi_string_cat_printf(parsed_data, "\nAID: ");
|
||||
for(uint8_t i = 0; i < app.aid_len; i++)
|
||||
furi_string_cat_printf(parsed_data, "%02X", app.aid[i]);
|
||||
parsed_data, " Currency: %s", get_currency_name(app.currency_code));
|
||||
|
||||
parsed = true;
|
||||
} while(false);
|
||||
|
||||
Reference in New Issue
Block a user