zinongli 11 месяцев назад
Родитель
Сommit
d7515b218d
1 измененных файлов с 11 добавлено и 0 удалено
  1. 11 0
      scenes/metroflip_scene_auto.c

+ 11 - 0
scenes/metroflip_scene_auto.c

@@ -84,6 +84,11 @@ void metroflip_scene_detect_scan_callback(NfcScannerEvent event, void* context)
                 app->detected_protocols, event.data.protocols, event.data.protocol_num);
                 app->detected_protocols, event.data.protocols, event.data.protocol_num);
             view_dispatcher_send_custom_event(
             view_dispatcher_send_custom_event(
                 app->view_dispatcher, MetroflipCustomEventPollerDetect);
                 app->view_dispatcher, MetroflipCustomEventPollerDetect);
+        } else if(event.data.protocols && *event.data.protocols == NfcProtocolFelica) {
+            nfc_detected_protocols_set(
+                app->detected_protocols, event.data.protocols, event.data.protocol_num);
+            view_dispatcher_send_custom_event(
+                app->view_dispatcher, MetroflipCustomEventPollerDetect);
         } else {
         } else {
             const NfcProtocol* invalid_protocol = (const NfcProtocol*)NfcProtocolInvalid;
             const NfcProtocol* invalid_protocol = (const NfcProtocol*)NfcProtocolInvalid;
             nfc_detected_protocols_set(
             nfc_detected_protocols_set(
@@ -199,6 +204,12 @@ bool metroflip_scene_auto_on_event(void* context, SceneManagerEvent event) {
                 app->card_type = "calypso";
                 app->card_type = "calypso";
                 scene_manager_next_scene(app->scene_manager, MetroflipSceneParse);
                 scene_manager_next_scene(app->scene_manager, MetroflipSceneParse);
                 consumed = true;
                 consumed = true;
+            } else if(
+                nfc_detected_protocols_get_protocol(app->detected_protocols, 0) ==
+                NfcProtocolFelica) {
+                app->card_type = "suica";
+                scene_manager_next_scene(app->scene_manager, MetroflipSceneParse);
+                consumed = true;
             } else if(
             } else if(
                 nfc_detected_protocols_get_protocol(app->detected_protocols, 0) ==
                 nfc_detected_protocols_get_protocol(app->detected_protocols, 0) ==
                 NfcProtocolMfDesfire) {
                 NfcProtocolMfDesfire) {