From 52fa8ebf423296e53314e94f5f12a7be83037f07 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Mon, 6 Jun 2022 10:27:39 +0530 Subject: [PATCH] Added default sort order for MediaStore's default sort order --- .../monkey/retromusic/adapter/song/SongAdapter.kt | 1 + .../retromusic/fragments/songs/SongsFragment.kt | 8 ++++++++ .../code/name/monkey/retromusic/helper/SortOrder.kt | 4 +++- .../code/name/monkey/retromusic/util/MusicUtil.kt | 13 ++++++++----- app/src/main/res/values/ids.xml | 1 + app/src/main/res/values/strings.xml | 1 + 6 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt index a7c6b634d..5023f7ba1 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/song/SongAdapter.kt @@ -159,6 +159,7 @@ open class SongAdapter( override fun getPopupText(position: Int): String { val sectionName: String? = when (PreferenceUtil.songSortOrder) { + SortOrder.SongSortOrder.SONG_DEFAULT -> return MusicUtil.getSectionName(dataSet[position].title, true) SortOrder.SongSortOrder.SONG_A_Z, SortOrder.SongSortOrder.SONG_Z_A -> dataSet[position].title SortOrder.SongSortOrder.SONG_ALBUM -> dataSet[position].albumName SortOrder.SongSortOrder.SONG_ARTIST -> dataSet[position].artistName diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt index 73a7f5e28..a728e2828 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt @@ -142,6 +142,13 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment SongSortOrder.SONG_DEFAULT R.id.action_song_sort_order_asc -> SongSortOrder.SONG_A_Z R.id.action_song_sort_order_desc -> SongSortOrder.SONG_Z_A R.id.action_song_sort_order_artist -> SongSortOrder.SONG_ARTIST diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/SortOrder.kt b/app/src/main/java/code/name/monkey/retromusic/helper/SortOrder.kt index b77e39d09..ee3e2a018 100644 --- a/app/src/main/java/code/name/monkey/retromusic/helper/SortOrder.kt +++ b/app/src/main/java/code/name/monkey/retromusic/helper/SortOrder.kt @@ -72,8 +72,10 @@ class SortOrder { companion object { + const val SONG_DEFAULT = MediaStore.Audio.Media.DEFAULT_SORT_ORDER + /* Song sort order A-Z */ - const val SONG_A_Z = MediaStore.Audio.Media.DEFAULT_SORT_ORDER + const val SONG_A_Z = MediaStore.Audio.Media.TITLE /* Song sort order Z-A */ const val SONG_Z_A = "$SONG_A_Z DESC" diff --git a/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.kt index 4fa2d4f60..6f9a723eb 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/MusicUtil.kt @@ -226,18 +226,21 @@ object MusicUtil : KoinComponent { } } - fun getSectionName(mediaTitle: String?): String { + fun getSectionName(mediaTitle: String?, stripPrefix: Boolean = false): String { var musicMediaTitle = mediaTitle return try { if (musicMediaTitle.isNullOrEmpty()) { return "-" } musicMediaTitle = musicMediaTitle.trim { it <= ' ' }.lowercase() - if (musicMediaTitle.startsWith("the ")) { - musicMediaTitle = musicMediaTitle.substring(4) - } else if (musicMediaTitle.startsWith("a ")) { - musicMediaTitle = musicMediaTitle.substring(2) + if (stripPrefix) { + if (musicMediaTitle.startsWith("the ")) { + musicMediaTitle = musicMediaTitle.substring(4) + } else if (musicMediaTitle.startsWith("a ")) { + musicMediaTitle = musicMediaTitle.substring(2) + } } + if (musicMediaTitle.isEmpty()) { "" } else musicMediaTitle.substring(0, 1).uppercase() diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml index f831393ed..1ebc829d9 100644 --- a/app/src/main/res/values/ids.xml +++ b/app/src/main/res/values/ids.xml @@ -12,6 +12,7 @@ + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 95b81e240..d56dbaa73 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -501,6 +501,7 @@ Composer Date added Date modified + Default Song count Song count desc Year