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:
Prathamesh More 2021-09-09 00:00:20 +05:30
parent fc42767031
commit bce6dbfa27
421 changed files with 13285 additions and 5757 deletions

View file

@ -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

View file

@ -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())
}

View file

@ -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);
}
}

View file

@ -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(

View file

@ -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(

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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<>();

View file

@ -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

View file

@ -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(

View file

@ -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(

View file

@ -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(

View file

@ -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(