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

@ -26,6 +26,7 @@ import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.DownloadUtil;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.AlbumPageViewModel;
import java.util.Collections;
@ -116,8 +117,8 @@ public class AlbumPageFragment extends Fragment {
bind.animToolbar.setTitle(albumPageViewModel.getAlbum().getTitle());
bind.albumNameLabel.setText(Html.fromHtml(albumPageViewModel.getAlbum().getTitle(), Html.FROM_HTML_MODE_COMPACT));
bind.albumArtistLabel.setText(Html.fromHtml(albumPageViewModel.getAlbum().getArtistName(), Html.FROM_HTML_MODE_COMPACT));
bind.albumNameLabel.setText(MusicUtil.getReadableInfo(albumPageViewModel.getAlbum().getTitle()));
bind.albumArtistLabel.setText(MusicUtil.getReadableInfo(albumPageViewModel.getAlbum().getArtistName()));
bind.albumReleaseYearLabel.setText(albumPageViewModel.getAlbum().getYear() != 0 ? String.valueOf(albumPageViewModel.getAlbum().getYear()) : "");
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.Song;
import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.FilterViewModel;
import com.google.android.material.chip.Chip;
@ -96,7 +97,7 @@ public class FilterFragment extends Fragment {
bind.filterContainer.setVisibility(View.VISIBLE);
for (Genre genre : genres) {
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.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked)

View file

@ -119,7 +119,6 @@ public class PlayerBottomSheetFragment extends Fragment implements MusicServiceE
public void onPageScrollStateChanged(int state) {
super.onPageScrollStateChanged(state);
pageState = state;
}
@Override
@ -258,11 +257,11 @@ public class PlayerBottomSheetFragment extends Fragment implements MusicServiceE
}
private void setSongInfo(Song song) {
bind.playerBodyLayout.playerSongTitleLabel.setText(Html.fromHtml(song.getTitle(), Html.FROM_HTML_MODE_COMPACT));
bind.playerBodyLayout.playerArtistNameLabel.setText(Html.fromHtml(song.getArtistName(), Html.FROM_HTML_MODE_COMPACT));
bind.playerBodyLayout.playerSongTitleLabel.setText(MusicUtil.getReadableInfo(song.getTitle()));
bind.playerBodyLayout.playerArtistNameLabel.setText(MusicUtil.getReadableInfo(song.getArtistName()));
bind.playerHeaderLayout.playerHeaderSongTitleLabel.setText(Html.fromHtml(song.getTitle(), Html.FROM_HTML_MODE_COMPACT));
bind.playerHeaderLayout.playerHeaderSongArtistLabel.setText(Html.fromHtml(song.getArtistName(), Html.FROM_HTML_MODE_COMPACT));
bind.playerHeaderLayout.playerHeaderSongTitleLabel.setText(MusicUtil.getReadableInfo(song.getTitle()));
bind.playerHeaderLayout.playerHeaderSongArtistLabel.setText(MusicUtil.getReadableInfo(song.getArtistName()));
CustomGlideRequest.Builder
.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.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.SongListPageViewModel;
import java.util.Collections;
@ -71,11 +72,11 @@ public class SongListPageFragment extends Fragment {
} else if (getArguments().getString(Song.BY_GENRE) != null) {
songListPageViewModel.title = Song.BY_GENRE;
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) {
songListPageViewModel.title = Song.BY_ARTIST;
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) {
songListPageViewModel.title = Song.BY_GENRES;
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.ui.activity.MainActivity;
import com.cappielloantonio.play.util.DownloadUtil;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.AlbumBottomSheetViewModel;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@ -78,11 +79,11 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements
.into(coverAlbum);
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);
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.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.service.MusicPlayerRemote;
import com.cappielloantonio.play.ui.activity.MainActivity;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.ArtistBottomSheetViewModel;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@ -70,7 +71,7 @@ public class ArtistBottomSheetDialog extends BottomSheetDialogFragment implement
.into(coverArtist);
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);
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.ui.activity.MainActivity;
import com.cappielloantonio.play.util.DownloadUtil;
import com.cappielloantonio.play.util.MusicUtil;
import com.cappielloantonio.play.viewmodel.SongBottomSheetViewModel;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@ -74,12 +75,12 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements
.into(coverSong);
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);
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.setChecked(songBottomSheetViewModel.getSong().isFavorite());