feat: add support to sort downloads by type

This commit is contained in:
jraleman
2026-02-24 23:35:02 -05:00
parent a8decdb0d9
commit 3d5b9a94fb
4 changed files with 11 additions and 1 deletions
@@ -150,7 +150,7 @@ class DownloadsFragment : MainFragment() {
spinnerSortBy.adapter = ArrayAdapter(context, R.layout.spinner_item_simple, resources.getStringArray(R.array.downloads_sortby_array)).also { spinnerSortBy.adapter = ArrayAdapter(context, R.layout.spinner_item_simple, resources.getStringArray(R.array.downloads_sortby_array)).also {
it.setDropDownViewResource(R.layout.spinner_dropdownitem_simple); it.setDropDownViewResource(R.layout.spinner_dropdownitem_simple);
}; };
val options = listOf("nameAsc", "nameDesc", "downloadDateAsc", "downloadDateDesc", "releasedAsc", "releasedDesc", "sizeAsc", "sizeDesc"); val options = listOf("nameAsc", "nameDesc", "downloadDateAsc", "downloadDateDesc", "releasedAsc", "releasedDesc", "sizeAsc", "sizeDesc", "typeAudio", "typeVideo");
spinnerSortBy.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { spinnerSortBy.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>, view: View?, pos: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>, view: View?, pos: Int, id: Long) {
when(pos) { when(pos) {
@@ -162,6 +162,8 @@ class DownloadsFragment : MainFragment() {
5 -> ordering.setAndSave("releasedDesc") 5 -> ordering.setAndSave("releasedDesc")
6 -> ordering.setAndSave("sizeAsc") 6 -> ordering.setAndSave("sizeAsc")
7 -> ordering.setAndSave("sizeDesc") 7 -> ordering.setAndSave("sizeDesc")
8 -> ordering.setAndSave("typeAudio")
9 -> ordering.setAndSave("typeVideo")
else -> ordering.setAndSave("") else -> ordering.setAndSave("")
} }
updateContentFilters() updateContentFilters()
@@ -261,6 +263,8 @@ class DownloadsFragment : MainFragment() {
"releasedDesc" -> vidsToReturn.sortedByDescending { it.datetime ?: OffsetDateTime.MIN } "releasedDesc" -> vidsToReturn.sortedByDescending { it.datetime ?: OffsetDateTime.MIN }
"sizeAsc" -> vidsToReturn.sortedBy { it.videoSource.sumOf { it.fileSize } + it.audioSource.sumOf { it.fileSize } } "sizeAsc" -> vidsToReturn.sortedBy { it.videoSource.sumOf { it.fileSize } + it.audioSource.sumOf { it.fileSize } }
"sizeDesc" -> vidsToReturn.sortedByDescending { it.videoSource.sumOf { it.fileSize } + it.audioSource.sumOf { it.fileSize } } "sizeDesc" -> vidsToReturn.sortedByDescending { it.videoSource.sumOf { it.fileSize } + it.audioSource.sumOf { it.fileSize } }
"typeAudio" -> vidsToReturn.filter { it.videoSource.isEmpty() && it.audioSource.isNotEmpty() }
"typeVideo" -> vidsToReturn.filter { it.videoSource.isNotEmpty() }
else -> vidsToReturn else -> vidsToReturn
} }
} }
+2
View File
@@ -997,6 +997,8 @@
<item>Data di Rilascio (Più Recente)</item> <item>Data di Rilascio (Più Recente)</item>
<item>Dimensione (Più Piccola)</item> <item>Dimensione (Più Piccola)</item>
<item>Dimensione (Più Grande)</item> <item>Dimensione (Più Grande)</item>
<item>Tipo (Solo Audio)</item>
<item>Tipo (Video)</item>
</string-array> </string-array>
<string-array name="playlists_sortby_array"> <string-array name="playlists_sortby_array">
<item>Nome (Ascending)</item> <item>Nome (Ascending)</item>
+2
View File
@@ -960,6 +960,8 @@
<item>Çıkış Tarihi (En Yeni)</item> <item>Çıkış Tarihi (En Yeni)</item>
<item>Boyut (En Küçük)</item> <item>Boyut (En Küçük)</item>
<item>Boyut (En Büyük)</item> <item>Boyut (En Büyük)</item>
<item>Tür (Yalnızca Ses)</item>
<item>Tür (Video)</item>
</string-array> </string-array>
<string-array name="feed_style"> <string-array name="feed_style">
<item>Önizle</item> <item>Önizle</item>
+2
View File
@@ -1053,6 +1053,8 @@
<item>Release Date (Newest)</item> <item>Release Date (Newest)</item>
<item>Size (Smallest)</item> <item>Size (Smallest)</item>
<item>Size (Largest)</item> <item>Size (Largest)</item>
<item>Type (Audio Only)</item>
<item>Type (Video)</item>
</string-array> </string-array>
<string-array name="playlists_sortby_array"> <string-array name="playlists_sortby_array">
<item>Name (Ascending)</item> <item>Name (Ascending)</item>