diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/ArtistPageFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/ArtistPageFragment.java index 0b287fc3..06bcd984 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/ArtistPageFragment.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/ArtistPageFragment.java @@ -123,15 +123,9 @@ public class ArtistPageFragment extends Fragment implements ClickCallback { favoriteToggle.setChecked(artistPageViewModel.getArtist().getStarred() != null); favoriteToggle.setOnClickListener(v -> artistPageViewModel.setFavorite(requireContext())); - Button bioToggle = view.findViewById(R.id.button_toggle_bio); bioToggle.setOnClickListener(v -> - { - boolean displayBio = Preferences.getArtistDisplayBiography(); - Preferences.setArtistDisplayBiography(!displayBio); - if (bind != null) - bind.artistPageBioSector.setVisibility(displayBio ? View.GONE : View.VISIBLE); - }); + Toast.makeText(getActivity(), R.string.artist_no_artist_info_toast, Toast.LENGTH_SHORT).show()); } private void initAppBar() { @@ -149,13 +143,6 @@ public class ArtistPageFragment extends Fragment implements ClickCallback { if (artistInfo == null) { if (bind != null) bind.artistPageBioSector.setVisibility(View.GONE); } else { - String normalizedBio = MusicUtil.forceReadableString(artistInfo.getBiography()); - - if (bind != null) - bind.artistPageBioSector.setVisibility(!normalizedBio.trim().isEmpty() ? View.VISIBLE : View.GONE); - if (bind != null) - bind.bioMoreTextViewClickable.setVisibility(artistInfo.getLastFmUrl() != null ? View.VISIBLE : View.GONE); - if (getContext() != null && bind != null) { ArtistID3 currentArtist = artistPageViewModel.getArtist(); String primaryId = currentArtist.getCoverArtId() != null && !currentArtist.getCoverArtId().trim().isEmpty() @@ -205,17 +192,42 @@ public class ArtistPageFragment extends Fragment implements ClickCallback { .into(bind.artistBackdropImageView); } - if (bind != null) bind.bioTextView.setText(normalizedBio); - - if (bind != null) bind.bioMoreTextViewClickable.setOnClickListener(v -> { - Intent intent = new Intent(Intent.ACTION_VIEW); - intent.setData(Uri.parse(artistInfo.getLastFmUrl())); - startActivity(intent); - }); - if (bind != null) { - boolean displayBio = Preferences.getArtistDisplayBiography(); - bind.artistPageBioSector.setVisibility(displayBio ? View.VISIBLE : View.GONE); + String normalizedBio = MusicUtil.forceReadableString(artistInfo.getBiography()).trim(); + String lastFmUrl = artistInfo.getLastFmUrl(); + + if (normalizedBio.isEmpty()) { + bind.bioTextView.setVisibility(View.GONE); + } else { + bind.bioTextView.setText(normalizedBio); + } + + if (lastFmUrl == null) { + bind.bioMoreTextViewClickable.setVisibility(View.GONE); + } else { + bind.bioMoreTextViewClickable.setOnClickListener(v -> { + Intent intent = new Intent(Intent.ACTION_VIEW); + intent.setData(Uri.parse(artistInfo.getLastFmUrl())); + startActivity(intent); + }); + bind.bioMoreTextViewClickable.setVisibility(View.VISIBLE); + } + + if (!normalizedBio.isEmpty() || lastFmUrl != null) { + View view = bind.getRoot(); + + Button bioToggle = view.findViewById(R.id.button_toggle_bio); + bioToggle.setOnClickListener(v -> { + if (bind != null) { + boolean displayBio = Preferences.getArtistDisplayBiography(); + Preferences.setArtistDisplayBiography(!displayBio); + bind.artistPageBioSector.setVisibility(displayBio ? View.GONE : View.VISIBLE); + } + }); + + boolean displayBio = Preferences.getArtistDisplayBiography(); + bind.artistPageBioSector.setVisibility(displayBio ? View.VISIBLE : View.GONE); + } } } }); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0ae9be02..ed75e158 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -39,6 +39,7 @@ Downloaded artists Starred artists Artists + No additional artist info Radio Shuffle Switch layout