|
@@ -48,11 +48,14 @@ bool nfc_scene_start_on_event(void* context, SceneManagerEvent event) {
|
|
|
|
|
|
|
|
if(event.type == SceneManagerEventTypeCustom) {
|
|
if(event.type == SceneManagerEventTypeCustom) {
|
|
|
if(event.event == SubmenuIndexRead) {
|
|
if(event.event == SubmenuIndexRead) {
|
|
|
|
|
+ scene_manager_set_scene_state(nfc->scene_manager, NfcSceneStart, SubmenuIndexRead);
|
|
|
nfc->dev->dev_data.read_mode = NfcReadModeAuto;
|
|
nfc->dev->dev_data.read_mode = NfcReadModeAuto;
|
|
|
scene_manager_next_scene(nfc->scene_manager, NfcSceneRead);
|
|
scene_manager_next_scene(nfc->scene_manager, NfcSceneRead);
|
|
|
DOLPHIN_DEED(DolphinDeedNfcRead);
|
|
DOLPHIN_DEED(DolphinDeedNfcRead);
|
|
|
consumed = true;
|
|
consumed = true;
|
|
|
} else if(event.event == SubmenuIndexDetectReader) {
|
|
} else if(event.event == SubmenuIndexDetectReader) {
|
|
|
|
|
+ scene_manager_set_scene_state(
|
|
|
|
|
+ nfc->scene_manager, NfcSceneStart, SubmenuIndexDetectReader);
|
|
|
bool sd_exist = storage_sd_status(nfc->dev->storage) == FSE_OK;
|
|
bool sd_exist = storage_sd_status(nfc->dev->storage) == FSE_OK;
|
|
|
if(sd_exist) {
|
|
if(sd_exist) {
|
|
|
nfc_device_data_clear(&nfc->dev->dev_data);
|
|
nfc_device_data_clear(&nfc->dev->dev_data);
|
|
@@ -63,19 +66,27 @@ bool nfc_scene_start_on_event(void* context, SceneManagerEvent event) {
|
|
|
}
|
|
}
|
|
|
consumed = true;
|
|
consumed = true;
|
|
|
} else if(event.event == SubmenuIndexSaved) {
|
|
} else if(event.event == SubmenuIndexSaved) {
|
|
|
|
|
+ // Save the scene state explicitly in each branch, so that
|
|
|
|
|
+ // if the user cancels loading a file, the Saved menu item
|
|
|
|
|
+ // is properly reselected.
|
|
|
|
|
+ scene_manager_set_scene_state(nfc->scene_manager, NfcSceneStart, SubmenuIndexSaved);
|
|
|
scene_manager_next_scene(nfc->scene_manager, NfcSceneFileSelect);
|
|
scene_manager_next_scene(nfc->scene_manager, NfcSceneFileSelect);
|
|
|
consumed = true;
|
|
consumed = true;
|
|
|
} else if(event.event == SubmenuIndexExtraAction) {
|
|
} else if(event.event == SubmenuIndexExtraAction) {
|
|
|
|
|
+ scene_manager_set_scene_state(
|
|
|
|
|
+ nfc->scene_manager, NfcSceneStart, SubmenuIndexExtraAction);
|
|
|
scene_manager_next_scene(nfc->scene_manager, NfcSceneExtraActions);
|
|
scene_manager_next_scene(nfc->scene_manager, NfcSceneExtraActions);
|
|
|
consumed = true;
|
|
consumed = true;
|
|
|
} else if(event.event == SubmenuIndexAddManually) {
|
|
} else if(event.event == SubmenuIndexAddManually) {
|
|
|
|
|
+ scene_manager_set_scene_state(
|
|
|
|
|
+ nfc->scene_manager, NfcSceneStart, SubmenuIndexAddManually);
|
|
|
scene_manager_next_scene(nfc->scene_manager, NfcSceneSetType);
|
|
scene_manager_next_scene(nfc->scene_manager, NfcSceneSetType);
|
|
|
consumed = true;
|
|
consumed = true;
|
|
|
} else if(event.event == SubmenuIndexDebug) {
|
|
} else if(event.event == SubmenuIndexDebug) {
|
|
|
|
|
+ scene_manager_set_scene_state(nfc->scene_manager, NfcSceneStart, SubmenuIndexDebug);
|
|
|
scene_manager_next_scene(nfc->scene_manager, NfcSceneDebug);
|
|
scene_manager_next_scene(nfc->scene_manager, NfcSceneDebug);
|
|
|
consumed = true;
|
|
consumed = true;
|
|
|
}
|
|
}
|
|
|
- scene_manager_set_scene_state(nfc->scene_manager, NfcSceneStart, event.event);
|
|
|
|
|
}
|
|
}
|
|
|
return consumed;
|
|
return consumed;
|
|
|
}
|
|
}
|