/** Starts the mission using an Intent that only has the minimal extras, namely the mission ID. */ public void startMission() { Intent startingIntent = this.startingIntent; if (GeoQuestApp.useAdaptionEngine) { String alternMissionId = GeoQuestApp.adaptionEngine.getAlternativeMission(id); if (!alternMissionId.equals(id)) { if (Mission.existsMission(alternMissionId)) { AlternativeMission alternativeM = (AlternativeMission) Mission.get(alternMissionId); alternativeM.setPlaceholderId(id); startingIntent = ((Mission) alternativeM).startingIntent; } else { AlternativeMission alternativeM = AlternativeMission.create(alternMissionId, id); startingIntent = ((Mission) alternativeM).startingIntent; } } } if (startingIntent != null) { GeoQuestApp.stopAudio(); getMainActivity().startActivityForResult(startingIntent, 1); } else Log.e(this.getClass().getName(), "Mission can NOT be started since Intent is null."); }