Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private fun getFilteredCars(): List<CarListingsResponse> {
- val mileageValue = nf.parse(mileageSeekValueTV.text.toString()).toInt()
- val filters = mutableListOf<(CarListingsResponse) -> Boolean>()
- try {
- var budgetValue = nf.parse(budgetValueTV.text.toString()).toInt()
- if (!budgetModified) {
- budgetValue = Int.MAX_VALUE
- }
- if (selectedCarModelId != null) {
- filters.add { selectedCarModelId == it.make_id }
- }
- if (selectedCarSubModelId != null) {
- filters.add { selectedCarSubModelId == it.submodel_id }
- }
- if (selectedCarTrimId != null) {
- filters.add { selectedCarTrimId == it.trim_id }
- }
- if (fromYearSelected != null) {
- filters.add { fromYearSelected!! > it.year }
- }
- if (toYearSelected != null) {
- filters.add { toYearSelected!! < it.year }
- }
- filters.add { budgetValue < it.price }
- filters.add { mileageValue < it.mileage }
- return filters.fold(carListings) { cars, filter ->
- cars.filter(filter)
- }
- } catch (e: ParseException) {
- Timber.d("Budget was never entered because in offline mode.")
- return emptyList()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement