diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistAdapter.java index b0cb891b..98f8d92d 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistAdapter.java @@ -11,6 +11,7 @@ import android.widget.TextView; import android.widget.Toast; import androidx.annotation.NonNull; +import androidx.lifecycle.Observer; import androidx.media3.session.MediaBrowser; import androidx.navigation.Navigation; import androidx.recyclerview.widget.RecyclerView; @@ -60,15 +61,13 @@ public class ArtistAdapter extends RecyclerView.Adapter() { + @Override + public void onChanged(Artist artist) { + CustomGlideRequest.Builder + .from(context, artist.getId(), CustomGlideRequest.ARTIST_PIC, artist.getImageUrl()) + .build() + .transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS)) + .into(cover); + + artistRepository.getArtistFullInfo(artist.getId()).removeObserver(this); + } + }); + } + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { TextView textArtistName; ImageView cover; diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistCatalogueAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistCatalogueAdapter.java index e1df218a..34a7e750 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistCatalogueAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistCatalogueAdapter.java @@ -12,14 +12,15 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.lifecycle.Observer; import androidx.navigation.Navigation; import androidx.recyclerview.widget.RecyclerView; -import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.cappielloantonio.play.App; import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; -import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; +import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.util.MusicUtil; @@ -85,21 +86,13 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter() { + @Override + public void onChanged(Artist artist) { + CustomGlideRequest.Builder + .from( + context, + artist.getId(), + CustomGlideRequest.ARTIST_PIC, + artist.getImageUrl() + ) + .build() + .into(cover); + + artistRepository.getArtistFullInfo(artist.getId()).removeObserver(this); + } + }); + } + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { TextView textArtistName; ImageView cover; diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistHorizontalAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistHorizontalAdapter.java index c8f97d42..e441151e 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistHorizontalAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistHorizontalAdapter.java @@ -9,13 +9,17 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.lifecycle.Observer; import androidx.navigation.Navigation; import androidx.recyclerview.widget.RecyclerView; +import com.bumptech.glide.Glide; import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.cappielloantonio.play.App; import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.model.Artist; +import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.util.MusicUtil; import java.util.ArrayList; @@ -46,6 +50,8 @@ public class ArtistHorizontalAdapter extends RecyclerView.Adapter() { + @Override + public void onChanged(Artist artist) { + CustomGlideRequest.Builder + .from( + context, + artist.getId(), + CustomGlideRequest.ARTIST_PIC, + artist.getImageUrl() + ) + .build() + .transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS)) + .into(cover); + + artistRepository.getArtistFullInfo(artist.getId()).removeObserver(this); + } + }); + } + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { TextView artistName; TextView artistInfo; diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistSimilarAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistSimilarAdapter.java index e4a57fc3..f9434876 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistSimilarAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistSimilarAdapter.java @@ -9,13 +9,17 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.lifecycle.Observer; import androidx.navigation.Navigation; import androidx.recyclerview.widget.RecyclerView; +import com.bumptech.glide.Glide; import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.cappielloantonio.play.App; import com.cappielloantonio.play.R; import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.model.Artist; +import com.cappielloantonio.play.repository.ArtistRepository; import com.cappielloantonio.play.util.MusicUtil; import java.util.ArrayList; @@ -44,21 +48,13 @@ public class ArtistSimilarAdapter extends RecyclerView.Adapter() { + @Override + public void onChanged(Artist artist) { + CustomGlideRequest.Builder + .from( + context, + artist.getId(), + CustomGlideRequest.ARTIST_PIC, + artist.getImageUrl() + ) + .build() + .transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS)) + .into(cover); + + artistRepository.getArtistFullInfo(artist.getId()).removeObserver(this); + } + }); + } + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { TextView textArtistName; ImageView cover; diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java index d74454fb..2d168b4b 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java @@ -26,7 +26,6 @@ import com.cappielloantonio.play.R; import com.cappielloantonio.play.adapter.ArtistCatalogueAdapter; import com.cappielloantonio.play.databinding.FragmentArtistCatalogueBinding; import com.cappielloantonio.play.helper.recyclerview.GridItemDecoration; -import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.viewmodel.ArtistCatalogueViewModel; 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 b4d1a4c5..9a098fe6 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 @@ -125,8 +125,7 @@ public class ArtistPageFragment extends Fragment { requireContext(), artistPageViewModel.getArtist().getId(), CustomGlideRequest.ARTIST_PIC, - // artist.getImageUrl() - null + artist.getImageUrl() ) .build() .into(bind.artistBackdropImageView);