Archived
FILTERING WORKS FINAL
This commit is contained in:
@@ -128,9 +128,31 @@ class CanteenFragment : Fragment() {
|
|||||||
private fun getPreference(pref: DietaryPreferences): Boolean =
|
private fun getPreference(pref: DietaryPreferences): Boolean =
|
||||||
viewModel.getPreference(pref)
|
viewModel.getPreference(pref)
|
||||||
|
|
||||||
private fun getPrefRegex(): Regex =
|
// private data class RegexF(val index: Int)
|
||||||
// Regex(viewModel.getDietaryPrefs().deconstruct().replace('t', '.'))
|
|
||||||
Regex(viewModel.getDietaryPrefs().deconstruct().replace('f', '.'))
|
private fun getPrefRegex(): Regex {
|
||||||
|
val prefs = viewModel.getDietaryPrefs().deconstruct().replace('f', '.')
|
||||||
|
|
||||||
|
val template = ".........."
|
||||||
|
|
||||||
|
return if (prefs == "..........") {
|
||||||
|
Regex(template)
|
||||||
|
} else {
|
||||||
|
var regexString = ""
|
||||||
|
|
||||||
|
val indices = mutableListOf<Int>()
|
||||||
|
prefs.forEachIndexed { index, c ->
|
||||||
|
if (c == 't') indices.add(index)
|
||||||
|
}
|
||||||
|
var isFirst = true
|
||||||
|
indices.forEach { index ->
|
||||||
|
if (!isFirst) regexString += '|'
|
||||||
|
regexString += template.substring(0 until index) + 't' + template.substring(index+1)
|
||||||
|
isFirst = false
|
||||||
|
}
|
||||||
|
Regex(regexString)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun List<CanteenOffer>.groupElements(): List<CanteenOfferGroup> {
|
private fun List<CanteenOffer>.groupElements(): List<CanteenOfferGroup> {
|
||||||
|
|
||||||
@@ -174,4 +196,6 @@ class CanteenFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// private fun Regex.matchesAny
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user