diff --git a/app/src/main/java/de/westnordost/streetcomplete/quests/handrail/AddHandrail.kt b/app/src/main/java/de/westnordost/streetcomplete/quests/handrail/AddHandrail.kt index 373030a0fe..a8f848d419 100644 --- a/app/src/main/java/de/westnordost/streetcomplete/quests/handrail/AddHandrail.kt +++ b/app/src/main/java/de/westnordost/streetcomplete/quests/handrail/AddHandrail.kt @@ -25,6 +25,7 @@ class AddHandrail : OsmFilterQuestType() { override val commitMessage = "Add whether steps have a handrail" override val wikiLink = "Key:handrail" override val icon = R.drawable.ic_quest_steps_handrail + override val isSplitWayEnabled = true override fun getTitle(tags: Map) = R.string.quest_handrail_title diff --git a/app/src/main/java/de/westnordost/streetcomplete/settings/questselection/QuestPresetsAdapter.kt b/app/src/main/java/de/westnordost/streetcomplete/settings/questselection/QuestPresetsAdapter.kt index dea91f368a..258e67e1fc 100644 --- a/app/src/main/java/de/westnordost/streetcomplete/settings/questselection/QuestPresetsAdapter.kt +++ b/app/src/main/java/de/westnordost/streetcomplete/settings/questselection/QuestPresetsAdapter.kt @@ -23,7 +23,7 @@ class QuestPresetsAdapter @Inject constructor( private val questPresetsController: QuestPresetsController ) : RecyclerView.Adapter(), LifecycleObserver { - private val presets: MutableList = mutableListOf() + private var presets: MutableList = mutableListOf() private val lifecycleScope = CoroutineScope(SupervisorJob() + Dispatchers.Main) @@ -46,6 +46,7 @@ class QuestPresetsAdapter @Inject constructor( @OnLifecycleEvent(Lifecycle.Event.ON_START) fun onStart() { + presets = mutableListOf() presets.add(QuestPreset(0, context.getString(R.string.quest_presets_default_name))) presets.addAll(questPresetsController.getAllQuestPresets()) @@ -83,7 +84,7 @@ class QuestPresetsAdapter @Inject constructor( } itemView.deleteButton.isEnabled = true itemView.deleteButton.isInvisible = with.id == 0L - itemView.deleteButton.setOnClickListener { onClickDeleteQuestPreset(with.id) } + itemView.deleteButton.setOnClickListener { onClickDeleteQuestPreset(with) } } fun onSelectQuestPreset(presetId: Long) { @@ -92,10 +93,10 @@ class QuestPresetsAdapter @Inject constructor( } } - fun onClickDeleteQuestPreset(presetId: Long) { - AlertDialog.Builder(itemView.context) - .setMessage(R.string.quest_presets_delete_message) - .setPositiveButton(R.string.delete_confirmation) { _,_ -> deleteQuestPreset(presetId) } + fun onClickDeleteQuestPreset(preset: QuestPreset) { + AlertDialog.Builder(itemView.context, R.style.Theme_Bubble_Dialog_Alert) + .setMessage(itemView.context.getString(R.string.quest_presets_delete_message, preset.name)) + .setPositiveButton(R.string.delete_confirmation) { _,_ -> deleteQuestPreset(preset.id) } .setNegativeButton(android.R.string.cancel, null) .show() } diff --git a/app/src/main/res/raw/changelog.yml b/app/src/main/res/raw/changelog.yml index 1425809d1a..ea290f762d 100644 --- a/app/src/main/res/raw/changelog.yml +++ b/app/src/main/res/raw/changelog.yml @@ -1,3 +1,15 @@ +v34.0-beta1: | +

🚌🚴 Quest presets

+
    +
  • Show quests that are quick and easy to solve (from a distance) first by default. This makes + contributing more efficient and diverse while also easier to do f.e. as a passenger (#2944, ...)
  • +
  • You can now save different quest presets for different situations, f.e. one preset when you + only want a solve some important quests while on a bus, or on a bike tour etc.
    This was + a much requested feature: (#1301, #1654, #1746, #1987, #2054, #2069, #2279, #2565, #2308, #3034, ...)
  • +
  • Inform new users once about the possibility to change quest presets
  • +
  • Added search/filter function for the quest presets settings (#3008)
  • +
+ v33.1: |
  • Fix crash when tapping on an achievement in your profile screen (#3027)
  • diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 97bd50479b..9b84161e34 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1072,5 +1072,5 @@ Otherwise, you can download another keyboard in the app store. Popular keyboards If you are overwhelmed by the number of quests, you can always fine-tune what quests are displayed to you and in what order in the settings. New preset name Default - Delete this preset? The quest selection and order for it will be irrevocably lost. + "Delete preset \"%s\"? The quest selection and order for it will be irrevocably lost."