Implemented a corner radius for almost all images managed by Glide

This commit is contained in:
CappielloAntonio 2021-08-09 10:48:52 +02:00
parent 16d766a17d
commit a3d01e1425
21 changed files with 44 additions and 9 deletions

View file

@ -4,6 +4,7 @@ import android.content.Context;
import android.os.Bundle;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.RoundedCorner;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
@ -12,6 +13,7 @@ import android.widget.TextView;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album;
@ -50,6 +52,7 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
CustomGlideRequest.Builder
.from(context, album.getPrimary(), CustomGlideRequest.ALBUM_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -12,6 +12,7 @@ import android.widget.TextView;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album;
@ -49,6 +50,7 @@ public class AlbumArtistPageOrSimilarAdapter extends RecyclerView.Adapter<AlbumA
CustomGlideRequest.Builder
.from(context, album.getPrimary(), CustomGlideRequest.ALBUM_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -15,6 +15,7 @@ import android.widget.TextView;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album;
@ -87,7 +88,7 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
CustomGlideRequest.Builder
.from(context, album.getPrimary(), CustomGlideRequest.ALBUM_PIC)
.build()
.override(300)
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -13,6 +13,7 @@ import androidx.fragment.app.FragmentManager;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album;
@ -56,6 +57,7 @@ public class AlbumHorizontalAdapter extends RecyclerView.Adapter<AlbumHorizontal
CustomGlideRequest.Builder
.from(context, album.getPrimary(), CustomGlideRequest.ALBUM_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -12,6 +12,7 @@ import android.widget.TextView;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist;
@ -49,6 +50,7 @@ public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder
CustomGlideRequest.Builder
.from(context, artist.getId(), CustomGlideRequest.ARTIST_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -15,6 +15,7 @@ import android.widget.TextView;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist;
@ -86,6 +87,7 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
CustomGlideRequest.Builder
.from(context, artist.getId(), CustomGlideRequest.ARTIST_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -13,6 +13,7 @@ import androidx.fragment.app.FragmentManager;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist;
@ -56,6 +57,7 @@ public class ArtistHorizontalAdapter extends RecyclerView.Adapter<ArtistHorizont
CustomGlideRequest.Builder
.from(context, artist.getId(), CustomGlideRequest.ARTIST_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -12,6 +12,7 @@ import android.widget.TextView;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist;
@ -48,6 +49,7 @@ public class ArtistSimilarAdapter extends RecyclerView.Adapter<ArtistSimilarAdap
CustomGlideRequest.Builder
.from(context, artist.getId(), CustomGlideRequest.ALBUM_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -11,6 +11,7 @@ import android.widget.TextView;
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;

View file

@ -9,6 +9,7 @@ import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Song;
@ -44,6 +45,7 @@ public class PlayerNowPlayingSongAdapter extends RecyclerView.Adapter<PlayerNowP
CustomGlideRequest.Builder
.from(context, song.getId(), CustomGlideRequest.SONG_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -10,6 +10,7 @@ import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Song;
@ -54,6 +55,7 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
CustomGlideRequest.Builder
.from(context, song.getPrimary(), CustomGlideRequest.SONG_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
if (position < MusicPlayerRemote.getPosition()) {

View file

@ -12,6 +12,7 @@ import android.widget.TextView;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Playlist;
@ -52,6 +53,7 @@ public class PlaylistAdapter extends RecyclerView.Adapter<PlaylistAdapter.ViewHo
CustomGlideRequest.Builder
.from(context, playlist.getPrimary(), CustomGlideRequest.PLAYLIST_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -15,6 +15,7 @@ import android.widget.TextView;
import androidx.navigation.Navigation;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Playlist;
@ -84,6 +85,7 @@ public class PlaylistCatalogueAdapter extends RecyclerView.Adapter<PlaylistCatal
CustomGlideRequest.Builder
.from(context, playlist.getPrimary(), CustomGlideRequest.PLAYLIST_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -13,6 +13,7 @@ import androidx.fragment.app.FragmentManager;
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;
@ -61,6 +62,7 @@ public class RecentMusicAdapter extends RecyclerView.Adapter<RecentMusicAdapter.
CustomGlideRequest.Builder
.from(context, song.getPrimary(), CustomGlideRequest.SONG_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -13,6 +13,7 @@ import androidx.fragment.app.FragmentManager;
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;
@ -65,6 +66,7 @@ public class SongHorizontalAdapter extends RecyclerView.Adapter<SongHorizontalAd
CustomGlideRequest.Builder
.from(context, song.getPrimary(), CustomGlideRequest.SONG_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(holder.cover);
}

View file

@ -26,42 +26,38 @@ public class CustomGlideRequest {
public static final String ARTIST_PIC = "ARTIST";
public static final String PLAYLIST_PIC = "PLAYLIST";
public static final int CORNER_RADIUS = 12;
public static final DiskCacheStrategy DEFAULT_DISK_CACHE_STRATEGY = DiskCacheStrategy.ALL;
public static RequestOptions createRequestOptions(String item, Drawable placeholder) {
RequestOptions options = new RequestOptions()
return new RequestOptions()
.error(placeholder)
.diskCacheStrategy(DEFAULT_DISK_CACHE_STRATEGY)
.signature(new ObjectKey(item != null ? item : 0))
.centerCrop();
return options;
}
public static String createUrl(String item) {
String url = App.getSubsonicClientInstance(App.getInstance(), false).getUrl();
Map<String, String> params = App.getSubsonicClientInstance(App.getInstance(), false).getParams();
String sb = url + "getCoverArt" +
return url + "getCoverArt" +
"?u=" + params.get("u") +
"&s=" + params.get("s") +
"&t=" + params.get("t") +
"&v=" + params.get("v") +
"&c=" + params.get("c") +
"&id=" + item;
return sb;
}
public static class Builder {
private final RequestManager requestManager;
private final Object item;
private final Context context;
private Builder(Context context, String item, String category) {
this.requestManager = Glide.with(context);
this.item = item != null ? createUrl(item) : MusicUtil.getDefaultPicPerCategory(category);
this.context = context;
Drawable drawable = ResourcesCompat.getDrawable(context.getResources(), MusicUtil.getDefaultPicPerCategory(category), null);
requestManager.applyDefaultRequestOptions(createRequestOptions(item, drawable));

View file

@ -19,6 +19,7 @@ import androidx.fragment.app.Fragment;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.adapter.AlbumArtistPageOrSimilarAdapter;
@ -171,6 +172,7 @@ public class AlbumPageFragment extends Fragment {
CustomGlideRequest.Builder
.from(requireContext(), albumPageViewModel.getAlbum().getPrimary(), CustomGlideRequest.ALBUM_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(bind.albumCoverImageView);
}

View file

@ -18,6 +18,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.ViewPager2;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.adapter.PlayerNowPlayingSongAdapter;
import com.cappielloantonio.play.adapter.PlayerSongQueueAdapter;
@ -274,6 +275,7 @@ public class PlayerBottomSheetFragment extends Fragment implements MusicServiceE
CustomGlideRequest.Builder
.from(requireContext(), song.getPrimary(), CustomGlideRequest.SONG_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(bind.playerHeaderLayout.playerHeaderSongCoverImage);
bind.playerBodyLayout.buttonFavorite.setChecked(song.isFavorite());

View file

@ -15,6 +15,7 @@ import androidx.annotation.Nullable;
import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.fragment.NavHostFragment;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
@ -76,6 +77,7 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements
CustomGlideRequest.Builder
.from(requireContext(), albumBottomSheetViewModel.getAlbum().getPrimary(), CustomGlideRequest.ALBUM_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(coverAlbum);
titleAlbum = view.findViewById(R.id.album_title_text_view);

View file

@ -14,6 +14,7 @@ import android.widget.ToggleButton;
import androidx.annotation.Nullable;
import androidx.lifecycle.ViewModelProvider;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
@ -68,6 +69,7 @@ public class ArtistBottomSheetDialog extends BottomSheetDialogFragment implement
CustomGlideRequest.Builder
.from(requireContext(), artistBottomSheetViewModel.getArtist().getPrimary(), CustomGlideRequest.ARTIST_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(coverArtist);
nameArtist = view.findViewById(R.id.song_title_text_view);

View file

@ -15,6 +15,7 @@ import androidx.annotation.Nullable;
import androidx.lifecycle.ViewModelProvider;
import androidx.navigation.fragment.NavHostFragment;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
@ -72,6 +73,7 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements
CustomGlideRequest.Builder
.from(requireContext(), songBottomSheetViewModel.getSong().getPrimary(), CustomGlideRequest.SONG_PIC)
.build()
.transform(new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
.into(coverSong);
titleSong = view.findViewById(R.id.song_title_text_view);