package de.westnordost.streetcomplete.quests; import java.util.Arrays; import javax.inject.Singleton; import dagger.Module; import dagger.Provides; import de.westnordost.streetcomplete.data.QuestType; import de.westnordost.streetcomplete.data.QuestTypes; import de.westnordost.streetcomplete.data.osm.download.OverpassMapDataDao; import de.westnordost.streetcomplete.quests.bike_parking_capacity.AddBikeParkingCapacity; import de.westnordost.streetcomplete.quests.building_levels.AddBuildingLevels; import de.westnordost.streetcomplete.quests.bus_stop_shelter.AddBusStopShelter; import de.westnordost.streetcomplete.quests.housenumber.AddHousenumber; import de.westnordost.streetcomplete.quests.opening_hours.AddOpeningHours; import de.westnordost.streetcomplete.quests.road_name.AddRoadName; import de.westnordost.streetcomplete.quests.road_surface.AddRoadSurface; import de.westnordost.streetcomplete.quests.roof_shape.AddRoofShape; import de.westnordost.streetcomplete.quests.sport.AddSport; @Module public class QuestModule { @Provides @Singleton public static QuestTypes questTypeList(OverpassMapDataDao o) { QuestType[] questTypes = { new AddRoadName(o), new AddOpeningHours(o), new AddBuildingLevels(o), new AddRoofShape(o), // new AddPlaceName(), doesn't make sense as long as the app cannot tell the generic name of elements new AddRoadSurface(o), new AddBusStopShelter(o), new AddHousenumber(o), new AddBikeParkingCapacity(o), new AddSport(o) }; return new QuestTypes(Arrays.asList(questTypes)); } }