V5 Push
Here's a list of changes/features: https://github.com/RetroMusicPlayer/RetroMusicPlayer/releases/tag/v5.0 Internal Changes: 1) Migrated to ViewBinding 2) Migrated to Glide V4 3) Migrated to kotlin version of Material Dialogs
This commit is contained in:
parent
fc42767031
commit
bce6dbfa27
421 changed files with 13285 additions and 5757 deletions
|
@ -19,13 +19,13 @@ data class Album(
|
|||
val songs: List<Song>
|
||||
) {
|
||||
|
||||
val title: String?
|
||||
val title: String
|
||||
get() = safeGetFirstSong().albumName
|
||||
|
||||
val artistId: Long
|
||||
get() = safeGetFirstSong().artistId
|
||||
|
||||
val artistName: String?
|
||||
val artistName: String
|
||||
get() = safeGetFirstSong().artistName
|
||||
|
||||
val year: Int
|
||||
|
|
|
@ -15,23 +15,34 @@
|
|||
package code.name.monkey.retromusic.model
|
||||
|
||||
import code.name.monkey.retromusic.util.MusicUtil
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import java.util.*
|
||||
|
||||
data class Artist(
|
||||
val id: Long,
|
||||
val albums: List<Album>
|
||||
val albums: List<Album>,
|
||||
val isAlbumArtist: Boolean = false
|
||||
) {
|
||||
constructor(
|
||||
artistName: String,
|
||||
albums: List<Album>,
|
||||
isAlbumArtist: Boolean = false
|
||||
) : this(albums[0].artistId, albums, isAlbumArtist) {
|
||||
name = artistName
|
||||
}
|
||||
|
||||
val name: String
|
||||
var name: String = ""
|
||||
set(value) {
|
||||
field = value
|
||||
}
|
||||
get() {
|
||||
val name = safeGetFirstAlbum().safeGetFirstSong().albumArtist
|
||||
if (PreferenceUtil.albumArtistsOnly && MusicUtil.isVariousArtists(name)) {
|
||||
return VARIOUS_ARTISTS_DISPLAY_NAME
|
||||
val name = if (isAlbumArtist) getAlbumArtistName()
|
||||
else getArtistName()
|
||||
return when {
|
||||
MusicUtil.isVariousArtists(name) ->
|
||||
VARIOUS_ARTISTS_DISPLAY_NAME
|
||||
MusicUtil.isArtistNameUnknown(name) ->
|
||||
UNKNOWN_ARTIST_DISPLAY_NAME
|
||||
else -> name!!
|
||||
}
|
||||
return if (MusicUtil.isArtistNameUnknown(name)) {
|
||||
UNKNOWN_ARTIST_DISPLAY_NAME
|
||||
} else safeGetFirstAlbum().safeGetFirstSong().artistName
|
||||
}
|
||||
|
||||
val songCount: Int
|
||||
|
@ -53,10 +64,18 @@ data class Artist(
|
|||
return albums.firstOrNull() ?: Album.empty
|
||||
}
|
||||
|
||||
private fun getArtistName(): String {
|
||||
return safeGetFirstAlbum().safeGetFirstSong().artistName
|
||||
}
|
||||
|
||||
private fun getAlbumArtistName(): String? {
|
||||
return safeGetFirstAlbum().safeGetFirstSong().albumArtist
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val UNKNOWN_ARTIST_DISPLAY_NAME = "Unknown Artist"
|
||||
const val VARIOUS_ARTISTS_DISPLAY_NAME = "Various Artists"
|
||||
const val VARIOUS_ARTISTS_ID : Long = -2
|
||||
const val VARIOUS_ARTISTS_ID: Long = -2
|
||||
val empty = Artist(-1, emptyList())
|
||||
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ import android.os.Parcelable
|
|||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
import code.name.monkey.retromusic.R
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@Parcelize
|
||||
data class CategoryInfo(
|
||||
|
@ -31,12 +31,12 @@ data class CategoryInfo(
|
|||
@StringRes val stringRes: Int,
|
||||
@DrawableRes val icon: Int
|
||||
) {
|
||||
Home(R.id.action_home, R.string.for_you, R.drawable.ic_face),
|
||||
Songs(R.id.action_song, R.string.songs, R.drawable.ic_audiotrack),
|
||||
Albums(R.id.action_album, R.string.albums, R.drawable.ic_album),
|
||||
Artists(R.id.action_artist, R.string.artists, R.drawable.ic_artist),
|
||||
Playlists(R.id.action_playlist, R.string.playlists, R.drawable.ic_queue_music),
|
||||
Genres(R.id.action_genre, R.string.genres, R.drawable.ic_guitar),
|
||||
Folder(R.id.action_folder, R.string.folders, R.drawable.ic_folder);
|
||||
Home(R.id.action_home, R.string.for_you, R.drawable.asld_face),
|
||||
Songs(R.id.action_song, R.string.songs, R.drawable.asld_music_note),
|
||||
Albums(R.id.action_album, R.string.albums, R.drawable.asld_album),
|
||||
Artists(R.id.action_artist, R.string.artists, R.drawable.asld_artist),
|
||||
Playlists(R.id.action_playlist, R.string.playlists, R.drawable.asld_playlist),
|
||||
Genres(R.id.action_genre, R.string.genres, R.drawable.asld_guitar),
|
||||
Folder(R.id.action_folder, R.string.folders, R.drawable.asld_folder);
|
||||
}
|
||||
}
|
|
@ -16,7 +16,7 @@ package code.name.monkey.retromusic.model
|
|||
|
||||
import android.os.Parcelable
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@Parcelize
|
||||
class Contributor(
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
package code.name.monkey.retromusic.model
|
||||
|
||||
import android.os.Parcelable
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@Parcelize
|
||||
data class Genre(
|
||||
|
|
|
@ -4,7 +4,7 @@ import android.content.Context
|
|||
import android.os.Parcelable
|
||||
import code.name.monkey.retromusic.repository.RealPlaylistRepository
|
||||
import code.name.monkey.retromusic.util.MusicUtil
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import org.koin.core.KoinComponent
|
||||
import org.koin.core.get
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
*/
|
||||
package code.name.monkey.retromusic.model
|
||||
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
/**
|
||||
* Created by hemanths on 3/4/19
|
||||
|
|
|
@ -14,9 +14,7 @@
|
|||
package code.name.monkey.retromusic.model
|
||||
|
||||
import android.os.Parcelable
|
||||
import code.name.monkey.retromusic.db.HistoryEntity
|
||||
import code.name.monkey.retromusic.db.SongEntity
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
// update equals and hashcode if fields changes
|
||||
@Parcelize
|
||||
|
|
|
@ -14,9 +14,10 @@
|
|||
|
||||
package code.name.monkey.retromusic.model.lyrics;
|
||||
|
||||
import code.name.monkey.retromusic.model.Song;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import code.name.monkey.retromusic.model.Song;
|
||||
|
||||
public class Lyrics {
|
||||
|
||||
private static final ArrayList<Class<? extends Lyrics>> FORMATS = new ArrayList<>();
|
||||
|
|
|
@ -3,7 +3,7 @@ package code.name.monkey.retromusic.model.smartplaylist
|
|||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.model.Song
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import org.koin.core.KoinComponent
|
||||
|
||||
@Parcelize
|
||||
|
|
|
@ -3,7 +3,7 @@ package code.name.monkey.retromusic.model.smartplaylist
|
|||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.model.Song
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@Parcelize
|
||||
class LastAddedPlaylist : AbsSmartPlaylist(
|
||||
|
|
|
@ -3,7 +3,7 @@ package code.name.monkey.retromusic.model.smartplaylist
|
|||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.model.Song
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@Parcelize
|
||||
class NotPlayedPlaylist : AbsSmartPlaylist(
|
||||
|
|
|
@ -3,7 +3,7 @@ package code.name.monkey.retromusic.model.smartplaylist
|
|||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.model.Song
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@Parcelize
|
||||
class ShuffleAllPlaylist : AbsSmartPlaylist(
|
||||
|
|
|
@ -3,7 +3,7 @@ package code.name.monkey.retromusic.model.smartplaylist
|
|||
import code.name.monkey.retromusic.App
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.model.Song
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@Parcelize
|
||||
class TopTracksPlaylist : AbsSmartPlaylist(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue