Advertisement
Guest User

Untitled

a guest
Mar 6th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.41 KB | None | 0 0
  1.     private fun getFilteredCars(): List<CarListingsResponse> {
  2.         val mileageValue = nf.parse(mileageSeekValueTV.text.toString()).toInt()
  3.  
  4.         val filters = mutableListOf<(CarListingsResponse) -> Boolean>()
  5.  
  6.         try {
  7.             var budgetValue = nf.parse(budgetValueTV.text.toString()).toInt()
  8.  
  9.             if (!budgetModified) {
  10.                 budgetValue = Int.MAX_VALUE
  11.             }
  12.  
  13.             if (selectedCarModelId != null) {
  14.                 filters.add { selectedCarModelId == it.make_id }
  15.             }
  16.  
  17.             if (selectedCarSubModelId != null) {
  18.                 filters.add { selectedCarSubModelId == it.submodel_id }
  19.             }
  20.  
  21.             if (selectedCarTrimId != null) {
  22.                 filters.add { selectedCarTrimId == it.trim_id }
  23.             }
  24.  
  25.             if (fromYearSelected != null) {
  26.                 filters.add { fromYearSelected!! > it.year }
  27.             }
  28.  
  29.             if (toYearSelected != null) {
  30.                 filters.add { toYearSelected!! < it.year }
  31.             }
  32.  
  33.             filters.add { budgetValue < it.price }
  34.             filters.add { mileageValue < it.mileage }
  35.  
  36.             return filters.fold(carListings) { cars, filter ->
  37.                 cars.filter(filter)
  38.             }
  39.         } catch (e: ParseException) {
  40.             Timber.d("Budget was never entered because in offline mode.")
  41.             return emptyList()
  42.         }
  43.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement