2018-11-30 01:06:16 +00:00
|
|
|
/*
|
2020-10-06 08:46:04 +00:00
|
|
|
* Copyright (c) 2020 Hemanth Savarla.
|
2019-03-03 09:20:15 +00:00
|
|
|
*
|
|
|
|
* Licensed under the GNU General Public License v3
|
|
|
|
*
|
2020-10-06 08:46:04 +00:00
|
|
|
* This is free software: you can redistribute it and/or modify it
|
|
|
|
* under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
|
2019-03-03 09:20:15 +00:00
|
|
|
*
|
|
|
|
* This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
|
|
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
* See the GNU General Public License for more details.
|
2020-10-06 08:46:04 +00:00
|
|
|
*
|
2018-11-30 01:06:16 +00:00
|
|
|
*/
|
|
|
|
package code.name.monkey.retromusic.helper
|
|
|
|
|
|
|
|
import android.provider.MediaStore
|
2021-09-08 18:30:20 +00:00
|
|
|
import code.name.monkey.retromusic.ALBUM_ARTIST
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
class SortOrder {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Artist sort order entries.
|
|
|
|
*/
|
|
|
|
interface ArtistSortOrder {
|
2020-02-18 19:11:26 +00:00
|
|
|
|
2018-11-30 01:06:16 +00:00
|
|
|
companion object {
|
|
|
|
|
|
|
|
/* Artist sort order A-Z */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ARTIST_A_Z = MediaStore.Audio.Artists.DEFAULT_SORT_ORDER
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist sort order Z-A */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ARTIST_Z_A = "$ARTIST_A_Z DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist sort order number of songs */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ARTIST_NUMBER_OF_SONGS = MediaStore.Audio.Artists.NUMBER_OF_TRACKS + " DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist sort order number of albums */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ARTIST_NUMBER_OF_ALBUMS = MediaStore.Audio.Artists.NUMBER_OF_ALBUMS + " DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Album sort order entries.
|
|
|
|
*/
|
|
|
|
interface AlbumSortOrder {
|
2020-02-18 19:11:26 +00:00
|
|
|
|
2018-11-30 01:06:16 +00:00
|
|
|
companion object {
|
|
|
|
|
|
|
|
/* Album sort order A-Z */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ALBUM_A_Z = MediaStore.Audio.Albums.DEFAULT_SORT_ORDER
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Album sort order Z-A */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ALBUM_Z_A = "$ALBUM_A_Z DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Album sort order songs */
|
2021-09-08 18:30:20 +00:00
|
|
|
const val ALBUM_NUMBER_OF_SONGS = MediaStore.Audio.AlbumColumns.NUMBER_OF_SONGS + " DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Album sort order artist */
|
2020-10-06 08:46:04 +00:00
|
|
|
const val ALBUM_ARTIST = (MediaStore.Audio.Artists.DEFAULT_SORT_ORDER +
|
|
|
|
", " + MediaStore.Audio.Albums.DEFAULT_SORT_ORDER)
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Album sort order year */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ALBUM_YEAR = MediaStore.Audio.Media.YEAR + " DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Song sort order entries.
|
|
|
|
*/
|
|
|
|
interface SongSortOrder {
|
2020-02-18 19:11:26 +00:00
|
|
|
|
2018-11-30 01:06:16 +00:00
|
|
|
companion object {
|
|
|
|
|
|
|
|
/* Song sort order A-Z */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_A_Z = MediaStore.Audio.Media.DEFAULT_SORT_ORDER
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Song sort order Z-A */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_Z_A = "$SONG_A_Z DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Song sort order artist */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_ARTIST = MediaStore.Audio.Artists.DEFAULT_SORT_ORDER
|
2018-11-30 01:06:16 +00:00
|
|
|
|
2021-09-08 18:30:20 +00:00
|
|
|
/* Song sort order album artist */
|
|
|
|
const val SONG_ALBUM_ARTIST = ALBUM_ARTIST
|
|
|
|
|
2018-11-30 01:06:16 +00:00
|
|
|
/* Song sort order album */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_ALBUM = MediaStore.Audio.Albums.DEFAULT_SORT_ORDER
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Song sort order year */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_YEAR = MediaStore.Audio.Media.YEAR + " DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Song sort order duration */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_DURATION = MediaStore.Audio.Media.DURATION + " DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Song sort order date */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_DATE = MediaStore.Audio.Media.DATE_ADDED + " DESC"
|
2019-02-26 16:48:11 +00:00
|
|
|
|
2020-02-18 19:11:26 +00:00
|
|
|
/* Song sort modified date */
|
2020-02-21 07:56:44 +00:00
|
|
|
const val SONG_DATE_MODIFIED = MediaStore.Audio.Media.DATE_MODIFIED + " DESC"
|
2020-02-18 19:11:26 +00:00
|
|
|
|
2019-02-26 16:48:11 +00:00
|
|
|
/* Song sort order composer*/
|
|
|
|
const val COMPOSER = MediaStore.Audio.Media.COMPOSER
|
2018-11-30 01:06:16 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Album song sort order entries.
|
|
|
|
*/
|
|
|
|
interface AlbumSongSortOrder {
|
2020-02-18 19:11:26 +00:00
|
|
|
|
2018-11-30 01:06:16 +00:00
|
|
|
companion object {
|
|
|
|
|
|
|
|
/* Album song sort order A-Z */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_A_Z = MediaStore.Audio.Media.DEFAULT_SORT_ORDER
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Album song sort order Z-A */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_Z_A = "$SONG_A_Z DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Album song sort order track list */
|
2020-10-06 08:46:04 +00:00
|
|
|
const val SONG_TRACK_LIST = (MediaStore.Audio.Media.TRACK + ", " +
|
|
|
|
MediaStore.Audio.Media.DEFAULT_SORT_ORDER)
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Album song sort order duration */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_DURATION = SongSortOrder.SONG_DURATION
|
2018-11-30 01:06:16 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Artist song sort order entries.
|
|
|
|
*/
|
|
|
|
interface ArtistSongSortOrder {
|
2020-02-18 19:11:26 +00:00
|
|
|
|
2018-11-30 01:06:16 +00:00
|
|
|
companion object {
|
|
|
|
|
|
|
|
/* Artist song sort order A-Z */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_A_Z = MediaStore.Audio.Media.DEFAULT_SORT_ORDER
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist song sort order Z-A */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_Z_A = "$SONG_A_Z DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist song sort order album */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_ALBUM = MediaStore.Audio.Media.ALBUM
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist song sort order year */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_YEAR = MediaStore.Audio.Media.YEAR + " DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist song sort order duration */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_DURATION = MediaStore.Audio.Media.DURATION + " DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist song sort order date */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val SONG_DATE = MediaStore.Audio.Media.DATE_ADDED + " DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Artist album sort order entries.
|
|
|
|
*/
|
|
|
|
interface ArtistAlbumSortOrder {
|
2020-02-18 19:11:26 +00:00
|
|
|
|
2018-11-30 01:06:16 +00:00
|
|
|
companion object {
|
|
|
|
|
|
|
|
/* Artist album sort order A-Z */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ALBUM_A_Z = MediaStore.Audio.Albums.DEFAULT_SORT_ORDER
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist album sort order Z-A */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ALBUM_Z_A = "$ALBUM_A_Z DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist album sort order year */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ALBUM_YEAR = MediaStore.Audio.Media.YEAR + " DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Artist album sort order year */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ALBUM_YEAR_ASC = MediaStore.Audio.Media.YEAR + " ASC"
|
2018-11-30 01:06:16 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Genre sort order entries.
|
|
|
|
*/
|
|
|
|
interface GenreSortOrder {
|
2020-02-18 19:11:26 +00:00
|
|
|
|
2018-11-30 01:06:16 +00:00
|
|
|
companion object {
|
|
|
|
|
|
|
|
/* Genre sort order A-Z */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val GENRE_A_Z = MediaStore.Audio.Genres.DEFAULT_SORT_ORDER
|
2018-11-30 01:06:16 +00:00
|
|
|
|
|
|
|
/* Genre sort order Z-A */
|
2018-12-08 03:33:02 +00:00
|
|
|
const val ALBUM_Z_A = "$GENRE_A_Z DESC"
|
2018-11-30 01:06:16 +00:00
|
|
|
}
|
|
|
|
}
|
2020-10-09 17:44:02 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Playlist sort order entries.
|
|
|
|
*/
|
|
|
|
interface PlaylistSortOrder {
|
|
|
|
|
|
|
|
companion object {
|
|
|
|
|
|
|
|
/* Playlist sort order A-Z */
|
|
|
|
const val PLAYLIST_A_Z = MediaStore.Audio.Playlists.DEFAULT_SORT_ORDER
|
|
|
|
|
|
|
|
/* Playlist sort order Z-A */
|
|
|
|
const val PLAYLIST_Z_A = "$PLAYLIST_A_Z DESC"
|
|
|
|
|
|
|
|
/* Playlist sort order number of songs */
|
|
|
|
const val PLAYLIST_SONG_COUNT = "playlist_song_count"
|
|
|
|
|
|
|
|
/* Playlist sort order number of songs */
|
|
|
|
const val PLAYLIST_SONG_COUNT_DESC = "$PLAYLIST_SONG_COUNT DESC"
|
|
|
|
}
|
|
|
|
}
|
2020-10-06 08:46:04 +00:00
|
|
|
}
|