Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Camping site quests #4213

Merged
merged 35 commits into from
Aug 17, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
64aca31
Camp drinking_water quest
mnalis Jul 14, 2022
036b1c7
fix names
mnalis Jul 14, 2022
98943df
camp shower=* quest
mnalis Jul 15, 2022
313fbb0
camp shower placeholder
mnalis Jul 15, 2022
497a2b9
placeholder icon ic_quest_camp_shower.xml
mnalis Jul 15, 2022
c12b495
camp power_supply=* quest
mnalis Jul 15, 2022
999102c
ic_quest_camp_power_supply.xml placeholder
mnalis Jul 15, 2022
519b1b8
camp type (tents=* / caravans=*) quest
mnalis Jul 15, 2022
1e59e61
highlight nearby tourism=camp_site
mnalis Jul 15, 2022
daeda77
backcountry=* OtherAnswers
mnalis Jul 15, 2022
9fb6d8f
implement backcounty=yes answer
mnalis Jul 15, 2022
b0c66f6
add placeholder ic_quest_camp_type.xml
mnalis Jul 15, 2022
c53c595
missing include
mnalis Jul 15, 2022
182b192
skip backcountry camping sites
mnalis Jul 15, 2022
4538d3d
try to improve wording
mnalis Jul 15, 2022
627b143
further refine wording of questions
mnalis Jul 15, 2022
bc15545
Reformat quest filters
FloEdelmann Jul 19, 2022
a38b232
update language suggestions from code review
mnalis Jul 31, 2022
cee6f6b
Update app/src/main/res/values/strings.xml
mnalis Jul 31, 2022
dff7779
update order of answers to be more logical
mnalis Jul 31, 2022
24d9dac
Update app/src/main/java/de/westnordost/streetcomplete/quests/camping…
mnalis Jul 31, 2022
54f6f0d
drinking water too may have more values than yes/no
mnalis Jul 31, 2022
270a694
you can often see caravans and/or tents from the outside, so no need …
mnalis Jul 31, 2022
de73e46
initial camp tent icon
mnalis Aug 3, 2022
91e91a3
update ic_quest_camp_type.xml
mnalis Aug 3, 2022
52bf830
fix broken rule after accepting suggestings
mnalis Aug 3, 2022
6b30032
clarify drinking_water quest wording
mnalis Aug 3, 2022
79082ec
Update res/graphics/authors.txt
mnalis Aug 8, 2022
fbbf05e
Merge branch 'master' into camping-quests
matkoniecz Aug 9, 2022
d04d663
more precise text to ask for any way to charge phone/laptop
mnalis Aug 9, 2022
7f1c534
Merge branch 'camping-quests' of https://github.com/mnalis/StreetComp…
mnalis Aug 9, 2022
b8bb496
Update app/src/main/java/de/westnordost/streetcomplete/quests/camping…
mnalis Aug 10, 2022
3ac552b
Update app/src/main/java/de/westnordost/streetcomplete/quests/camping…
mnalis Aug 10, 2022
1cda3e3
Update app/src/main/java/de/westnordost/streetcomplete/quests/camping…
mnalis Aug 10, 2022
f2193f9
improve wordings
westnordost Aug 17, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,10 @@ import de.westnordost.streetcomplete.quests.bus_stop_name.AddBusStopName
import de.westnordost.streetcomplete.quests.bus_stop_ref.AddBusStopRef
import de.westnordost.streetcomplete.quests.bus_stop_shelter.AddBusStopShelter
import de.westnordost.streetcomplete.quests.camera_type.AddCameraType
import de.westnordost.streetcomplete.quests.camping.AddCampDrinkingWater
import de.westnordost.streetcomplete.quests.camping.AddCampPower
import de.westnordost.streetcomplete.quests.camping.AddCampShower
import de.westnordost.streetcomplete.quests.camping.AddCampType
import de.westnordost.streetcomplete.quests.car_wash_type.AddCarWashType
import de.westnordost.streetcomplete.quests.charging_station_capacity.AddChargingStationCapacity
import de.westnordost.streetcomplete.quests.charging_station_operator.AddChargingStationOperator
Expand Down Expand Up @@ -399,6 +403,12 @@ fun questTypeRegistry(

AddIsDefibrillatorIndoor(), // need to go inside in case it is inside (or gone)

// inside camping sites
AddCampType(),
AddCampDrinkingWater(),
AddCampShower(),
AddCampPower(),
mnalis marked this conversation as resolved.
Show resolved Hide resolved

// toilets
AddToiletAvailability(), // OSM Carto, shown in OsmAnd descriptions
AddToiletsFee(), // used by OsmAnd in the object description
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package de.westnordost.streetcomplete.quests.camping

import de.westnordost.streetcomplete.R
import de.westnordost.streetcomplete.data.osm.mapdata.Element
import de.westnordost.streetcomplete.data.osm.mapdata.MapDataWithGeometry
import de.westnordost.streetcomplete.data.osm.mapdata.filter
import de.westnordost.streetcomplete.data.osm.osmquests.OsmFilterQuestType
import de.westnordost.streetcomplete.data.user.achievements.EditTypeAchievement.OUTDOORS
import de.westnordost.streetcomplete.osm.Tags
import de.westnordost.streetcomplete.quests.YesNoQuestForm
import de.westnordost.streetcomplete.util.ktx.toYesNo

class AddCampDrinkingWater : OsmFilterQuestType<Boolean>() {

/* We only resurvey drinking_water = yes and drinking_water = no, as it might have more detailed
* values from other editors, and we don't want to damage them */
override val elementFilter = """
mnalis marked this conversation as resolved.
Show resolved Hide resolved
nodes, ways with
tourism = camp_site and (
!drinking_water
or drinking_water older today -4 years and drinking_water ~ yes|no
)
"""
override val changesetComment = "Specify whether there is drinking water at camp site"
override val wikiLink = "Key:drinking_water"
override val icon = R.drawable.ic_quest_drinking_water
override val defaultDisabledMessage = R.string.default_disabled_msg_go_inside
override val achievements = listOf(OUTDOORS)

override fun getTitle(tags: Map<String, String>) = R.string.quest_camp_drinking_water_title

override fun getHighlightedElements(element: Element, getMapData: () -> MapDataWithGeometry) =
getMapData().filter("nodes, ways with tourism = camp_site")

override fun createForm() = YesNoQuestForm()

override fun applyAnswerTo(answer: Boolean, tags: Tags, timestampEdited: Long) {
tags["drinking_water"] = answer.toYesNo()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package de.westnordost.streetcomplete.quests.camping

import de.westnordost.streetcomplete.R
import de.westnordost.streetcomplete.data.osm.mapdata.Element
import de.westnordost.streetcomplete.data.osm.mapdata.MapDataWithGeometry
import de.westnordost.streetcomplete.data.osm.mapdata.filter
import de.westnordost.streetcomplete.data.osm.osmquests.OsmFilterQuestType
import de.westnordost.streetcomplete.data.user.achievements.EditTypeAchievement.OUTDOORS
import de.westnordost.streetcomplete.osm.Tags
import de.westnordost.streetcomplete.quests.YesNoQuestForm
import de.westnordost.streetcomplete.util.ktx.toYesNo

class AddCampPower : OsmFilterQuestType<Boolean>() {

/* We only resurvey power_supply = yes and power_supply = no, as it might have more detailed
* values from other editors, and we don't want to damage them */
override val elementFilter = """
nodes, ways with
tourism = camp_site and (
!power_supply
or power_supply older today -4 years and power_supply ~ yes|no
)
"""
override val changesetComment = "Specify whether there is electricity available at camp site"
override val wikiLink = "Key:power_supply"
override val icon = R.drawable.ic_quest_camp_power_supply
override val defaultDisabledMessage = R.string.default_disabled_msg_go_inside
override val achievements = listOf(OUTDOORS)

override fun getTitle(tags: Map<String, String>) = R.string.quest_camp_power_supply_title

override fun getHighlightedElements(element: Element, getMapData: () -> MapDataWithGeometry) =
getMapData().filter("nodes, ways with tourism = camp_site")

override fun createForm() = YesNoQuestForm()

override fun applyAnswerTo(answer: Boolean, tags: Tags, timestampEdited: Long) {
tags["power_supply"] = answer.toYesNo()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package de.westnordost.streetcomplete.quests.camping

import de.westnordost.streetcomplete.R
import de.westnordost.streetcomplete.data.osm.mapdata.Element
import de.westnordost.streetcomplete.data.osm.mapdata.MapDataWithGeometry
import de.westnordost.streetcomplete.data.osm.mapdata.filter
import de.westnordost.streetcomplete.data.osm.osmquests.OsmFilterQuestType
import de.westnordost.streetcomplete.data.user.achievements.EditTypeAchievement.OUTDOORS
import de.westnordost.streetcomplete.osm.Tags
import de.westnordost.streetcomplete.quests.YesNoQuestForm
import de.westnordost.streetcomplete.util.ktx.toYesNo

class AddCampShower : OsmFilterQuestType<Boolean>() {

/* We only resurvey shower = yes and shower = no, as it might have more detailed
* values from other editors, and we don't want to damage them */
override val elementFilter = """
nodes, ways with
tourism = camp_site and (
!shower
or shower older today -4 years and shower ~ yes|no
)
"""
override val changesetComment = "Specify whether there are showers available at camp site"
override val wikiLink = "Key:shower"
override val icon = R.drawable.ic_quest_camp_shower
override val defaultDisabledMessage = R.string.default_disabled_msg_go_inside
override val achievements = listOf(OUTDOORS)

override fun getTitle(tags: Map<String, String>) = R.string.quest_camp_shower_title

override fun getHighlightedElements(element: Element, getMapData: () -> MapDataWithGeometry) =
getMapData().filter("nodes, ways with tourism = camp_site")

override fun createForm() = YesNoQuestForm()

override fun applyAnswerTo(answer: Boolean, tags: Tags, timestampEdited: Long) {
tags["shower"] = answer.toYesNo()
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package de.westnordost.streetcomplete.quests.camping

import de.westnordost.streetcomplete.R
import de.westnordost.streetcomplete.data.osm.mapdata.Element
import de.westnordost.streetcomplete.data.osm.mapdata.MapDataWithGeometry
import de.westnordost.streetcomplete.data.osm.mapdata.filter
import de.westnordost.streetcomplete.data.osm.osmquests.OsmFilterQuestType
import de.westnordost.streetcomplete.data.user.achievements.EditTypeAchievement.OUTDOORS
import de.westnordost.streetcomplete.osm.Tags
mnalis marked this conversation as resolved.
Show resolved Hide resolved
import de.westnordost.streetcomplete.quests.camping.CampType.BACKCOUNTRY
import de.westnordost.streetcomplete.util.ktx.toYesNo

class AddCampType : OsmFilterQuestType<CampType>() {

override val elementFilter = """
nodes, ways with
tourism = camp_site
and (!caravans or !tents)
and !backcountry
"""
override val changesetComment = "Survey who may camp here"
override val wikiLink = "Key:caravans"
override val icon = R.drawable.ic_quest_camp_type
// you can often see caravans and/or tents from the outside, so usually there is no need for this quest to be disabled by default
westnordost marked this conversation as resolved.
Show resolved Hide resolved
//override val defaultDisabledMessage = R.string.default_disabled_msg_go_inside
override val achievements = listOf(OUTDOORS)

override fun getTitle(tags: Map<String, String>) = R.string.quest_camp_type_title

override fun getHighlightedElements(element: Element, getMapData: () -> MapDataWithGeometry) =
getMapData().filter("nodes, ways with tourism = camp_site")

override fun createForm() = AddCampTypeForm()

override fun applyAnswerTo(answer: CampType, tags: Tags, timestampEdited: Long) {
when (answer) {
BACKCOUNTRY -> tags["backcountry"] = "yes"
else -> {
tags["tents"] = answer.tents.toYesNo()
tags["caravans"] = answer.caravans.toYesNo()
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package de.westnordost.streetcomplete.quests.camping

import de.westnordost.streetcomplete.R
import de.westnordost.streetcomplete.quests.AListQuestForm
import de.westnordost.streetcomplete.quests.TextItem
import de.westnordost.streetcomplete.quests.AnswerItem
import de.westnordost.streetcomplete.quests.camping.CampType.BACKCOUNTRY
import de.westnordost.streetcomplete.quests.camping.CampType.CARAVANS_ONLY
import de.westnordost.streetcomplete.quests.camping.CampType.TENTS_AND_CARAVANS
import de.westnordost.streetcomplete.quests.camping.CampType.TENTS_ONLY

class AddCampTypeForm : AListQuestForm<CampType>() {

override val items = listOf(
TextItem(TENTS_AND_CARAVANS, R.string.quest_camp_type_tents_and_caravans),
TextItem(TENTS_ONLY, R.string.quest_camp_type_tents_only),
TextItem(CARAVANS_ONLY, R.string.quest_camp_type_caravans_only),
)

override val otherAnswers get() = listOfNotNull(
AnswerItem(R.string.quest_camp_type_backcountry) { applyAnswer(BACKCOUNTRY) },
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package de.westnordost.streetcomplete.quests.camping

enum class CampType(val tents: Boolean, val caravans: Boolean) {
TENTS_AND_CARAVANS(true, true),
TENTS_ONLY(true, false),
CARAVANS_ONLY(false, true),
// Only the enum value is used here, the tent and caravan values are ignored.
BACKCOUNTRY(false, false),
mnalis marked this conversation as resolved.
Show resolved Hide resolved
mnalis marked this conversation as resolved.
Show resolved Hide resolved
}
22 changes: 22 additions & 0 deletions app/src/main/res/drawable/ic_quest_camp_power_supply.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
westnordost marked this conversation as resolved.
Show resolved Hide resolved
android:width="128dp"
android:height="128dp"
android:viewportWidth="128.0"
android:viewportHeight="128.0">
<path
android:pathData="M128,64C128,99.35 99.35,128 64,128 28.65,128 0,99.35 0,64 0,28.65 28.65,0 64,0c35.35,0 64,28.65 64,64"
android:fillColor="#aaa"
android:strokeWidth="0.5"/>
<path
android:pathData="m88.02,17.99c-0.14,0 -0.28,0.01 -0.41,0.04l-40,8c-0.7,0.14 -1.28,0.65 -1.51,1.33l-16,48c-0.49,1.46 0.78,2.9 2.29,2.59l17.11,-3.42 -7.47,41.1c-0.36,1.96 2.06,3.18 3.43,1.72L105.46,53.36c1.33,-1.42 0.05,-3.71 -1.85,-3.33l-35.57,7.11 21.67,-36.12c0.8,-1.32 -0.15,-3.01 -1.69,-3.03z"
android:fillAlpha="0.2"
android:fillColor="#000"
android:strokeWidth="4"
android:strokeLineJoin="round"/>
<path
android:pathData="m48,24 l-16,48 20,-4 -8,44L104,48 64,56 88,16Z"
android:strokeColor="#fac800"
android:fillColor="#ffdd55"
android:strokeWidth="4"
android:strokeLineJoin="round"/>
</vector>
30 changes: 30 additions & 0 deletions app/src/main/res/drawable/ic_quest_camp_shower.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="128dp"
android:height="128dp"
android:viewportWidth="128"
android:viewportHeight="128">
<path
android:pathData="m128,64c0,35.346 -28.654,64 -64,64s-64,-28.654 -64,-64 28.654,-64 64,-64 64,28.654 64,64"
android:fillColor="#9bbe55"/>
<path
android:fillColor="#000"
android:pathData="m34,27.08c-4.436,0 -8.033,3.596 -8.033,8.033s3.597,8.033 8.033,8.033c4.437,0 8.033,-3.596 8.033,-8.033 0,-4.437 -3.596,-8.033 -8.033,-8.033zM28.801,46.08c-4.265,0 -7.702,2.594 -9.848,5.563s-3.454,6.463 -4.412,9.85c-1.916,6.773 -2.305,13.336 -2.305,13.336 -0.401,5.38 7.706,5.891 7.984,0.504 0,0 0.397,-5.937 2.018,-11.664 0.905,-2.85 1.994,-5.642 3.627,-7.863l-3.637,47.275c-0.076,5.409 8.076,5.409 8,0l2,-24h4l2,24c-0.076,5.409 8.076,5.409 8,0l-3.637,-47.275c1.746,2.367 2.928,5.436 3.627,7.863 1.62,5.727 2.018,11.664 2.018,11.664 0.279,5.387 8.385,4.876 7.984,-0.504 0,0 -0.389,-6.563 -2.305,-13.336 -0.958,-3.386 -2.266,-6.881 -4.412,-9.85s-5.582,-5.563 -9.848,-5.563c-3.692,1.378 -7.306,1.288 -10.855,0z"
android:fillAlpha="0.2"/>
<path
android:fillColor="#000"
android:pathData="m94.199,27.08c-4.436,0 -8.033,3.596 -8.033,8.033s3.597,8.033 8.033,8.033c4.437,0 8.035,-3.596 8.035,-8.033s-3.598,-8.033 -8.035,-8.033zM90.199,46.08c-2.833,0 -5.151,2.418 -6.865,3.98 -4.577,3.772 -4.808,10.958 -9.631,14.363 -4.555,2.934 -0.023,9.733 4.438,6.656 5.16,-3.617 5.85,-9.738 9.604,-14.072 0.157,11.058 -9.362,20.457 -9.545,30.072 0,2.209 1.791,4 4,4h2.924l-0.924,12c-0.076,5.409 8.076,5.409 8,0v-12h4v12c-0.076,5.409 8.076,5.409 8,0l-0.924,-12h2.924c2.209,-0 4,-1.791 4,-4 -1.452,-11.037 -8.736,-20.099 -9.549,-30.127 3.961,4.454 5.201,11.195 9.447,14.127 4.461,3.076 8.993,-3.722 4.438,-6.656 -4.792,-4.204 -5.12,-10.413 -9.461,-14.379 -1.726,-1.555 -4.042,-3.965 -6.875,-3.965 -3.66,1.794 -5.768,0.785 -8,0z"
android:fillAlpha="0.2"/>
<path
android:fillColor="#000"
android:pathData="m64.2,8.04a3,3 0,0 0,-2.955 3.043v112a3,3 0,1 0,6 0v-112a3,3 0,0 0,-3.045 -3.043z"
android:fillAlpha="0.2"/>
<path
android:pathData="m34,23.1c-4.436,0 -8.033,3.598 -8.033,8.035s3.597,8.031 8.033,8.031c4.437,0 8.033,-3.594 8.033,-8.031 0,-4.437 -3.596,-8.035 -8.033,-8.035zM28.801,42.1c-4.265,0 -7.702,2.594 -9.848,5.563s-3.454,6.463 -4.412,9.85c-1.916,6.773 -2.305,13.336 -2.305,13.336 -0.401,5.38 7.706,5.891 7.984,0.504 0,0 0.397,-5.937 2.018,-11.664 0.905,-2.85 1.994,-5.642 3.627,-7.863l-3.637,47.275c-0.076,5.409 8.076,5.409 8,0l2,-24h4l2,24c-0.076,5.409 8.076,5.409 8,0l-3.637,-47.275c1.746,2.367 2.928,5.436 3.627,7.863 1.62,5.727 2.018,11.664 2.018,11.664 0.279,5.387 8.385,4.876 7.984,-0.504 0,0 -0.389,-6.563 -2.305,-13.336 -0.958,-3.386 -2.266,-6.881 -4.412,-9.85s-5.582,-5.563 -9.848,-5.563c-3.692,1.378 -7.306,1.288 -10.855,0z"
android:fillColor="#fff"/>
<path
android:pathData="m94.199,23.1c-4.436,0 -8.033,3.598 -8.033,8.035s3.597,8.031 8.033,8.031c4.437,0 8.035,-3.594 8.035,-8.031s-3.598,-8.035 -8.035,-8.035zM90.199,42.1c-2.833,0 -5.151,2.418 -6.865,3.98 -4.577,3.772 -4.808,10.958 -9.631,14.363 -4.555,2.934 -0.023,9.733 4.438,6.656 5.16,-3.617 5.85,-9.738 9.604,-14.072 0.157,11.058 -9.362,20.457 -9.545,30.072 0,2.209 1.791,4 4,4h2.924l-0.924,12c-0.076,5.409 8.076,5.409 8,0v-12h4v12c-0.076,5.409 8.076,5.409 8,0l-0.924,-12h2.924c2.209,-0 4,-1.791 4,-4 -1.452,-11.037 -8.736,-20.099 -9.549,-30.127 3.961,4.454 5.201,11.195 9.447,14.127 4.461,3.076 8.993,-3.722 4.438,-6.656 -4.792,-4.204 -5.12,-10.413 -9.461,-14.379 -1.726,-1.555 -4.042,-3.965 -6.875,-3.965 -3.66,1.794 -5.768,0.785 -8,0z"
android:fillColor="#fff"/>
<path
android:pathData="m64.2,4.06a3,3 0,0 0,-2.955 3.043v112a3,3 0,1 0,6 0v-112a3,3 0,0 0,-3.045 -3.043z"
android:fillColor="#fff"/>
</vector>
9 changes: 9 additions & 0 deletions app/src/main/res/drawable/ic_quest_camp_type.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
matkoniecz marked this conversation as resolved.
Show resolved Hide resolved
android:viewportWidth="128"
android:viewportHeight="128"
android:width="100dp"
android:height="100dp">
<path
android:pathData="M64 2c-34.187 0 -62 27.813 -62 62s27.813 62 62 62 62 -27.813 62 -62 -27.813 -62 -62 -62zm-1.62 79.403h-38.538l-6.698 4.804v2.036c0 0.905 -0.736 1.639 -1.644 1.639s-1.644 -0.734 -1.644 -1.639v-7.051c0 -0.905 0.736 -1.639 1.644 -1.639s1.644 0.734 1.644 1.639v1.056l6.674 -4.786 14.844 -38.375c4.997 0.875 22.661 3.346 43.568 -0.967l-19.85 43.283zm12.681 0l9.981 -22.333 9.874 22.333h-19.855zm37.439 8.478c-0.908 0 -1.644 -0.734 -1.644 -1.639v-1.938l-8.357 -4.902h-3.99l-11.955 -27.038c-0.262 -0.593 -0.851 -0.977 -1.501 -0.978h-0.003c-0.649 0 -1.237 0.381 -1.502 0.972l-12.087 27.045h-5.465l19.09 -41.63 16.997 37.66 8.774 5.146v-1.387c0 -0.905 0.736 -1.639 1.644 -1.639s1.644 0.734 1.644 1.639v7.051c-0.001 0.904 -0.737 1.638 -1.645 1.638z"
android:fillColor="#9BBE55" />
</vector>
9 changes: 9 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -842,6 +842,15 @@ Before uploading your changes, the app checks with a &lt;a href=\"https://www.we
<string name="quest_camera_type_fixed">Fixed</string>
<string name="quest_camera_type_panning">Panning</string>

<string name="quest_camp_drinking_water_title">Is drinking water freely available to campers here?</string>
<string name="quest_camp_shower_title">Are there showers here?</string>
<string name="quest_camp_power_supply_title">Is there any way for customers to charge their phone, laptop etc. here?</string>
<string name="quest_camp_type_title">Who may camp here?</string>
<string name="quest_camp_type_tents_and_caravans">Both tents and RVs</string>
<string name="quest_camp_type_caravans_only">Only RVs</string>
<string name="quest_camp_type_tents_only">Only tents</string>
<string name="quest_camp_type_backcountry">Backcountry camping (no facilities)</string>
mnalis marked this conversation as resolved.
Show resolved Hide resolved

<string name="quest_carWashType_title">What kind of car wash is this?</string>
<string name="quest_carWashType_automated">Automated</string>
<string name="quest_carWashType_selfService">Self-service</string>
Expand Down
3 changes: 3 additions & 0 deletions res/graphics/authors.txt
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,9 @@ building levels/
building_levels_icon.svg
building_levels_illustration.svg

camping/
camp.svg https://commons.wikimedia.org/wiki/File:Noun_camp_2695642.svg, sbts2018 (https://thenounproject.com/sbts2018/) CC-BY 4.0

charging station capacity/
electric_car.svg parts taken from Twemoji: U+1F698 and U+1F50C

Expand Down
2 changes: 2 additions & 0 deletions res/graphics/camping/camp.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.