mirror of
https://github.com/bettse/seader.git
synced 2026-03-29 08:00:07 +00:00
Unload HF plugin before saving to avoid memory pressure
This commit is contained in:
@@ -60,32 +60,27 @@ bool seader_scene_card_menu_on_event(void* context, SceneManagerEvent event) {
|
||||
scene_manager_set_scene_state(
|
||||
seader->scene_manager, SeaderSceneCardMenu, SubmenuIndexSave);
|
||||
seader->credential->save_format = SeaderCredentialSaveFormatAgnostic;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneSaveName);
|
||||
consumed = true;
|
||||
consumed = seader_hf_request_teardown(seader, SeaderHfTeardownActionPrepareSave);
|
||||
} else if(event.event == SubmenuIndexSavePicopass) {
|
||||
scene_manager_set_scene_state(
|
||||
seader->scene_manager, SeaderSceneCardMenu, SubmenuIndexSavePicopass);
|
||||
seader->credential->save_format = SeaderCredentialSaveFormatPicopass;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneSaveName);
|
||||
consumed = true;
|
||||
consumed = seader_hf_request_teardown(seader, SeaderHfTeardownActionPrepareSave);
|
||||
} else if(event.event == SubmenuIndexSaveRFID) {
|
||||
scene_manager_set_scene_state(
|
||||
seader->scene_manager, SeaderSceneCardMenu, SubmenuIndexSaveRFID);
|
||||
seader->credential->save_format = SeaderCredentialSaveFormatRFID;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneSaveName);
|
||||
consumed = true;
|
||||
consumed = seader_hf_request_teardown(seader, SeaderHfTeardownActionPrepareSave);
|
||||
} else if(event.event == SubmenuIndexSaveSR) {
|
||||
scene_manager_set_scene_state(
|
||||
seader->scene_manager, SeaderSceneCardMenu, SubmenuIndexSaveSR);
|
||||
seader->credential->save_format = SeaderCredentialSaveFormatSR;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneSaveName);
|
||||
consumed = true;
|
||||
consumed = seader_hf_request_teardown(seader, SeaderHfTeardownActionPrepareSave);
|
||||
} else if(event.event == SubmenuIndexSaveMFC) {
|
||||
scene_manager_set_scene_state(
|
||||
seader->scene_manager, SeaderSceneCardMenu, SubmenuIndexSaveMFC);
|
||||
seader->credential->save_format = SeaderCredentialSaveFormatMFC;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneSaveName);
|
||||
consumed = true;
|
||||
consumed = seader_hf_request_teardown(seader, SeaderHfTeardownActionPrepareSave);
|
||||
}
|
||||
} else if(event.type == SceneManagerEventTypeBack) {
|
||||
consumed = scene_manager_previous_scene(seader->scene_manager);
|
||||
|
||||
3
seader.c
3
seader.c
@@ -1412,6 +1412,9 @@ bool seader_hf_finish_teardown_action(Seader* seader) {
|
||||
seader->board_status = SeaderBoardStatusRetryRequested;
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneStart);
|
||||
return true;
|
||||
case SeaderHfTeardownActionPrepareSave:
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneSaveName);
|
||||
return true;
|
||||
case SeaderHfTeardownActionRestartRead:
|
||||
scene_manager_next_scene(seader->scene_manager, SeaderSceneRead);
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user