#include "gui/common/FrontendApplication.hpp" #include "touchgfx/Application.hpp" #include #include #include "stw_defines.h" #include "vehicle_state.h" MissionSelectPresenter::MissionSelectPresenter(MissionSelectView &v) : view(v) {} void MissionSelectPresenter::activate() { initialMission = vehicle_state.active_mission; } void MissionSelectPresenter::deactivate() {} void MissionSelectPresenter::vehicleStateUpdated() { FrontendApplication *app = static_cast(FrontendApplication::getInstance()); if (app->getBackToMissionSelect() && vehicle_state.active_mission == initialMission) { return; } switch (vehicle_state.active_mission) { case MISSION_NONE: // Do nothing break; case MISSION_MANUAL: app->gotoDriverViewScreenNoTransition(); break; default: app->gotoAMIScreenNoTransition(); } } void MissionSelectPresenter::nextScreen() { FrontendApplication *app = static_cast(FrontendApplication::getInstance()); if (app->getBackToMissionSelect()) { if (vehicle_state.active_mission == MISSION_MANUAL) { app->gotoDriverViewScreenNoTransition(); } else { app->gotoAMIScreenNoTransition(); } return; } }