diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d5b40b4..fefe7ce 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -41,6 +41,11 @@
+
+
+
diff --git a/app/src/main/java/com/antonioleiva/bandhookkotlin/data/lastfm/model/LastFmAlbum.kt b/app/src/main/java/com/antonioleiva/bandhookkotlin/data/lastfm/model/LastFmAlbum.kt
index 76d954a..58925a7 100644
--- a/app/src/main/java/com/antonioleiva/bandhookkotlin/data/lastfm/model/LastFmAlbum.kt
+++ b/app/src/main/java/com/antonioleiva/bandhookkotlin/data/lastfm/model/LastFmAlbum.kt
@@ -24,5 +24,5 @@ class LastFmAlbum(
val url: String,
val artist: LastFmArtist,
@SerializedName("image") val images: List,
- val tracks: LastFmTracklist
+ val tracks: LastFmTracklist?
)
diff --git a/app/src/main/java/com/antonioleiva/bandhookkotlin/data/lastfm/model/LastFmTrack.kt b/app/src/main/java/com/antonioleiva/bandhookkotlin/data/lastfm/model/LastFmTrack.kt
index bcad735..16f4fbc 100644
--- a/app/src/main/java/com/antonioleiva/bandhookkotlin/data/lastfm/model/LastFmTrack.kt
+++ b/app/src/main/java/com/antonioleiva/bandhookkotlin/data/lastfm/model/LastFmTrack.kt
@@ -19,7 +19,7 @@ package com.antonioleiva.bandhookkotlin.data.lastfm.model
class LastFmTrack (
val name: String,
val duration: Int = 0,
- val mbid: String,
- val url: String,
+ val mbid: String?,
+ val url: String?,
val artist: LastFmArtist
)
diff --git a/app/src/main/java/com/antonioleiva/bandhookkotlin/data/mapper/AlbumMapper.kt b/app/src/main/java/com/antonioleiva/bandhookkotlin/data/mapper/AlbumMapper.kt
index 5327251..385c256 100644
--- a/app/src/main/java/com/antonioleiva/bandhookkotlin/data/mapper/AlbumMapper.kt
+++ b/app/src/main/java/com/antonioleiva/bandhookkotlin/data/mapper/AlbumMapper.kt
@@ -11,7 +11,8 @@ import com.antonioleiva.bandhookkotlin.domain.entity.Artist
* 03/07/16.
*/
-class AlbumMapper(val artistMapper: ArtistMapper = ArtistMapper(), val imageMapper: ImageMapper = ImageMapper()) {
+class AlbumMapper(val artistMapper: ArtistMapper = ArtistMapper(), val imageMapper: ImageMapper = ImageMapper(),
+ val trackMapper: TrackMapper = TrackMapper()) {
fun transform(albums: List): List {
return albums.filter { albumHasQualityInfo(it) }.mapNotNull { transform(it) }
@@ -31,7 +32,8 @@ class AlbumMapper(val artistMapper: ArtistMapper = ArtistMapper(), val imageMapp
album.mbid,
album.name,
imageMapper.getMainImageUrl(album.images),
- Artist("", album.artist))
+ Artist("", album.artist),
+ trackMapper.transform(album.tracks.tracks))
} else {
return null
}
@@ -43,7 +45,8 @@ class AlbumMapper(val artistMapper: ArtistMapper = ArtistMapper(), val imageMapp
album.mbid,
album.name,
imageMapper.getMainImageUrl(album.images),
- artistMapper.transform(album.artist))
+ artistMapper.transform(album.artist),
+ trackMapper.transform(album.tracks?.tracks))
} else {
return null
}
diff --git a/app/src/main/java/com/antonioleiva/bandhookkotlin/data/mapper/TrackMapper.kt b/app/src/main/java/com/antonioleiva/bandhookkotlin/data/mapper/TrackMapper.kt
new file mode 100644
index 0000000..017a26a
--- /dev/null
+++ b/app/src/main/java/com/antonioleiva/bandhookkotlin/data/mapper/TrackMapper.kt
@@ -0,0 +1,19 @@
+package com.antonioleiva.bandhookkotlin.data.mapper
+
+import com.antonioleiva.bandhookkotlin.data.lastfm.model.LastFmTrack
+import com.antonioleiva.bandhookkotlin.domain.entity.Track
+
+/**
+ * @author alexey@plainvanillagames.com
+ *
+ * 05/07/16.
+ */
+
+class TrackMapper() {
+
+ fun transform(tracks: List?) : List