Moved HTML info decoding in its own static class

This commit is contained in:
CappielloAntonio 2021-08-01 19:08:40 +02:00
parent 02e68f7ba7
commit 5f0427598f
25 changed files with 71 additions and 40 deletions

View file

@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R; import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -43,8 +44,8 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Album album = albums.get(position); Album album = albums.get(position);
holder.textAlbumName.setText(Html.fromHtml(album.getTitle(), Html.FROM_HTML_MODE_COMPACT)); holder.textAlbumName.setText(MusicUtil.getReadableInfo(album.getTitle()));
holder.textArtistName.setText(Html.fromHtml(album.getArtistName(), Html.FROM_HTML_MODE_COMPACT)); holder.textArtistName.setText(MusicUtil.getReadableInfo(album.getArtistName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.ALBUM_PIC) .from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.ALBUM_PIC)

View file

@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R; import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -42,8 +43,8 @@ public class AlbumArtistPageOrSimilarAdapter extends RecyclerView.Adapter<AlbumA
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Album album = albums.get(position); Album album = albums.get(position);
holder.textAlbumName.setText(Html.fromHtml(album.getTitle(), Html.FROM_HTML_MODE_COMPACT)); holder.textAlbumName.setText(MusicUtil.getReadableInfo(album.getTitle()));
holder.textArtistName.setText(Html.fromHtml(album.getArtistName(), Html.FROM_HTML_MODE_COMPACT)); holder.textArtistName.setText(MusicUtil.getReadableInfo(album.getArtistName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.ALBUM_PIC) .from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.ALBUM_PIC)

View file

@ -19,6 +19,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -80,8 +81,8 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Album album = albums.get(position); Album album = albums.get(position);
holder.textAlbumName.setText(Html.fromHtml(album.getTitle(), Html.FROM_HTML_MODE_COMPACT)); holder.textAlbumName.setText(MusicUtil.getReadableInfo(album.getTitle()));
holder.textArtistName.setText(Html.fromHtml(album.getArtistName(), Html.FROM_HTML_MODE_COMPACT)); holder.textArtistName.setText(MusicUtil.getReadableInfo(album.getArtistName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.ALBUM_PIC) .from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.ALBUM_PIC)

View file

@ -17,6 +17,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -49,8 +50,8 @@ public class AlbumHorizontalAdapter extends RecyclerView.Adapter<AlbumHorizontal
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Album album = albums.get(position); Album album = albums.get(position);
holder.albumTitle.setText(Html.fromHtml(album.getTitle(), Html.FROM_HTML_MODE_COMPACT)); holder.albumTitle.setText(MusicUtil.getReadableInfo(album.getTitle()));
holder.albumArtist.setText(Html.fromHtml(album.getArtistName(), Html.FROM_HTML_MODE_COMPACT)); holder.albumArtist.setText(MusicUtil.getReadableInfo(album.getArtistName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.ALBUM_PIC) .from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.ALBUM_PIC)

View file

@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R; import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -43,7 +44,7 @@ public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Artist artist = artists.get(position); Artist artist = artists.get(position);
holder.textArtistName.setText(Html.fromHtml(artist.getName(), Html.FROM_HTML_MODE_COMPACT)); holder.textArtistName.setText(MusicUtil.getReadableInfo(artist.getName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, artist.getPrimary(), artist.getPrimaryBlurHash(), CustomGlideRequest.ARTIST_PIC) .from(context, artist.getPrimary(), artist.getPrimaryBlurHash(), CustomGlideRequest.ARTIST_PIC)

View file

@ -19,6 +19,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -80,7 +81,7 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Artist artist = artists.get(position); Artist artist = artists.get(position);
holder.textArtistName.setText(Html.fromHtml(artist.getName(), Html.FROM_HTML_MODE_COMPACT)); holder.textArtistName.setText(MusicUtil.getReadableInfo(artist.getName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, artist.getPrimary(), artist.getPrimaryBlurHash(), CustomGlideRequest.ARTIST_PIC) .from(context, artist.getPrimary(), artist.getPrimaryBlurHash(), CustomGlideRequest.ARTIST_PIC)

View file

@ -17,6 +17,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -49,7 +50,7 @@ public class ArtistHorizontalAdapter extends RecyclerView.Adapter<ArtistHorizont
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Artist artist = artists.get(position); Artist artist = artists.get(position);
holder.artistName.setText(Html.fromHtml(artist.getName(), Html.FROM_HTML_MODE_COMPACT)); holder.artistName.setText(MusicUtil.getReadableInfo(artist.getName()));
holder.artistInfo.setText("Album count: " + String.valueOf(artist.getAlbumCount())); holder.artistInfo.setText("Album count: " + String.valueOf(artist.getAlbumCount()));
CustomGlideRequest.Builder CustomGlideRequest.Builder

View file

@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R; import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -42,7 +43,7 @@ public class ArtistSimilarAdapter extends RecyclerView.Adapter<ArtistSimilarAdap
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Artist artist = artists.get(position); Artist artist = artists.get(position);
holder.textArtistName.setText(Html.fromHtml(artist.getName(), Html.FROM_HTML_MODE_COMPACT)); holder.textArtistName.setText(MusicUtil.getReadableInfo(artist.getName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, artist.getPrimary(), artist.getPrimaryBlurHash(), CustomGlideRequest.ALBUM_PIC) .from(context, artist.getPrimary(), artist.getPrimaryBlurHash(), CustomGlideRequest.ALBUM_PIC)

View file

@ -20,6 +20,7 @@ import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.repository.SongRepository; import com.cappielloantonio.play.repository.SongRepository;
import com.cappielloantonio.play.service.MusicPlayerRemote; import com.cappielloantonio.play.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -49,8 +50,8 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter<DiscoverSongAdapte
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Song song = songs.get(position); Song song = songs.get(position);
holder.textTitle.setText(Html.fromHtml(song.getTitle(), Html.FROM_HTML_MODE_COMPACT)); holder.textTitle.setText(MusicUtil.getReadableInfo(song.getTitle()));
holder.textAlbum.setText(Html.fromHtml(song.getAlbumName(), Html.FROM_HTML_MODE_COMPACT)); holder.textAlbum.setText(MusicUtil.getReadableInfo(song.getAlbumName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, song.getPrimary(), song.getBlurHash(), CustomGlideRequest.SONG_PIC) .from(context, song.getPrimary(), song.getBlurHash(), CustomGlideRequest.SONG_PIC)

View file

@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R; import com.cappielloantonio.play.R;
import com.cappielloantonio.play.model.Genre; import com.cappielloantonio.play.model.Genre;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -39,7 +40,7 @@ public class GenreAdapter extends RecyclerView.Adapter<GenreAdapter.ViewHolder>
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Genre genre = genres.get(position); Genre genre = genres.get(position);
holder.textGenre.setText(Html.fromHtml(genre.getName(), Html.FROM_HTML_MODE_COMPACT)); holder.textGenre.setText(MusicUtil.getReadableInfo(genre.getName()));
} }
@Override @Override

View file

@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R; import com.cappielloantonio.play.R;
import com.cappielloantonio.play.model.Genre; import com.cappielloantonio.play.model.Genre;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -76,7 +77,7 @@ public class GenreCatalogueAdapter extends RecyclerView.Adapter<GenreCatalogueAd
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Genre genre = genres.get(position); Genre genre = genres.get(position);
holder.textGenre.setText(Html.fromHtml(genre.getName(), Html.FROM_HTML_MODE_COMPACT)); holder.textGenre.setText(MusicUtil.getReadableInfo(genre.getName()));
} }
@Override @Override

View file

