From 3d5b9a94fb6c13e1df5d233f7bcefa32733f079a Mon Sep 17 00:00:00 2001 From: jraleman Date: Tue, 24 Feb 2026 23:35:02 -0500 Subject: [PATCH 1/2] feat: add support to sort downloads by type --- .../fragment/mainactivity/main/DownloadsFragment.kt | 6 +++++- app/src/main/res/values-it/strings.xml | 2 ++ app/src/main/res/values-tr/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/DownloadsFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/DownloadsFragment.kt index 0e429430..85f0395b 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/DownloadsFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/DownloadsFragment.kt @@ -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.filter { it.videoSource.isEmpty() && it.audioSource.isNotEmpty() } + "typeVideo" -> vidsToReturn.filter { it.videoSource.isNotEmpty() } else -> vidsToReturn } } diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index d99d58af..4f988bc8 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -997,6 +997,8 @@ Data di Rilascio (Più Recente) Dimensione (Più Piccola) Dimensione (Più Grande) + Tipo (Solo Audio) + Tipo (Video) Nome (Ascending) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 39754276..606c2f5e 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -960,6 +960,8 @@ Çıkış Tarihi (En Yeni) Boyut (En Küçük) Boyut (En Büyük) + Tür (Yalnızca Ses) + Tür (Video) Önizle diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 962bef48..ed31ae7c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1053,6 +1053,8 @@ Release Date (Newest) Size (Smallest) Size (Largest) + Type (Audio Only) + Type (Video) Name (Ascending) From 837ee76bdc431caea78349999201e7d22d1caf91 Mon Sep 17 00:00:00 2001 From: jraleman Date: Sat, 28 Feb 2026 21:46:12 -0500 Subject: [PATCH 2/2] fix: sorting by download type --- .../fragment/mainactivity/main/DownloadsFragment.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/DownloadsFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/DownloadsFragment.kt index 85f0395b..a8f2aa17 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/DownloadsFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/DownloadsFragment.kt @@ -263,8 +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.filter { it.videoSource.isEmpty() && it.audioSource.isNotEmpty() } - "typeVideo" -> vidsToReturn.filter { it.videoSource.isNotEmpty() } + "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 } }