Merge remote-tracking branch 'mntm/dev' into feat/nfc-plugin-mania

This commit is contained in:
Willy-JL
2025-04-14 08:52:19 +01:00
5 changed files with 16 additions and 6 deletions

View File

@@ -21,6 +21,7 @@
- NFC:
- APDU Runner: (by @SpenserCai)
- Passport Reader (by @bettse)
- Seos compatible (by @bettse)
- USB: Portal Of Flipper (by @Bettse & @sanjay900)
- Sub-GHz:
- UL: Add ReversRB2/RB2M Protocol full support with add manually (by @xMasterX)
@@ -96,6 +97,7 @@
- NFC:
- Support MIFARE DESFire Transaction MAC file type, fixes reading some EV2+ cards (by @Willy-JL)
- Improve NDEF parser handling and display of raw non-text data (by @Willy-JL)
- Improve loading of parser plugins (by @Willy-JL)
- OFW: Added naming for DESFire cards + fix MF3ICD40 cards unable to be read (by @Demae)
- OFW: FeliCa Protocol Expose Read Block API and Allow Specifying Service (by @zinongli)
- OFW: Enable MFUL sync poller to be provided with passwords (by @GMMan)

View File

@@ -465,6 +465,10 @@ static void nfc_protocol_support_scene_read_saved_menu_on_exit(NfcApp* instance)
static void nfc_protocol_support_scene_read_success_on_enter(NfcApp* instance) {
Widget* widget = instance->widget;
popup_set_header(instance->popup, "Parsing", 85, 27, AlignCenter, AlignTop);
popup_set_icon(instance->popup, 12, 23, &A_Loading_24);
view_dispatcher_switch_to_view(instance->view_dispatcher, NfcViewPopup);
FuriString* temp_str = furi_string_alloc();
if(nfc_supported_cards_parse(instance->nfc_supported_cards, instance->nfc_device, temp_str)) {
widget_add_text_scroll_element(

View File

@@ -425,6 +425,11 @@ bool nfc_load_from_file_select(NfcApp* instance) {
if(!dialog_file_browser_show(
instance->dialogs, instance->file_path, instance->file_path, &browser_options))
break;
nfc_show_loading_popup(instance, true);
nfc_supported_cards_load_cache(instance->nfc_supported_cards);
nfc_show_loading_popup(instance, false);
success = nfc_load_file(instance, instance->file_path, true);
} while(!success);
@@ -535,11 +540,6 @@ int32_t nfc_app(void* p) {
} else {
view_dispatcher_attach_to_gui(
nfc->view_dispatcher, nfc->gui, ViewDispatcherTypeFullscreen);
// Load plugins (parsers) one time in case if we running app normally
nfc_show_loading_popup(nfc, true);
nfc_supported_cards_load_cache(nfc->nfc_supported_cards);
nfc_show_loading_popup(nfc, false);
// Switch to the initial scene
scene_manager_next_scene(nfc->scene_manager, NfcSceneStart);
}

View File

@@ -16,6 +16,10 @@ void nfc_scene_detect_scan_callback(NfcScannerEvent event, void* context) {
void nfc_scene_detect_on_enter(void* context) {
NfcApp* instance = context;
nfc_show_loading_popup(instance, true);
nfc_supported_cards_load_cache(instance->nfc_supported_cards);
nfc_show_loading_popup(instance, false);
// Setup view
popup_reset(instance->popup);
popup_set_header(instance->popup, "Reading", 97, 15, AlignCenter, AlignTop);