@ -6,6 +6,7 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R; import com.cappielloantonio.play.R;
@ -29,6 +30,7 @@ public class PlayerNowPlayingSongAdapter extends RecyclerView.Adapter<PlayerNowP
this.songs = new ArrayList<>(); this.songs = new ArrayList<>();
} }
@NonNull
@Override @Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.item_player_now_playing_song, parent, false); View view = inflater.inflate(R.layout.item_player_now_playing_song, parent, false);
@ -63,7 +65,7 @@ public class PlayerNowPlayingSongAdapter extends RecyclerView.Adapter<PlayerNowP
notifyDataSetChanged(); notifyDataSetChanged();
} }
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
ImageView cover; ImageView cover;
ViewHolder(View itemView) { ViewHolder(View itemView) {

View file

@ -48,8 +48,8 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Song song = songs.get(position); Song song = songs.get(position);
holder.songTitle.setText(Html.fromHtml(song.getTitle(), Html.FROM_HTML_MODE_COMPACT)); holder.songTitle.setText(MusicUtil.getReadableInfo(song.getTitle()));
holder.songArtist.setText(Html.fromHtml(song.getArtistName(), Html.FROM_HTML_MODE_COMPACT)); holder.songArtist.setText(MusicUtil.getReadableInfo(song.getArtistName()));
holder.songDuration.setText(MusicUtil.getReadableDurationString(song.getDuration(), false)); holder.songDuration.setText(MusicUtil.getReadableDurationString(song.getDuration(), false));
CustomGlideRequest.Builder CustomGlideRequest.Builder

View file

@ -16,6 +16,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Playlist; import com.cappielloantonio.play.model.Playlist;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -45,7 +46,7 @@ public class PlaylistAdapter extends RecyclerView.Adapter<PlaylistAdapter.ViewHo
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Playlist playlist = playlists.get(position); Playlist playlist = playlists.get(position);
holder.textPlaylistName.setText(Html.fromHtml(playlist.getName(), Html.FROM_HTML_MODE_COMPACT)); holder.textPlaylistName.setText(MusicUtil.getReadableInfo(playlist.getName()));
holder.textPlaylistSongCount.setText("Song count: " + String.valueOf(playlist.getSongCount())); holder.textPlaylistSongCount.setText("Song count: " + String.valueOf(playlist.getSongCount()));
CustomGlideRequest.Builder CustomGlideRequest.Builder

View file

@ -19,6 +19,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Playlist; import com.cappielloantonio.play.model.Playlist;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -78,7 +79,7 @@ public class PlaylistCatalogueAdapter extends RecyclerView.Adapter<PlaylistCatal
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Playlist playlist = playlists.get(position); Playlist playlist = playlists.get(position);
holder.textPlaylistName.setText(Html.fromHtml(playlist.getName(), Html.FROM_HTML_MODE_COMPACT)); holder.textPlaylistName.setText(MusicUtil.getReadableInfo(playlist.getName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, playlist.getPrimary(), playlist.getBlurHash(), CustomGlideRequest.PLAYLIST_PIC) .from(context, playlist.getPrimary(), playlist.getBlurHash(), CustomGlideRequest.PLAYLIST_PIC)

View file

@ -20,6 +20,7 @@ import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.QueueRepository; import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.service.MusicPlayerRemote; import com.cappielloantonio.play.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -54,8 +55,8 @@ public class RecentMusicAdapter extends RecyclerView.Adapter<RecentMusicAdapter.
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Song song = songs.get(position); Song song = songs.get(position);
holder.textTitle.setText(Html.fromHtml(song.getTitle(), Html.FROM_HTML_MODE_COMPACT)); holder.textTitle.setText(MusicUtil.getReadableInfo(song.getTitle()));
holder.textAlbum.setText(Html.fromHtml(song.getAlbumName(), Html.FROM_HTML_MODE_COMPACT)); holder.textAlbum.setText(MusicUtil.getReadableInfo(song.getAlbumName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, song.getPrimary(), song.getBlurHash(), CustomGlideRequest.SONG_PIC) .from(context, song.getPrimary(), song.getBlurHash(), CustomGlideRequest.SONG_PIC)

View file

@ -52,8 +52,8 @@ public class SongHorizontalAdapter extends RecyclerView.Adapter<SongHorizontalAd
public void onBindViewHolder(ViewHolder holder, int position) { public void onBindViewHolder(ViewHolder holder, int position) {
Song song = songs.get(position); Song song = songs.get(position);
holder.songTitle.setText(Html.fromHtml(song.getTitle(), Html.FROM_HTML_MODE_COMPACT)); holder.songTitle.setText(MusicUtil.getReadableInfo(song.getTitle()));
holder.songArtist.setText(Html.fromHtml(song.getArtistName(), Html.FROM_HTML_MODE_COMPACT)); holder.songArtist.setText(MusicUtil.getReadableInfo(song.getArtistName()));
holder.songDuration.setText(MusicUtil.getReadableDurationString(song.getDuration(), false)); holder.songDuration.setText(MusicUtil.getReadableDurationString(song.getDuration(), false));
if (song.isOffline()) { if (song.isOffline()) {

View file

@ -26,6 +26,7 @@ import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.service.MusicPlayerRemote; import com.cappielloantonio.play.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.DownloadUtil; import com.cappielloantonio.play.util.DownloadUtil;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.AlbumPageViewModel; import com.cappielloantonio.play.viewmodel.AlbumPageViewModel;
import java.util.Collections; import java.util.Collections;
@ -116,8 +117,8 @@ public class AlbumPageFragment extends Fragment {
bind.animToolbar.setTitle(albumPageViewModel.getAlbum().getTitle()); bind.animToolbar.setTitle(albumPageViewModel.getAlbum().getTitle());
bind.albumNameLabel.setText(Html.fromHtml(albumPageViewModel.getAlbum().getTitle(), Html.FROM_HTML_MODE_COMPACT)); bind.albumNameLabel.setText(MusicUtil.getReadableInfo(albumPageViewModel.getAlbum().getTitle()));
bind.albumArtistLabel.setText(Html.fromHtml(albumPageViewModel.getAlbum().getArtistName(), Html.FROM_HTML_MODE_COMPACT)); bind.albumArtistLabel.setText(MusicUtil.getReadableInfo(albumPageViewModel.getAlbum().getArtistName()));
bind.albumReleaseYearLabel.setText(albumPageViewModel.getAlbum().getYear() != 0 ? String.valueOf(albumPageViewModel.getAlbum().getYear()) : ""); bind.albumReleaseYearLabel.setText(albumPageViewModel.getAlbum().getYear() != 0 ? String.valueOf(albumPageViewModel.getAlbum().getYear()) : "");
bind.animToolbar.setNavigationOnClickListener(v -> activity.navController.navigateUp()); bind.animToolbar.setNavigationOnClickListener(v -> activity.navController.navigateUp());

View file

@ -18,6 +18,7 @@ import com.cappielloantonio.play.databinding.FragmentFilterBinding;
import com.cappielloantonio.play.model.Genre; import com.cappielloantonio.play.model.Genre;
import com.cappielloantonio.play.model.Song; import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.FilterViewModel; import com.cappielloantonio.play.viewmodel.FilterViewModel;
import com.google.android.material.chip.Chip; import com.google.android.material.chip.Chip;
@ -96,7 +97,7 @@ public class FilterFragment extends Fragment {
bind.filterContainer.setVisibility(View.VISIBLE); bind.filterContainer.setVisibility(View.VISIBLE);
for (Genre genre : genres) { for (Genre genre : genres) {
Chip chip = (Chip) requireActivity().getLayoutInflater().inflate(R.layout.chip_search_filter_genre, null, false); Chip chip = (Chip) requireActivity().getLayoutInflater().inflate(R.layout.chip_search_filter_genre, null, false);
chip.setText(Html.fromHtml(genre.getName(), Html.FROM_HTML_MODE_COMPACT)); chip.setText(MusicUtil.getReadableInfo(genre.getName()));
chip.setChecked(filterViewModel.getFilters().contains(genre.getId())); chip.setChecked(filterViewModel.getFilters().contains(genre.getId()));
chip.setOnCheckedChangeListener((buttonView, isChecked) -> { chip.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked) if (isChecked)

View file

@ -119,7 +119,6 @@ public class PlayerBottomSheetFragment extends Fragment implements MusicServiceE
public void onPageScrollStateChanged(int state) { public void onPageScrollStateChanged(int state) {
super.onPageScrollStateChanged(state); super.onPageScrollStateChanged(state);
pageState = state; pageState = state;
} }
@Override @Override
@ -258,11 +257,11 @@ public class PlayerBottomSheetFragment extends Fragment implements MusicServiceE
} }
private void setSongInfo(Song song) { private void setSongInfo(Song song) {
bind.playerBodyLayout.playerSongTitleLabel.setText(Html.fromHtml(song.getTitle(), Html.FROM_HTML_MODE_COMPACT)); bind.playerBodyLayout.playerSongTitleLabel.setText(MusicUtil.getReadableInfo(song.getTitle()));
bind.playerBodyLayout.playerArtistNameLabel.setText(Html.fromHtml(song.getArtistName(), Html.FROM_HTML_MODE_COMPACT)); bind.playerBodyLayout.playerArtistNameLabel.setText(MusicUtil.getReadableInfo(song.getArtistName()));
bind.playerHeaderLayout.playerHeaderSongTitleLabel.setText(Html.fromHtml(song.getTitle(), Html.FROM_HTML_MODE_COMPACT)); bind.playerHeaderLayout.playerHeaderSongTitleLabel.setText(MusicUtil.getReadableInfo(song.getTitle()));
bind.playerHeaderLayout.playerHeaderSongArtistLabel.setText(Html.fromHtml(song.getArtistName(), Html.FROM_HTML_MODE_COMPACT)); bind.playerHeaderLayout.playerHeaderSongArtistLabel.setText(MusicUtil.getReadableInfo(song.getArtistName()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(requireContext(), song.getPrimary(), song.getBlurHash(), CustomGlideRequest.SONG_PIC) .from(requireContext(), song.getPrimary(), song.getBlurHash(), CustomGlideRequest.SONG_PIC)

View file

@ -18,6 +18,7 @@ import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.QueueRepository; import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.service.MusicPlayerRemote; import com.cappielloantonio.play.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.SongListPageViewModel; import com.cappielloantonio.play.viewmodel.SongListPageViewModel;
import java.util.Collections; import java.util.Collections;
@ -71,11 +72,11 @@ public class SongListPageFragment extends Fragment {
} else if (getArguments().getString(Song.BY_GENRE) != null) { } else if (getArguments().getString(Song.BY_GENRE) != null) {
songListPageViewModel.title = Song.BY_GENRE; songListPageViewModel.title = Song.BY_GENRE;
songListPageViewModel.genre = getArguments().getParcelable("genre_object"); songListPageViewModel.genre = getArguments().getParcelable("genre_object");
bind.pageTitleLabel.setText(Html.fromHtml(songListPageViewModel.genre.getName(), Html.FROM_HTML_MODE_COMPACT) + ": all tracks"); bind.pageTitleLabel.setText(MusicUtil.getReadableInfo(songListPageViewModel.genre.getName()) + ": all tracks");
} else if (getArguments().getString(Song.BY_ARTIST) != null) { } else if (getArguments().getString(Song.BY_ARTIST) != null) {
songListPageViewModel.title = Song.BY_ARTIST; songListPageViewModel.title = Song.BY_ARTIST;
songListPageViewModel.artist = getArguments().getParcelable("artist_object"); songListPageViewModel.artist = getArguments().getParcelable("artist_object");
bind.pageTitleLabel.setText(Html.fromHtml(songListPageViewModel.artist.getName(), Html.FROM_HTML_MODE_COMPACT) + "'s top tracks"); bind.pageTitleLabel.setText(MusicUtil.getReadableInfo(songListPageViewModel.artist.getName()) + "'s top tracks");
} else if (getArguments().getString(Song.BY_GENRES) != null) { } else if (getArguments().getString(Song.BY_GENRES) != null) {
songListPageViewModel.title = Song.BY_GENRES; songListPageViewModel.title = Song.BY_GENRES;
songListPageViewModel.filters = getArguments().getStringArrayList("filters_list"); songListPageViewModel.filters = getArguments().getStringArrayList("filters_list");

View file

@ -26,6 +26,7 @@ import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.service.MusicPlayerRemote; import com.cappielloantonio.play.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.DownloadUtil; import com.cappielloantonio.play.util.DownloadUtil;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.AlbumBottomSheetViewModel; import com.cappielloantonio.play.viewmodel.AlbumBottomSheetViewModel;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@ -78,11 +79,11 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements
.into(coverAlbum); .into(coverAlbum);
titleAlbum = view.findViewById(R.id.album_title_text_view); titleAlbum = view.findViewById(R.id.album_title_text_view);
titleAlbum.setText(Html.fromHtml(albumBottomSheetViewModel.getAlbum().getTitle(), Html.FROM_HTML_MODE_COMPACT)); titleAlbum.setText(MusicUtil.getReadableInfo(albumBottomSheetViewModel.getAlbum().getTitle()));
titleAlbum.setSelected(true); titleAlbum.setSelected(true);
artistAlbum = view.findViewById(R.id.album_artist_text_view); artistAlbum = view.findViewById(R.id.album_artist_text_view);
artistAlbum.setText(Html.fromHtml(albumBottomSheetViewModel.getAlbum().getArtistName(), Html.FROM_HTML_MODE_COMPACT)); artistAlbum.setText(MusicUtil.getReadableInfo(albumBottomSheetViewModel.getAlbum().getArtistName()));
favoriteToggle = view.findViewById(R.id.button_favorite); favoriteToggle = view.findViewById(R.id.button_favorite);
favoriteToggle.setChecked(albumBottomSheetViewModel.getAlbum().isFavorite()); favoriteToggle.setChecked(albumBottomSheetViewModel.getAlbum().isFavorite());

View file

@ -24,6 +24,7 @@ import com.cappielloantonio.play.repository.ArtistRepository;
import com.cappielloantonio.play.repository.QueueRepository; import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.service.MusicPlayerRemote; import com.cappielloantonio.play.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.ArtistBottomSheetViewModel; import com.cappielloantonio.play.viewmodel.ArtistBottomSheetViewModel;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@ -70,7 +71,7 @@ public class ArtistBottomSheetDialog extends BottomSheetDialogFragment implement
.into(coverArtist); .into(coverArtist);
nameArtist = view.findViewById(R.id.song_title_text_view); nameArtist = view.findViewById(R.id.song_title_text_view);
nameArtist.setText(Html.fromHtml(artistBottomSheetViewModel.getArtist().getName(), Html.FROM_HTML_MODE_COMPACT)); nameArtist.setText(MusicUtil.getReadableInfo(artistBottomSheetViewModel.getArtist().getName()));
nameArtist.setSelected(true); nameArtist.setSelected(true);
favoriteToggle = view.findViewById(R.id.button_favorite); favoriteToggle = view.findViewById(R.id.button_favorite);

View file

@ -25,6 +25,7 @@ import com.cappielloantonio.play.repository.SongRepository;
import com.cappielloantonio.play.service.MusicPlayerRemote; import com.cappielloantonio.play.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity; import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.DownloadUtil; import com.cappielloantonio.play.util.DownloadUtil;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.SongBottomSheetViewModel; import com.cappielloantonio.play.viewmodel.SongBottomSheetViewModel;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment; import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@ -74,12 +75,12 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements
.into(coverSong); .into(coverSong);
titleSong = view.findViewById(R.id.song_title_text_view); titleSong = view.findViewById(R.id.song_title_text_view);
titleSong.setText(Html.fromHtml(songBottomSheetViewModel.getSong().getTitle(), Html.FROM_HTML_MODE_COMPACT)); titleSong.setText(MusicUtil.getReadableInfo(songBottomSheetViewModel.getSong().getTitle()));
titleSong.setSelected(true); titleSong.setSelected(true);
artistSong = view.findViewById(R.id.song_artist_text_view); artistSong = view.findViewById(R.id.song_artist_text_view);
artistSong.setText(Html.fromHtml(songBottomSheetViewModel.getSong().getArtistName(), Html.FROM_HTML_MODE_COMPACT)); artistSong.setText(MusicUtil.getReadableInfo(songBottomSheetViewModel.getSong().getArtistName()));
favoriteToggle = view.findViewById(R.id.button_favorite); favoriteToggle = view.findViewById(R.id.button_favorite);
favoriteToggle.setChecked(songBottomSheetViewModel.getSong().isFavorite()); favoriteToggle.setChecked(songBottomSheetViewModel.getSong().isFavorite());

View file

@ -1,5 +1,7 @@
package com.cappielloantonio.play.util; package com.cappielloantonio.play.util;
import android.text.Html;
import com.cappielloantonio.play.App; import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R; import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.glide.CustomGlideRequest;
@ -47,6 +49,14 @@ public class MusicUtil {
} }
} }
public static String getReadableInfo(String info) {
if (info != null) {
return Html.fromHtml(info, Html.FROM_HTML_MODE_COMPACT).toString();
}
return "";
}
public static int getDefaultPicPerCategory(String category) { public static int getDefaultPicPerCategory(String category) {
if (category.equals(CustomGlideRequest.SONG_PIC)) { if (category.equals(CustomGlideRequest.SONG_PIC)) {
return R.drawable.default_album_art; return R.drawable.default_album_art;