Merge pull request #3132 from jraleman/master

feat: add support to sort downloads by type
This commit is contained in:
koen-futo
2026-04-22 11:12:39 +02:00
committed by GitHub
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 {
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 {
override fun onItemSelected(parent: AdapterView<*>, view: View?, pos: Int, id: Long) {
when(pos) {
@@ -162,6 +162,8 @@ class DownloadsFragment : MainFragment() {
5 -> ordering.setAndSave("releasedDesc")
6 -> ordering.setAndSave("sizeAsc")
7 -> ordering.setAndSave("sizeDesc")
8 -> ordering.setAndSave("typeAudio")
9 -> ordering.setAndSave("typeVideo")
else -> ordering.setAndSave("")
}
updateContentFilters()
@@ -261,6 +263,8 @@ class DownloadsFragment : MainFragment() {
"releasedDesc" -> vidsToReturn.sortedByDescending { it.datetime ?: OffsetDateTime.MIN }
"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 } }
"typeAudio" -> vidsToReturn.sortedBy { if (it.videoSource.isEmpty() && it.audioSource.isNotEmpty()) 0 else 1 }
"typeVideo" -> vidsToReturn.sortedBy { if (it.videoSource.isNotEmpty()) 0 else 1 }
else -> vidsToReturn
}
}
+2
View File
@@ -997,6 +997,8 @@
<item>Data di Rilascio (Più Recente)</item>
<item>Dimensione (Più Piccola)</item>
<item>Dimensione (Più Grande)</item>
<item>Tipo (Solo Audio)</item>
<item>Tipo (Video)</item>
</string-array>
<string-array name="playlists_sortby_array">
<item>Nome (Ascending)</item>
+2
View File
@@ -960,6 +960,8 @@
<item>Çıkış Tarihi (En Yeni)</item>
<item>Boyut (En Küçü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 name="feed_style">
<item>Önizle</item>
+2
View File
@@ -1053,6 +1053,8 @@
<item>Release Date (Newest)</item>
<item>Size (Smallest)</item>
<item>Size (Largest)</item>
<item>Type (Audio Only)</item>
<item>Type (Video)</item>
</string-array>
<string-array name="playlists_sortby_array">
<item>Name (Ascending)</item>