/* * Copyright (c) 2019 Hemanth Savarala. * * Licensed under the GNU General Public License v3 * * 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. * * 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. */ package code.name.monkey.retromusic.model import kotlinx.android.parcel.Parcelize /** * Created by hemanths on 3/4/19 */ @Parcelize class PlaylistSong( override val id: Long, override val title: String, override val trackNumber: Int, override val year: Int, override val duration: Long, override val data: String, override val dateModified: Long, override val albumId: Long, override val albumName: String, override val artistId: Long, override val artistName: String, val playlistId: Long, val idInPlayList: Long, override val composer: String, override val albumArtist: String? ) : Song( id = id, title = title, trackNumber = trackNumber, year = year, duration = duration, data = data, dateModified = dateModified, albumId = albumId, albumName = albumName, artistId = artistId, artistName = artistName, composer = composer, albumArtist = albumArtist ) { override fun equals(other: Any?): Boolean { if (this === other) return true if (javaClass != other?.javaClass) return false if (!super.equals(other)) return false other as PlaylistSong if (id != other.id) return false if (title != other.title) return false if (trackNumber != other.trackNumber) return false if (year != other.year) return false if (duration != other.duration) return false if (data != other.data) return false if (dateModified != other.dateModified) return false if (albumId != other.albumId) return false if (albumName != other.albumName) return false if (artistId != other.artistId) return false if (artistName != other.artistName) return false if (playlistId != other.playlistId) return false if (idInPlayList != other.idInPlayList) return false if (composer != other.composer) return false if (albumArtist != other.albumArtist) return false return true } override fun hashCode(): Int { var result = super.hashCode() result = 31 * result + id.hashCode() result = 31 * result + title.hashCode() result = 31 * result + trackNumber result = 31 * result + year result = 31 * result + duration.hashCode() result = 31 * result + data.hashCode() result = 31 * result + dateModified.hashCode() result = 31 * result + albumId.hashCode() result = 31 * result + albumName.hashCode() result = 31 * result + artistId.hashCode() result = 31 * result + artistName.hashCode() result = 31 * result + playlistId.hashCode() result = 31 * result + idInPlayList.hashCode() result = 31 * result + composer.hashCode() result = 31 * result + (albumArtist?.hashCode() ?: 0) return result } }