From 61b3e413c96b48722bd5b86f9fdca0aad425fef9 Mon Sep 17 00:00:00 2001 From: CappielloAntonio Date: Sat, 7 Aug 2021 15:09:20 +0200 Subject: [PATCH] Fix html suggestions visualization --- .../play/adapter/AlbumAdapter.java | 4 ++-- .../AlbumArtistPageOrSimilarAdapter.java | 4 ++-- .../play/adapter/AlbumCatalogueAdapter.java | 4 ++-- .../play/adapter/AlbumHorizontalAdapter.java | 4 ++-- .../play/adapter/ArtistAdapter.java | 2 +- .../play/adapter/ArtistCatalogueAdapter.java | 2 +- .../play/adapter/ArtistHorizontalAdapter.java | 2 +- .../play/adapter/ArtistSimilarAdapter.java | 2 +- .../play/adapter/DiscoverSongAdapter.java | 4 ++-- .../play/adapter/GenreAdapter.java | 2 +- .../play/adapter/GenreCatalogueAdapter.java | 2 +- .../play/adapter/PlayerSongQueueAdapter.java | 4 ++-- .../play/adapter/PlaylistAdapter.java | 2 +- .../adapter/PlaylistCatalogueAdapter.java | 2 +- .../play/adapter/RecentMusicAdapter.java | 4 ++-- .../play/adapter/SongHorizontalAdapter.java | 4 ++-- .../play/service/MusicService.java | 8 +++---- .../play/ui/fragment/AlbumPageFragment.java | 6 ++--- .../play/ui/fragment/ArtistPageFragment.java | 2 +- .../play/ui/fragment/FilterFragment.java | 2 +- .../fragment/PlayerBottomSheetFragment.java | 8 +++---- .../play/ui/fragment/SearchFragment.java | 3 ++- .../ui/fragment/SongListPageFragment.java | 4 ++-- .../AlbumBottomSheetDialog.java | 4 ++-- .../ArtistBottomSheetDialog.java | 2 +- .../SongBottomSheetDialog.java | 4 ++-- .../cappielloantonio/play/util/MusicUtil.java | 22 ++++++++++++++++--- 27 files changed, 65 insertions(+), 48 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/AlbumAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/AlbumAdapter.java index 03c55d1b..38ee530a 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/AlbumAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/AlbumAdapter.java @@ -44,8 +44,8 @@ public class AlbumAdapter extends RecyclerView.Adapter public void onBindViewHolder(ViewHolder holder, int position) { Album album = albums.get(position); - holder.textAlbumName.setText(MusicUtil.getReadableInfo(album.getTitle())); - holder.textArtistName.setText(MusicUtil.getReadableInfo(album.getArtistName())); + holder.textAlbumName.setText(MusicUtil.getReadableString(album.getTitle())); + holder.textArtistName.setText(MusicUtil.getReadableString(album.getArtistName())); CustomGlideRequest.Builder .from(context, album.getPrimary(), CustomGlideRequest.ALBUM_PIC) diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/AlbumArtistPageOrSimilarAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/AlbumArtistPageOrSimilarAdapter.java index 2d8b73de..540e1715 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/AlbumArtistPageOrSimilarAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/AlbumArtistPageOrSimilarAdapter.java @@ -43,8 +43,8 @@ public class AlbumArtistPageOrSimilarAdapter extends RecyclerView.Adapter public void onBindViewHolder(ViewHolder holder, int position) { Genre genre = genres.get(position); - holder.textGenre.setText(MusicUtil.getReadableInfo(genre.getName())); + holder.textGenre.setText(MusicUtil.getReadableString(genre.getName())); } @Override diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/GenreCatalogueAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/GenreCatalogueAdapter.java index b0b893aa..553f130f 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/GenreCatalogueAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/GenreCatalogueAdapter.java @@ -77,7 +77,7 @@ public class GenreCatalogueAdapter extends RecyclerView.Adapter activity.navController.navigateUp()); 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 95596f18..29011561 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 @@ -95,7 +95,7 @@ public class ArtistPageFragment extends Fragment { if (activity.getSupportActionBar() != null) activity.getSupportActionBar().setDisplayHomeAsUpEnabled(true); - bind.collapsingToolbar.setTitle(MusicUtil.getReadableInfo(artistPageViewModel.getArtist().getName())); + bind.collapsingToolbar.setTitle(MusicUtil.getReadableString(artistPageViewModel.getArtist().getName())); bind.animToolbar.setNavigationOnClickListener(v -> activity.navController.navigateUp()); bind.collapsingToolbar.setCollapsedTitleTextColor(getResources().getColor(R.color.titleTextColor, null)); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java index 2a008792..e5733dc6 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java @@ -97,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(MusicUtil.getReadableInfo(genre.getName())); + chip.setText(MusicUtil.getReadableString(genre.getName())); chip.setChecked(filterViewModel.getFilters().contains(genre.getId())); chip.setOnCheckedChangeListener((buttonView, isChecked) -> { if (isChecked) diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerBottomSheetFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerBottomSheetFragment.java index 9efb3fe2..0879c72c 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerBottomSheetFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerBottomSheetFragment.java @@ -265,11 +265,11 @@ public class PlayerBottomSheetFragment extends Fragment implements MusicServiceE } private void setSongInfo(Song song) { - bind.playerBodyLayout.playerSongTitleLabel.setText(MusicUtil.getReadableInfo(song.getTitle())); - bind.playerBodyLayout.playerArtistNameLabel.setText(MusicUtil.getReadableInfo(song.getArtistName())); + bind.playerBodyLayout.playerSongTitleLabel.setText(MusicUtil.getReadableString(song.getTitle())); + bind.playerBodyLayout.playerArtistNameLabel.setText(MusicUtil.getReadableString(song.getArtistName())); - bind.playerHeaderLayout.playerHeaderSongTitleLabel.setText(MusicUtil.getReadableInfo(song.getTitle())); - bind.playerHeaderLayout.playerHeaderSongArtistLabel.setText(MusicUtil.getReadableInfo(song.getArtistName())); + bind.playerHeaderLayout.playerHeaderSongTitleLabel.setText(MusicUtil.getReadableString(song.getTitle())); + bind.playerHeaderLayout.playerHeaderSongArtistLabel.setText(MusicUtil.getReadableString(song.getArtistName())); CustomGlideRequest.Builder .from(requireContext(), song.getPrimary(), CustomGlideRequest.SONG_PIC) diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java index f043cc9f..94e1602c 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java @@ -17,6 +17,7 @@ import com.cappielloantonio.play.adapter.ArtistAdapter; import com.cappielloantonio.play.adapter.SongHorizontalAdapter; import com.cappielloantonio.play.databinding.FragmentSearchBinding; import com.cappielloantonio.play.ui.activity.MainActivity; +import com.cappielloantonio.play.util.MusicUtil; import com.cappielloantonio.play.viewmodel.SearchViewModel; import com.paulrybitskyi.persistentsearchview.adapters.model.SuggestionItem; import com.paulrybitskyi.persistentsearchview.listeners.OnSuggestionChangeListener; @@ -100,7 +101,7 @@ public class SearchFragment extends Fragment { bind.persistentSearchView.setOnSearchQueryChangeListener((searchView, oldQuery, newQuery) -> { if (!newQuery.trim().equals("") && newQuery.trim().length() > 1) { searchViewModel.getSearchSuggestion(newQuery).observe(requireActivity(), suggestions -> { - searchView.setSuggestions(SuggestionCreationUtil.asRegularSearchSuggestions(suggestions), false); + searchView.setSuggestions(SuggestionCreationUtil.asRegularSearchSuggestions(MusicUtil.getReadableStrings(suggestions)), false); }); } else { setSuggestions(); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java index 76a5fb68..6b2e4561 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SongListPageFragment.java @@ -72,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(MusicUtil.getReadableInfo(songListPageViewModel.genre.getName()) + ": all tracks"); + bind.pageTitleLabel.setText(MusicUtil.getReadableString(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(MusicUtil.getReadableInfo(songListPageViewModel.artist.getName()) + "'s top tracks"); + bind.pageTitleLabel.setText(MusicUtil.getReadableString(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"); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java index 4062780a..8c8ec75f 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/AlbumBottomSheetDialog.java @@ -79,11 +79,11 @@ public class AlbumBottomSheetDialog extends BottomSheetDialogFragment implements .into(coverAlbum); titleAlbum = view.findViewById(R.id.album_title_text_view); - titleAlbum.setText(MusicUtil.getReadableInfo(albumBottomSheetViewModel.getAlbum().getTitle())); + titleAlbum.setText(MusicUtil.getReadableString(albumBottomSheetViewModel.getAlbum().getTitle())); titleAlbum.setSelected(true); artistAlbum = view.findViewById(R.id.album_artist_text_view); - artistAlbum.setText(MusicUtil.getReadableInfo(albumBottomSheetViewModel.getAlbum().getArtistName())); + artistAlbum.setText(MusicUtil.getReadableString(albumBottomSheetViewModel.getAlbum().getArtistName())); favoriteToggle = view.findViewById(R.id.button_favorite); favoriteToggle.setChecked(albumBottomSheetViewModel.getAlbum().isFavorite()); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java index 445fcdb6..e7e0c655 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/ArtistBottomSheetDialog.java @@ -71,7 +71,7 @@ public class ArtistBottomSheetDialog extends BottomSheetDialogFragment implement .into(coverArtist); nameArtist = view.findViewById(R.id.song_title_text_view); - nameArtist.setText(MusicUtil.getReadableInfo(artistBottomSheetViewModel.getArtist().getName())); + nameArtist.setText(MusicUtil.getReadableString(artistBottomSheetViewModel.getArtist().getName())); nameArtist.setSelected(true); favoriteToggle = view.findViewById(R.id.button_favorite); diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java index 8602ea93..5096865f 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/bottomsheetdialog/SongBottomSheetDialog.java @@ -75,12 +75,12 @@ public class SongBottomSheetDialog extends BottomSheetDialogFragment implements .into(coverSong); titleSong = view.findViewById(R.id.song_title_text_view); - titleSong.setText(MusicUtil.getReadableInfo(songBottomSheetViewModel.getSong().getTitle())); + titleSong.setText(MusicUtil.getReadableString(songBottomSheetViewModel.getSong().getTitle())); titleSong.setSelected(true); artistSong = view.findViewById(R.id.song_artist_text_view); - artistSong.setText(MusicUtil.getReadableInfo(songBottomSheetViewModel.getSong().getArtistName())); + artistSong.setText(MusicUtil.getReadableString(songBottomSheetViewModel.getSong().getArtistName())); favoriteToggle = view.findViewById(R.id.button_favorite); favoriteToggle.setChecked(songBottomSheetViewModel.getSong().isFavorite()); diff --git a/app/src/main/java/com/cappielloantonio/play/util/MusicUtil.java b/app/src/main/java/com/cappielloantonio/play/util/MusicUtil.java index cd58d4a9..7b7a2412 100644 --- a/app/src/main/java/com/cappielloantonio/play/util/MusicUtil.java +++ b/app/src/main/java/com/cappielloantonio/play/util/MusicUtil.java @@ -8,6 +8,8 @@ import com.cappielloantonio.play.glide.CustomGlideRequest; import com.cappielloantonio.play.model.Song; import com.google.android.exoplayer2.MediaItem; +import java.util.ArrayList; +import java.util.List; import java.util.Locale; import java.util.Map; @@ -49,14 +51,28 @@ public class MusicUtil { } } - public static String getReadableInfo(String info) { - if (info != null) { - return Html.fromHtml(info, Html.FROM_HTML_MODE_COMPACT).toString(); + public static String getReadableString(String string) { + if (string != null) { + return Html.fromHtml(string, Html.FROM_HTML_MODE_COMPACT).toString(); } return ""; } + public static List getReadableStrings(List strings) { + List readableStrings = new ArrayList<>(); + + if (strings.size() > 0) { + for (String string : strings) { + if (string != null) { + readableStrings.add(Html.fromHtml(string, Html.FROM_HTML_MODE_COMPACT).toString()); + } + } + } + + return readableStrings; + } + public static int getDefaultPicPerCategory(String category) { if (category.equals(CustomGlideRequest.SONG_PIC)) { return R.drawable.default_album_art;