mirror of
https://github.com/antebudimir/tempus.git
synced 2025-12-31 17:43:32 +00:00
Added artist and year button in AlbumPage
This commit is contained in:
parent
1598e2964f
commit
7d17916a5e
4 changed files with 36 additions and 5 deletions
|
|
@ -8,12 +8,15 @@ import android.view.MenuInflater;
|
|||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.navigation.Navigation;
|
||||
import androidx.navigation.fragment.NavHostFragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.cappielloantonio.play.App;
|
||||
|
|
@ -21,6 +24,8 @@ import com.cappielloantonio.play.R;
|
|||
import com.cappielloantonio.play.adapter.SongResultSearchAdapter;
|
||||
import com.cappielloantonio.play.databinding.FragmentAlbumPageBinding;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.model.Artist;
|
||||
import com.cappielloantonio.play.model.Song;
|
||||
import com.cappielloantonio.play.service.MusicPlayerRemote;
|
||||
import com.cappielloantonio.play.repository.QueueRepository;
|
||||
import com.cappielloantonio.play.ui.activity.MainActivity;
|
||||
|
|
@ -28,6 +33,7 @@ import com.cappielloantonio.play.util.DownloadUtil;
|
|||
import com.cappielloantonio.play.viewmodel.AlbumPageViewModel;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Objects;
|
||||
|
||||
public class AlbumPageFragment extends Fragment {
|
||||
private static final String TAG = "AlbumPageFragment";
|
||||
|
|
@ -55,6 +61,7 @@ public class AlbumPageFragment extends Fragment {
|
|||
super.onActivityCreated(savedInstanceState);
|
||||
|
||||
initAppBar();
|
||||
initAlbumInfoTextButton();
|
||||
initMusicButton();
|
||||
}
|
||||
|
||||
|
|
@ -125,6 +132,25 @@ public class AlbumPageFragment extends Fragment {
|
|||
bind.animToolbar.setNavigationOnClickListener(v -> activity.navController.navigateUp());
|
||||
}
|
||||
|
||||
private void initAlbumInfoTextButton() {
|
||||
bind.albumArtistLabel.setOnClickListener(v -> {
|
||||
Artist artist = albumPageViewModel.getArtist();
|
||||
if(artist != null) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putParcelable("artist_object", artist);
|
||||
activity.navController.navigate(R.id.artistPageFragment, bundle);
|
||||
}
|
||||
else Toast.makeText(requireContext(), "Error retrieving artist", Toast.LENGTH_SHORT).show();
|
||||
});
|
||||
|
||||
bind.albumReleaseYearLabel.setOnClickListener(v -> {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString(Song.BY_YEAR, Song.BY_YEAR);
|
||||
bundle.putInt("year_object", albumPageViewModel.getAlbum().getYear());
|
||||
activity.navController.navigate(R.id.songListPageFragment, bundle);
|
||||
});
|
||||
}
|
||||
|
||||
private void initMusicButton() {
|
||||
albumPageViewModel.getAlbumSongLiveList().observe(requireActivity(), songs -> {
|
||||
if(bind != null) {
|
||||
|
|
|
|||
|
|
@ -7,13 +7,16 @@ import androidx.lifecycle.AndroidViewModel;
|
|||
import androidx.lifecycle.LiveData;
|
||||
|
||||
import com.cappielloantonio.play.model.Album;
|
||||
import com.cappielloantonio.play.model.Artist;
|
||||
import com.cappielloantonio.play.model.Song;
|
||||
import com.cappielloantonio.play.repository.ArtistRepository;
|
||||
import com.cappielloantonio.play.repository.SongRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AlbumPageViewModel extends AndroidViewModel {
|
||||
private SongRepository songRepository;
|
||||
private ArtistRepository artistRepository;
|
||||
|
||||
private LiveData<List<Song>> songLiveList;
|
||||
|
||||
|
|
@ -23,6 +26,7 @@ public class AlbumPageViewModel extends AndroidViewModel {
|
|||
super(application);
|
||||
|
||||
songRepository = new SongRepository(application);
|
||||
artistRepository = new ArtistRepository(application);
|
||||
}
|
||||
|
||||
public LiveData<List<Song>> getAlbumSongLiveList() {
|
||||
|
|
@ -41,4 +45,8 @@ public class AlbumPageViewModel extends AndroidViewModel {
|
|||
public void setAlbum(Album album) {
|
||||
this.album = album;
|
||||
}
|
||||
|
||||
public Artist getArtist() {
|
||||
return artistRepository.getArtistByID(album.getArtistId());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,6 @@
|
|||
android:ellipsize="end"
|
||||
android:maxLines="2"
|
||||
android:singleLine="false"
|
||||
android:text="American Idiot"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/album_cover_image_view"
|
||||
app:layout_constraintTop_toTopOf="@+id/album_cover_image_view" />
|
||||
|
|
@ -64,7 +63,6 @@
|
|||
android:layout_marginEnd="16dp"
|
||||
android:ellipsize="end"
|
||||
android:maxLines="1"
|
||||
android:text="Green Day"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/album_cover_image_view"
|
||||
app:layout_constraintTop_toBottomOf="@+id/album_name_label" />
|
||||
|
|
@ -76,7 +74,6 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="12dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:text="2004"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@+id/album_cover_image_view"
|
||||
app:layout_constraintTop_toBottomOf="@+id/album_artist_label" />
|
||||
|
|
|
|||
|
|
@ -106,13 +106,13 @@
|
|||
<style name="ShowcaseSubtitleTextView" parent="InterFontFamily">
|
||||
<item name="android:textSize">14sp</item>
|
||||
<item name="android:textFontWeight">500</item>
|
||||
<item name="android:textColor">@color/subtitleTextColor</item>
|
||||
<item name="android:textColor">@color/titleTextColor</item>
|
||||
</style>
|
||||
|
||||
<style name="ShowcaseExtraTextView" parent="InterFontFamily">
|
||||
<item name="android:textSize">12sp</item>
|
||||
<item name="android:textFontWeight">400</item>
|
||||
<item name="android:textColor">@color/subtitleTextColor</item>
|
||||
<item name="android:textColor">@color/titleTextColor</item>
|
||||
</style>
|
||||
|
||||
<!-- Font dei pulsanti vari presenti nell'applicazione -->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue