mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2024-12-23 21:34:35 +03:00
[FL-3800, FL-3801] Fixed plugins and UI (#3543)
* Fixed some UI mismatches in plugin and nfc app * Fixed nameing mismatches in mosgortrans_util * Fix ultralight naming display Co-authored-by: gornekich <n.gorbadey@gmail.com> Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
parent
538422e2a9
commit
c353182353
@ -464,21 +464,21 @@ void parse_transport_type(BlockData* data_block, FuriString* transport) {
|
|||||||
bool mosgortrans_parse_transport_block(const MfClassicBlock* block, FuriString* result) {
|
bool mosgortrans_parse_transport_block(const MfClassicBlock* block, FuriString* result) {
|
||||||
BlockData data_block = {};
|
BlockData data_block = {};
|
||||||
const uint16_t valid_departments[] = {0x106, 0x108, 0x10A, 0x10E, 0x110, 0x117};
|
const uint16_t valid_departments[] = {0x106, 0x108, 0x10A, 0x10E, 0x110, 0x117};
|
||||||
uint16_t transport_departament = bit_lib_get_bits_16(block->data, 0, 10);
|
uint16_t transport_department = bit_lib_get_bits_16(block->data, 0, 10);
|
||||||
if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) {
|
if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) {
|
||||||
furi_string_cat_printf(result, "Transport departament: %x\n", transport_departament);
|
furi_string_cat_printf(result, "Transport department: %x\n", transport_department);
|
||||||
}
|
}
|
||||||
bool departament_valid = false;
|
bool department_valid = false;
|
||||||
for(uint8_t i = 0; i < 6; i++) {
|
for(uint8_t i = 0; i < 6; i++) {
|
||||||
if(transport_departament == valid_departments[i]) {
|
if(transport_department == valid_departments[i]) {
|
||||||
departament_valid = true;
|
department_valid = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!departament_valid) {
|
if(!department_valid) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
FURI_LOG_D(TAG, "Transport departament: %x", transport_departament);
|
FURI_LOG_D(TAG, "Transport department: %x", transport_department);
|
||||||
uint16_t layout_type = bit_lib_get_bits_16(block->data, 52, 4);
|
uint16_t layout_type = bit_lib_get_bits_16(block->data, 52, 4);
|
||||||
if(layout_type == 0xE) {
|
if(layout_type == 0xE) {
|
||||||
layout_type = bit_lib_get_bits_16(block->data, 52, 9);
|
layout_type = bit_lib_get_bits_16(block->data, 52, 9);
|
||||||
|
@ -30,6 +30,8 @@ static void nfc_scene_info_on_enter_mf_ultralight(NfcApp* instance) {
|
|||||||
|
|
||||||
furi_string_cat_printf(
|
furi_string_cat_printf(
|
||||||
temp_str, "\e#%s\n", nfc_device_get_name(device, NfcDeviceNameTypeFull));
|
temp_str, "\e#%s\n", nfc_device_get_name(device, NfcDeviceNameTypeFull));
|
||||||
|
furi_string_replace(temp_str, "Mifare", "MIFARE");
|
||||||
|
|
||||||
nfc_render_mf_ultralight_info(data, NfcProtocolFormatTypeFull, temp_str);
|
nfc_render_mf_ultralight_info(data, NfcProtocolFormatTypeFull, temp_str);
|
||||||
|
|
||||||
widget_add_text_scroll_element(
|
widget_add_text_scroll_element(
|
||||||
|
@ -1,22 +1,27 @@
|
|||||||
#include "st25tb_render.h"
|
#include "st25tb_render.h"
|
||||||
#include <nfc/protocols/st25tb/st25tb.h>
|
#include <nfc/protocols/st25tb/st25tb.h>
|
||||||
|
#include <machine/endian.h>
|
||||||
|
|
||||||
void nfc_render_st25tb_info(
|
void nfc_render_st25tb_info(
|
||||||
const St25tbData* data,
|
const St25tbData* data,
|
||||||
NfcProtocolFormatType format_type,
|
NfcProtocolFormatType format_type,
|
||||||
FuriString* str) {
|
FuriString* str) {
|
||||||
furi_string_cat_printf(str, "UID");
|
furi_string_cat_printf(str, "UID:");
|
||||||
|
|
||||||
for(size_t i = 0; i < ST25TB_UID_SIZE; i++) {
|
for(size_t i = 0; i < ST25TB_UID_SIZE; i++) {
|
||||||
furi_string_cat_printf(str, " %02X", data->uid[i]);
|
furi_string_cat_printf(str, " %02X", data->uid[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(format_type == NfcProtocolFormatTypeFull) {
|
if(format_type == NfcProtocolFormatTypeFull) {
|
||||||
furi_string_cat_printf(str, "\nSys. OTP: %08lX", data->system_otp_block);
|
furi_string_cat_printf(str, "\nSys. OTP: %08lX", __bswap32(data->system_otp_block));
|
||||||
furi_string_cat_printf(str, "\nBlocks:");
|
furi_string_cat_printf(str, "\n::::::::::::::::::::::[Blocks]::::::::::::::::::::::");
|
||||||
for(size_t i = 0; i < st25tb_get_block_count(data->type); i += 2) {
|
for(size_t i = 0; i < st25tb_get_block_count(data->type); i += 2) {
|
||||||
furi_string_cat_printf(
|
furi_string_cat_printf(
|
||||||
str, "\n %02X %08lX %08lX", i, data->blocks[i], data->blocks[i + 1]);
|
str,
|
||||||
|
"\n %02X %08lX %08lX",
|
||||||
|
i,
|
||||||
|
__bswap32(data->blocks[i]),
|
||||||
|
__bswap32(data->blocks[i + 1]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -453,7 +453,7 @@ void nfc_append_filename_string_when_present(NfcApp* instance, FuriString* strin
|
|||||||
furi_assert(string);
|
furi_assert(string);
|
||||||
|
|
||||||
if(!furi_string_empty(instance->file_name)) {
|
if(!furi_string_empty(instance->file_name)) {
|
||||||
furi_string_cat_printf(string, "Name:%s\n", furi_string_get_cstr(instance->file_name));
|
furi_string_cat_printf(string, "Name: %s\n", furi_string_get_cstr(instance->file_name));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,11 +85,10 @@ static bool mykey_parse(const NfcDevice* device, FuriString* parsed_data) {
|
|||||||
|
|
||||||
bool is_blank = mykey_is_blank(data);
|
bool is_blank = mykey_is_blank(data);
|
||||||
furi_string_cat_printf(parsed_data, "Serial#: %08lX\n", (uint32_t)__bswap32(data->blocks[7]));
|
furi_string_cat_printf(parsed_data, "Serial#: %08lX\n", (uint32_t)__bswap32(data->blocks[7]));
|
||||||
furi_string_cat_printf(parsed_data, "Blank: %s\n", is_blank ? "yes" : "no");
|
|
||||||
furi_string_cat_printf(parsed_data, "LockID: %s\n", mykey_has_lockid(data) ? "maybe" : "no");
|
|
||||||
|
|
||||||
furi_string_cat_printf(
|
furi_string_cat_printf(
|
||||||
parsed_data, "Prod. date: %02X/%02X/%04X", mfg_day, mfg_month, mfg_year);
|
parsed_data, "Prod. date: %02X/%02X/%04X\n", mfg_day, mfg_month, mfg_year);
|
||||||
|
furi_string_cat_printf(parsed_data, "Blank: %s\n", is_blank ? "yes" : "no");
|
||||||
|
furi_string_cat_printf(parsed_data, "LockID: %s", mykey_has_lockid(data) ? "maybe" : "no");
|
||||||
|
|
||||||
if(!is_blank) {
|
if(!is_blank) {
|
||||||
furi_string_cat_printf(
|
furi_string_cat_printf(
|
||||||
|
Loading…
Reference in New Issue
Block a user