diff --git a/app/src/main/java/com/cappielloantonio/play/model/Artist.java b/app/src/main/java/com/cappielloantonio/play/model/Artist.java index b84a0e17..16650eb3 100644 --- a/app/src/main/java/com/cappielloantonio/play/model/Artist.java +++ b/app/src/main/java/com/cappielloantonio/play/model/Artist.java @@ -33,6 +33,7 @@ public class Artist implements Parcelable { public int albumCount; public boolean favorite; public String bio; + public String imageUrl; public Artist(ArtistID3 artistID3) { this.id = artistID3.getId(); @@ -65,6 +66,7 @@ public class Artist implements Parcelable { public Artist(ArtistInfo2 artistInfo2) { this.similarArtists = MappingUtil.mapSimilarArtist(artistInfo2.getSimilarArtists()); this.bio = artistInfo2.getBiography(); + this.imageUrl = artistInfo2.getLargeImageUrl(); } public Artist(String id, String name) { @@ -144,7 +146,6 @@ public class Artist implements Parcelable { this.favorite = favorite; } - public List getSimilarArtists() { return similarArtists; } @@ -161,6 +162,14 @@ public class Artist implements Parcelable { this.bio = bio; } + public String getImageUrl() { + return imageUrl; + } + + public void setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + } + @Override public boolean equals(Object o) { if (this == o) return true; diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java index ff4a0ddc..980ece32 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistPageFragment.java @@ -57,7 +57,7 @@ public class ArtistPageFragment extends Fragment { init(); initAppBar(); - initBackdrop(); + initArtistInfo(); initPlayButtons(); initTopSongsView(); initAlbumsView(); @@ -109,11 +109,15 @@ public class ArtistPageFragment extends Fragment { }); } - private void initBackdrop() { - CustomGlideRequest.Builder - .from(requireContext(), artistPageViewModel.getArtist().getId(), CustomGlideRequest.ARTIST_PIC) - .build() - .into(bind.artistBackdropImageView); + private void initArtistInfo() { + artistPageViewModel.getArtistInfo(artistPageViewModel.getArtist().getId()).observe(requireActivity(), artist -> { + CustomGlideRequest.Builder + .from(requireContext(), null, CustomGlideRequest.ARTIST_PIC, artist.getImageUrl()) + .build() + .into(bind.artistBackdropImageView); + + bind.bioTextView.setText(MusicUtil.HTMLParser(artist.getBio())); + }); } private void initPlayButtons() { diff --git a/app/src/main/res/layout/fragment_artist_page.xml b/app/src/main/res/layout/fragment_artist_page.xml index f106a37a..933eecf9 100644 --- a/app/src/main/res/layout/fragment_artist_page.xml +++ b/app/src/main/res/layout/fragment_artist_page.xml @@ -115,6 +115,46 @@ android:layout_marginEnd="18dp" android:layout_marginBottom="12dp"/> + + + + + + + + + + + +