I'm have recyclerView which is needed for displayed for show list of my audio records. I added the ability to sort my audio records. Please take a look at the code that I use for sorting and tell me how it can be improved.
enum class AudioRecordSort {
SortByDate {
override fun sort(empties: List<AudioRecordEmpty>) {
Collections.sort(empties, AudioRecordDateComparator())
if (!isIncrease)
empties.reversed()
}
},
SortByName {
override fun sort(empties: List<AudioRecordEmpty>) {
Collections.sort(empties, AudioRecordNameComparator())
if (!isIncrease)
empties.reversed()
}
},
SortBySize {
override fun sort(empties: List<AudioRecordEmpty>) {
Collections.sort(empties, AudioRecordSizeComparator())
if (!isIncrease)
empties.reversed()
}
},
SortByTime {
override fun sort(empties: List<AudioRecordEmpty>) {
Collections.sort(empties, AudioRecordTimeComparator())
if (!isIncrease)
empties.reversed()
}
};
val isIncrease: Boolean = true
abstract fun sort(empties: List<AudioRecordEmpty>)
}
I would also like to say that I do not like that in each method I have to call
if (! IsIncrease)
empties.reversed ().
Could this be done in a separate place for everyone?