mirror of
https://github.com/bettse/seader.git
synced 2026-05-12 23:56:34 +00:00
change UI when card detected
This commit is contained in:
@@ -32,6 +32,10 @@ bool seader_scene_read_14a_on_event(void* context, SceneManagerEvent event) {
|
||||
seader->credential->type = SeaderCredentialType14A;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneReadCardSuccess);
|
||||
consumed = true;
|
||||
} else if(event.event == SeaderCustomEventPollerDetect) {
|
||||
Popup* popup = seader->popup;
|
||||
popup_set_header(popup, "DON'T\nMOVE", 68, 30, AlignLeft, AlignTop);
|
||||
consumed = true;
|
||||
} else if(event.event == SeaderCustomEventPollerSuccess) {
|
||||
seader->credential->type = SeaderCredentialType14A;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneReadCardSuccess);
|
||||
|
||||
@@ -36,6 +36,10 @@ bool seader_scene_read_mfc_on_event(void* context, SceneManagerEvent event) {
|
||||
seader->credential->type = SeaderCredentialTypeMifareClassic;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneReadCardSuccess);
|
||||
consumed = true;
|
||||
} else if(event.event == SeaderCustomEventPollerDetect) {
|
||||
Popup* popup = seader->popup;
|
||||
popup_set_header(popup, "DON'T\nMOVE", 68, 30, AlignLeft, AlignTop);
|
||||
consumed = true;
|
||||
} else if(event.event == SeaderCustomEventPollerSuccess) {
|
||||
seader->credential->type = SeaderCredentialTypeMifareClassic;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneReadCardSuccess);
|
||||
|
||||
@@ -31,6 +31,10 @@ bool seader_scene_read_picopass_on_event(void* context, SceneManagerEvent event)
|
||||
seader->credential->type = SeaderCredentialTypePicopass;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneReadCardSuccess);
|
||||
consumed = true;
|
||||
} else if(event.event == SeaderCustomEventPollerDetect) {
|
||||
Popup* popup = seader->popup;
|
||||
popup_set_header(popup, "DON'T\nMOVE", 68, 30, AlignLeft, AlignTop);
|
||||
consumed = true;
|
||||
} else if(event.event == SeaderCustomEventPollerSuccess) {
|
||||
seader->credential->type = SeaderCredentialTypePicopass;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneReadCardSuccess);
|
||||
|
||||
@@ -69,6 +69,7 @@ enum SeaderCustomEvent {
|
||||
SeaderCustomEventByteInputDone,
|
||||
SeaderCustomEventTextInputDone,
|
||||
|
||||
SeaderCustomEventPollerDetect,
|
||||
SeaderCustomEventPollerSuccess,
|
||||
};
|
||||
|
||||
|
||||
@@ -265,6 +265,9 @@ NfcCommand seader_worker_poller_callback_iso14443_4a(NfcGenericEvent event, void
|
||||
|
||||
if(iso14443_4a_event->type == Iso14443_4aPollerEventTypeReady) {
|
||||
if(seader_worker->stage == SeaderPollerEventTypeCardDetect) {
|
||||
view_dispatcher_send_custom_event(
|
||||
seader->view_dispatcher, SeaderCustomEventPollerDetect);
|
||||
|
||||
nfc_device_set_data(
|
||||
seader->nfc_device, NfcProtocolIso14443_4a, nfc_poller_get_data(seader->poller));
|
||||
|
||||
@@ -319,6 +322,9 @@ NfcCommand seader_worker_poller_callback_mfc(NfcGenericEvent event, void* contex
|
||||
|
||||
if(mfc_event->type == MfClassicPollerEventTypeSuccess) {
|
||||
if(seader_worker->stage == SeaderPollerEventTypeCardDetect) {
|
||||
view_dispatcher_send_custom_event(
|
||||
seader->view_dispatcher, SeaderCustomEventPollerDetect);
|
||||
|
||||
const MfClassicData* mfc_data = nfc_poller_get_data(seader->poller);
|
||||
uint8_t sak = iso14443_3a_get_sak(mfc_data->iso14443_3a_data);
|
||||
size_t uid_len = 0;
|
||||
@@ -354,6 +360,8 @@ NfcCommand seader_worker_poller_callback_picopass(PicopassPollerEvent event, voi
|
||||
seader_worker->stage = SeaderPollerEventTypeCardDetect;
|
||||
} else if(event.type == PicopassPollerEventTypeSuccess) {
|
||||
if(seader_worker->stage == SeaderPollerEventTypeCardDetect) {
|
||||
view_dispatcher_send_custom_event(
|
||||
seader->view_dispatcher, SeaderCustomEventPollerDetect);
|
||||
uint8_t* csn = picopass_poller_get_csn(instance);
|
||||
seader_worker_card_detect(seader, 0, NULL, csn, sizeof(PicopassSerialNum), NULL, 0);
|
||||
furi_thread_set_current_priority(FuriThreadPriorityLowest);
|
||||
|
||||
Reference in New Issue
Block a user