Add favorite view

This commit is contained in:
Antonio Cappiello 2020-11-30 20:54:05 +01:00
parent ae23d268cd
commit 01bdbf49b2
52 changed files with 1064 additions and 317 deletions

View file

@ -13,6 +13,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album;
import java.util.ArrayList;
import java.util.List;
public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder> {
@ -26,6 +27,7 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
public AlbumAdapter(Context context) {
this.context = context;
this.inflater = LayoutInflater.from(context);
this.albums = new ArrayList<>();
}
@Override

View file

@ -13,6 +13,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album;
import java.util.ArrayList;
import java.util.List;
public class AlbumArtistPageAdapter extends RecyclerView.Adapter<AlbumArtistPageAdapter.ViewHolder> {
@ -26,6 +27,7 @@ public class AlbumArtistPageAdapter extends RecyclerView.Adapter<AlbumArtistPage
public AlbumArtistPageAdapter(Context context) {
this.context = context;
this.inflater = LayoutInflater.from(context);
this.albums = new ArrayList<>();
}
@Override

View file

@ -13,6 +13,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album;
import java.util.ArrayList;
import java.util.List;
public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAdapter.ViewHolder> {
@ -26,6 +27,7 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
public AlbumCatalogueAdapter(Context context) {
this.context = context;
this.inflater = LayoutInflater.from(context);
this.albums = new ArrayList<>();
}
@Override

View file

@ -13,6 +13,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist;
import java.util.ArrayList;
import java.util.List;
public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder> {
@ -26,6 +27,7 @@ public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder
public ArtistAdapter(Context context) {
this.context = context;
this.inflater = LayoutInflater.from(context);
this.artists = new ArrayList<>();
}
@Override

View file

@ -13,6 +13,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist;
import java.util.ArrayList;
import java.util.List;
public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogueAdapter.ViewHolder> {
@ -26,6 +27,7 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
public ArtistCatalogueAdapter(Context context) {
this.context = context;
this.inflater = LayoutInflater.from(context);
this.artists = new ArrayList<>();
}
@Override

View file

@ -72,7 +72,7 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter<DiscoverSongAdapte
@Override
public void onClick(View view) {
SongRepository songRepository = new SongRepository(App.getInstance());
songRepository.update(songs.get(getAdapterPosition()));
songRepository.increasePlayCount(songs.get(getAdapterPosition()));
}
}

View file

@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.model.Genre;
import java.util.ArrayList;
import java.util.List;
public class GenreAdapter extends RecyclerView.Adapter<GenreAdapter.ViewHolder> {
@ -24,6 +25,7 @@ public class GenreAdapter extends RecyclerView.Adapter<GenreAdapter.ViewHolder>
public GenreAdapter(Context context) {
this.context = context;
this.mInflater = LayoutInflater.from(context);
this.genres = new ArrayList<>();
}
@Override

View file

@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.model.Genre;
import java.util.ArrayList;
import java.util.List;
public class GenreCatalogueAdapter extends RecyclerView.Adapter<GenreCatalogueAdapter.ViewHolder> {
@ -24,6 +25,7 @@ public class GenreCatalogueAdapter extends RecyclerView.Adapter<GenreCatalogueAd
public GenreCatalogueAdapter(Context context) {
this.context = context;
this.mInflater = LayoutInflater.from(context);
this.genres = new ArrayList<>();
}
// inflates the row layout from xml when needed

View file

@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.model.Playlist;
import java.util.ArrayList;
import java.util.List;
public class PlaylistAdapter extends RecyclerView.Adapter<PlaylistAdapter.ViewHolder> {
@ -24,6 +25,7 @@ public class PlaylistAdapter extends RecyclerView.Adapter<PlaylistAdapter.ViewHo
public PlaylistAdapter(Context context) {
this.context = context;
this.mInflater = LayoutInflater.from(context);
this.playlists = new ArrayList<>();
}
@Override

View file

@ -15,6 +15,7 @@ import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.SongRepository;
import java.util.ArrayList;
import java.util.List;
/**
@ -30,6 +31,7 @@ public class RecentMusicAdapter extends RecyclerView.Adapter<RecentMusicAdapter.
public RecentMusicAdapter(Context context) {
this.context = context;
this.mInflater = LayoutInflater.from(context);
this.songs = new ArrayList<>();
}
@Override
@ -74,7 +76,7 @@ public class RecentMusicAdapter extends RecyclerView.Adapter<RecentMusicAdapter.
@Override
public void onClick(View view) {
SongRepository songRepository = new SongRepository(App.getInstance());
songRepository.update(songs.get(getAdapterPosition()));
songRepository.increasePlayCount(songs.get(getAdapterPosition()));
}
}

View file

@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.model.RecentSearch;
import java.util.ArrayList;
import java.util.List;
public class RecentSearchAdapter extends RecyclerView.Adapter<RecentSearchAdapter.ViewHolder> {
@ -24,6 +25,7 @@ public class RecentSearchAdapter extends RecyclerView.Adapter<RecentSearchAdapte
public RecentSearchAdapter(Context context) {
this.context = context;
this.mInflater = LayoutInflater.from(context);
this.searches = new ArrayList<>();
}
@Override

View file

@ -7,6 +7,7 @@ import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.App;
@ -14,8 +15,10 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.SongRepository;
import com.cappielloantonio.play.ui.fragment.bottomsheetdialog.SongBottomSheetDialog;
import com.cappielloantonio.play.util.Util;
import java.util.ArrayList;
import java.util.List;
/**
@ -27,10 +30,13 @@ public class SongResultSearchAdapter extends RecyclerView.Adapter<SongResultSear
private List<Song> songs;
private LayoutInflater mInflater;
private Context context;
private FragmentManager fragmentManager;
public SongResultSearchAdapter(Context context) {
public SongResultSearchAdapter(Context context, FragmentManager fragmentManager) {
this.context = context;
this.fragmentManager = fragmentManager;
this.mInflater = LayoutInflater.from(context);
this.songs = new ArrayList<>();
}
@Override
@ -58,7 +64,7 @@ public class SongResultSearchAdapter extends RecyclerView.Adapter<SongResultSear
return songs.size();
}
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {
TextView songTitle;
TextView songArtist;
TextView songDuration;
@ -73,12 +79,20 @@ public class SongResultSearchAdapter extends RecyclerView.Adapter<SongResultSear
cover = itemView.findViewById(R.id.song_cover_image_view);
itemView.setOnClickListener(this);
itemView.setOnLongClickListener(this);
}
@Override
public void onClick(View view) {
SongRepository songRepository = new SongRepository(App.getInstance());
songRepository.update(songs.get(getAdapterPosition()));
songRepository.increasePlayCount(songs.get(getAdapterPosition()));
}
@Override
public boolean onLongClick(View v) {
SongBottomSheetDialog songBottomSheetDialog = new SongBottomSheetDialog(songs.get(getAdapterPosition()));
songBottomSheetDialog.show(fragmentManager, null);
return true;
}
}
@ -90,4 +104,5 @@ public class SongResultSearchAdapter extends RecyclerView.Adapter<SongResultSear
public Song getItem(int id) {
return songs.get(id);
}
}