Added default sort order for MediaStore's default sort order
This commit is contained in:
parent
ce5a8292e2
commit
52fa8ebf42
6 changed files with 22 additions and 6 deletions
|
@ -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
|
||||
|
|
|
@ -142,6 +142,13 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment<SongAdapter, GridLay
|
|||
private fun setUpSortOrderMenu(sortOrderMenu: SubMenu) {
|
||||
val currentSortOrder: String? = getSortOrder()
|
||||
sortOrderMenu.clear()
|
||||
sortOrderMenu.add(
|
||||
0,
|
||||
R.id.action_song_default_sort_order,
|
||||
0,
|
||||
R.string.sort_order_default
|
||||
).isChecked =
|
||||
currentSortOrder == SongSortOrder.SONG_DEFAULT
|
||||
sortOrderMenu.add(
|
||||
0,
|
||||
R.id.action_song_sort_order_asc,
|
||||
|
@ -270,6 +277,7 @@ class SongsFragment : AbsRecyclerViewCustomGridSizeFragment<SongAdapter, GridLay
|
|||
|
||||
private fun handleSortOrderMenuItem(item: MenuItem): Boolean {
|
||||
val sortOrder: String = when (item.itemId) {
|
||||
R.id.action_song_default_sort_order -> 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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
<item name="action_import_playlist" type="id" />
|
||||
<item name="action_artist_sort_order_asc" type="id" />
|
||||
<item name="action_artist_sort_order_desc" type="id" />
|
||||
<item name="action_song_default_sort_order" type="id" />
|
||||
<item name="action_song_sort_order_asc" type="id" />
|
||||
<item name="action_song_sort_order_desc" type="id" />
|
||||
<item name="action_playlist_sort_order_desc" type="id" />
|
||||
|
|
|
@ -501,6 +501,7 @@
|
|||
<string name="sort_order_composer">Composer</string>
|
||||
<string name="sort_order_date">Date added</string>
|
||||
<string name="sort_order_date_modified">Date modified</string>
|
||||
<string name="sort_order_default">Default</string>
|
||||
<string name="sort_order_num_songs">Song count</string>
|
||||
<string name="sort_order_num_songs_desc">Song count desc</string>
|
||||
<string name="sort_order_year">Year</string>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue