* nfc: add scroll element for info * widget: format lines for scroll text element * widget: fix new line generation * widget: finish element text scroll * nfc: rework ultralight and NTAG info scenes * nfc: rework mf classic info screens * nfc: rework nfca info scenes * nfc: fix mf ultralight navigation * widget: add documentation * nfc: rework bank card infO * nfc: rework device info scene * nfc: fix incorrect atqa order * mf ultralight: remove unused function * widget: add mutex for model protection * widget: fix memory leak * nfc: rework delete scene * nfc: fix selected item in saved menu scene * widget: fix naming in text scroll element * nfc: fix navigation from delete success * nfc: add dictionary icon * widget: fix memory leak
		
			
				
	
	
		
			28 lines
		
	
	
		
			703 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			703 B
		
	
	
	
		
			C
		
	
	
	
	
	
#include "nfc_supported_card.h"
 | 
						|
 | 
						|
#include "troyka_parser.h"
 | 
						|
 | 
						|
NfcSupportedCard nfc_supported_card[NfcSupportedCardTypeEnd] = {
 | 
						|
    [NfcSupportedCardTypeTroyka] =
 | 
						|
        {
 | 
						|
            .protocol = NfcDeviceProtocolMifareClassic,
 | 
						|
            .verify = troyka_parser_verify,
 | 
						|
            .read = troyka_parser_read,
 | 
						|
            .parse = troyka_parser_parse,
 | 
						|
        },
 | 
						|
};
 | 
						|
 | 
						|
bool nfc_supported_card_verify_and_parse(NfcDeviceData* dev_data) {
 | 
						|
    furi_assert(dev_data);
 | 
						|
 | 
						|
    bool card_parsed = false;
 | 
						|
    for(size_t i = 0; i < COUNT_OF(nfc_supported_card); i++) {
 | 
						|
        if(nfc_supported_card[i].parse(dev_data)) {
 | 
						|
            card_parsed = true;
 | 
						|
            break;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    return card_parsed;
 | 
						|
}
 |