2020-07-17 16:35:39 +02:00
|
|
|
package sushi.hardcore.droidfs.explorers
|
|
|
|
|
2020-08-01 15:39:00 +02:00
|
|
|
import sushi.hardcore.droidfs.util.PathUtils
|
2020-07-17 16:35:39 +02:00
|
|
|
import java.util.*
|
|
|
|
|
2020-08-11 20:40:14 +02:00
|
|
|
class ExplorerElement(val name: String, val elementType: Short, var size: Long, mtime: Long, parentPath: String) {
|
2020-07-17 16:35:39 +02:00
|
|
|
val mTime = Date((mtime * 1000).toString().toLong())
|
2020-08-05 14:06:54 +02:00
|
|
|
val fullPath: String = PathUtils.path_join(parentPath, name)
|
2020-07-17 16:35:39 +02:00
|
|
|
|
|
|
|
val isDirectory: Boolean
|
|
|
|
get() = elementType.toInt() == 0
|
|
|
|
|
|
|
|
val isParentFolder: Boolean
|
|
|
|
get() = elementType.toInt() == -1
|
|
|
|
|
|
|
|
val isRegularFile: Boolean
|
|
|
|
get() = elementType.toInt() == 1
|
|
|
|
|
2020-08-04 11:44:29 +02:00
|
|
|
companion object {
|
|
|
|
fun sortBy(sortOrder: String, explorerElements: MutableList<ExplorerElement>) {
|
|
|
|
when (sortOrder) {
|
|
|
|
"name" -> {
|
2020-08-05 14:06:54 +02:00
|
|
|
explorerElements.sortWith(Comparator { o1, o2 -> o1.fullPath.compareTo(o2.fullPath) })
|
2020-08-04 11:44:29 +02:00
|
|
|
}
|
|
|
|
"size" -> {
|
|
|
|
explorerElements.sortWith(Comparator { o1, o2 -> (o1.size - o2.size).toInt() })
|
|
|
|
}
|
|
|
|
"date" -> {
|
|
|
|
explorerElements.sortWith(Comparator { o1, o2 -> o1.mTime.compareTo(o2.mTime) })
|
|
|
|
}
|
|
|
|
"name_desc" -> {
|
2020-08-05 14:06:54 +02:00
|
|
|
explorerElements.sortWith(Comparator { o1, o2 -> o2.fullPath.compareTo(o1.fullPath) })
|
2020-08-04 11:44:29 +02:00
|
|
|
}
|
|
|
|
"size_desc" -> {
|
|
|
|
explorerElements.sortWith(Comparator { o1, o2 -> (o2.size - o1.size).toInt() })
|
|
|
|
}
|
|
|
|
"date_desc" -> {
|
|
|
|
explorerElements.sortWith(Comparator { o1, o2 -> o2.mTime.compareTo(o1.mTime) })
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2020-07-17 16:35:39 +02:00
|
|
|
}
|