From 8c889f7a38fb8929c548f603102063c2fe5c9a7d Mon Sep 17 00:00:00 2001 From: Antonio Cappiello Date: Sat, 21 Nov 2020 13:54:49 +0100 Subject: [PATCH] Add search --- .../play/adapter/DiscoverSongAdapter.java | 2 +- .../play/adapter/RecentMusicAdapter.java | 7 +- .../play/adapter/RecentSearchAdapter.java | 82 +++++++++ .../play/adapter/SongResultSearchAdapter.java | 91 ++++++++++ .../play/database/AppDatabase.java | 6 +- .../play/database/dao/RecentSearchDao.java | 24 +++ .../play/database/dao/SongDao.java | 3 + .../play/model/RecentSearch.java | 38 ++++ .../repository/RecentSearchRepository.java | 67 +++++++ .../play/repository/SongRepository.java | 11 +- .../play/ui/fragment/FilterFragment.java | 62 +++++++ .../play/ui/fragment/SearchFragment.java | 114 ++++++------ .../com/cappielloantonio/play/util/Util.java | 18 ++ .../play/viewmodel/SearchViewModel.java | 57 ++++++ app/src/main/res/color/color_chip_status.xml | 5 + .../drawable-v24/ic_launcher_foreground.xml | 34 ++++ .../res/drawable/ic_launcher_background.xml | 170 ++++++++++++++++++ .../res/layout/chip_search_filter_genre.xml | 16 ++ app/src/main/res/layout/fragment_filter.xml | 39 ++++ app/src/main/res/layout/fragment_search.xml | 116 ++++++++++-- ...r_song.xml => item_home_discover_song.xml} | 2 +- ...t_track.xml => item_home_recent_track.xml} | 0 .../main/res/layout/item_library_album.xml | 4 +- .../main/res/layout/item_library_artist.xml | 4 +- .../layout/item_search_recent_searches.xml | 20 +++ .../res/layout/item_search_result_song.xml | 68 +++++++ app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 4288 -> 2963 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4905 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 2369 -> 2060 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2783 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 5875 -> 4490 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6895 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 10864 -> 6387 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10413 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 14838 -> 9128 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 15132 bytes app/src/main/res/navigation/nav_graph.xml | 22 ++- app/src/main/res/values-night/colors.xml | 5 + app/src/main/res/values/colors.xml | 5 + 39 files changed, 999 insertions(+), 93 deletions(-) create mode 100644 app/src/main/java/com/cappielloantonio/play/adapter/RecentSearchAdapter.java create mode 100644 app/src/main/java/com/cappielloantonio/play/adapter/SongResultSearchAdapter.java create mode 100644 app/src/main/java/com/cappielloantonio/play/database/dao/RecentSearchDao.java create mode 100644 app/src/main/java/com/cappielloantonio/play/model/RecentSearch.java create mode 100644 app/src/main/java/com/cappielloantonio/play/repository/RecentSearchRepository.java create mode 100644 app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java create mode 100644 app/src/main/java/com/cappielloantonio/play/util/Util.java create mode 100644 app/src/main/java/com/cappielloantonio/play/viewmodel/SearchViewModel.java create mode 100644 app/src/main/res/color/color_chip_status.xml create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/src/main/res/layout/chip_search_filter_genre.xml create mode 100644 app/src/main/res/layout/fragment_filter.xml rename app/src/main/res/layout/{item_discover_song.xml => item_home_discover_song.xml} (97%) rename app/src/main/res/layout/{item_recent_track.xml => item_home_recent_track.xml} (100%) create mode 100644 app/src/main/res/layout/item_search_recent_searches.xml create mode 100644 app/src/main/res/layout/item_search_result_song.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/DiscoverSongAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/DiscoverSongAdapter.java index 98df9a48..c42bf0c4 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/DiscoverSongAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/DiscoverSongAdapter.java @@ -40,7 +40,7 @@ public class DiscoverSongAdapter extends PagerAdapter { @Override public Object instantiateItem(@NonNull ViewGroup container, final int position) { layoutInflater = LayoutInflater.from(context); - View view = layoutInflater.inflate(R.layout.item_discover_song, container, false); + View view = layoutInflater.inflate(R.layout.item_home_discover_song, container, false); TextView title; TextView desc; diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/RecentMusicAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/RecentMusicAdapter.java index 6b4958d2..85114d33 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/RecentMusicAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/RecentMusicAdapter.java @@ -1,7 +1,6 @@ package com.cappielloantonio.play.adapter; import android.content.Context; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -14,6 +13,9 @@ import com.cappielloantonio.play.model.Song; import java.util.List; +/** + * Adapter per i brani recenti in home + */ public class RecentMusicAdapter extends RecyclerView.Adapter { private static final String TAG = "RecentMusicAdapter"; private List songs; @@ -27,10 +29,9 @@ public class RecentMusicAdapter extends RecyclerView.Adapter { + private static final String TAG = "GenreAdapter"; + private List searches; + private LayoutInflater mInflater; + private Context context; + private ItemClickListener itemClickListener; + + public RecentSearchAdapter(Context context, List searches) { + this.context = context; + this.mInflater = LayoutInflater.from(context); + this.searches = searches; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = mInflater.inflate(R.layout.item_search_recent_searches, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(ViewHolder holder, int position) { + RecentSearch search = searches.get(position); + + holder.recentSearch.setText(search.getSearch()); + } + + @Override + public int getItemCount() { + return searches.size(); + } + + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + TextView recentSearch; + + ViewHolder(View itemView) { + super(itemView); + + recentSearch = itemView.findViewById(R.id.recent_search_text_view); + + itemView.setOnClickListener(this); + } + + @Override + public void onClick(View view) { + if (itemClickListener != null) + itemClickListener.onItemClick(view, getAdapterPosition()); + } + } + + public void setItems(List searches) { + this.searches = searches; + notifyDataSetChanged(); + } + + public RecentSearch getItem(int id) { + return searches.get(id); + } + + public void setClickListener(ItemClickListener itemClickListener) { + this.itemClickListener = itemClickListener; + } + + public interface ItemClickListener { + void onItemClick(View view, int position); + } +} diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/SongResultSearchAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/SongResultSearchAdapter.java new file mode 100644 index 00000000..27e9f8a5 --- /dev/null +++ b/app/src/main/java/com/cappielloantonio/play/adapter/SongResultSearchAdapter.java @@ -0,0 +1,91 @@ +package com.cappielloantonio.play.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.recyclerview.widget.RecyclerView; + +import com.cappielloantonio.play.R; +import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.util.Util; + +import java.util.List; + +/** + * Adapter per i brani ritrovati nella ricerca + */ +public class SongResultSearchAdapter extends RecyclerView.Adapter { + private static final String TAG = "SongResultSearchAdapter"; + private List songs; + private LayoutInflater mInflater; + private Context context; + private ItemClickListener itemClickListener; + + public SongResultSearchAdapter(Context context, List songs) { + this.context = context; + this.mInflater = LayoutInflater.from(context); + this.songs = songs; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = mInflater.inflate(R.layout.item_search_result_song, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(ViewHolder holder, int position) { + Song song = songs.get(position); + + holder.songTitle.setText(song.getTitle()); + holder.songArtist.setText(song.getArtistName()); + holder.songDuration.setText(Util.getReadableDurationString(song.getDuration())); + } + + @Override + public int getItemCount() { + return songs.size(); + } + + public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { + TextView songTitle; + TextView songArtist; + TextView songDuration; + + ViewHolder(View itemView) { + super(itemView); + + songTitle = itemView.findViewById(R.id.search_result_song_title_text_view); + songArtist = itemView.findViewById(R.id.search_result_song_artist_text_view); + songDuration = itemView.findViewById(R.id.search_result_song_duration_text_view); + + itemView.setOnClickListener(this); + } + + @Override + public void onClick(View view) { + if (itemClickListener != null) + itemClickListener.onItemClick(view, getAdapterPosition()); + } + } + + public void setItems(List songs) { + this.songs = songs; + notifyDataSetChanged(); + } + + public Song getItem(int id) { + return songs.get(id); + } + + public void setClickListener(ItemClickListener itemClickListener) { + this.itemClickListener = itemClickListener; + } + + public interface ItemClickListener { + void onItemClick(View view, int position); + } +} diff --git a/app/src/main/java/com/cappielloantonio/play/database/AppDatabase.java b/app/src/main/java/com/cappielloantonio/play/database/AppDatabase.java index 5221a51a..bd86daaa 100644 --- a/app/src/main/java/com/cappielloantonio/play/database/AppDatabase.java +++ b/app/src/main/java/com/cappielloantonio/play/database/AppDatabase.java @@ -10,14 +10,16 @@ import com.cappielloantonio.play.database.dao.AlbumDao; import com.cappielloantonio.play.database.dao.ArtistDao; import com.cappielloantonio.play.database.dao.GenreDao; import com.cappielloantonio.play.database.dao.PlaylistDao; +import com.cappielloantonio.play.database.dao.RecentSearchDao; import com.cappielloantonio.play.database.dao.SongDao; import com.cappielloantonio.play.model.Album; import com.cappielloantonio.play.model.Artist; import com.cappielloantonio.play.model.Genre; import com.cappielloantonio.play.model.Playlist; +import com.cappielloantonio.play.model.RecentSearch; import com.cappielloantonio.play.model.Song; -@Database(entities = {Album.class, Artist.class, Genre.class, Playlist.class, Song.class}, version = 2, exportSchema = false) +@Database(entities = {Album.class, Artist.class, Genre.class, Playlist.class, Song.class, RecentSearch.class}, version = 3, exportSchema = false) public abstract class AppDatabase extends RoomDatabase { private static final String TAG = "AppDatabase"; @@ -43,4 +45,6 @@ public abstract class AppDatabase extends RoomDatabase { public abstract PlaylistDao playlistDao(); public abstract SongDao songDao(); + + public abstract RecentSearchDao recentSearchDao(); } diff --git a/app/src/main/java/com/cappielloantonio/play/database/dao/RecentSearchDao.java b/app/src/main/java/com/cappielloantonio/play/database/dao/RecentSearchDao.java new file mode 100644 index 00000000..c7076322 --- /dev/null +++ b/app/src/main/java/com/cappielloantonio/play/database/dao/RecentSearchDao.java @@ -0,0 +1,24 @@ +package com.cappielloantonio.play.database.dao; + +import androidx.lifecycle.LiveData; +import androidx.room.Dao; +import androidx.room.Delete; +import androidx.room.Insert; +import androidx.room.OnConflictStrategy; +import androidx.room.Query; + +import com.cappielloantonio.play.model.RecentSearch; + +import java.util.List; + +@Dao +public interface RecentSearchDao { + @Query("SELECT * FROM recent_search GROUP BY search ORDER BY id DESC LIMIT :limit") + LiveData> getLast(int limit); + + @Insert(onConflict = OnConflictStrategy.REPLACE) + void insert(RecentSearch search); + + @Query("DELETE FROM recent_search") + void deleteAll(); +} \ No newline at end of file diff --git a/app/src/main/java/com/cappielloantonio/play/database/dao/SongDao.java b/app/src/main/java/com/cappielloantonio/play/database/dao/SongDao.java index 038a1809..e2f178cc 100644 --- a/app/src/main/java/com/cappielloantonio/play/database/dao/SongDao.java +++ b/app/src/main/java/com/cappielloantonio/play/database/dao/SongDao.java @@ -16,6 +16,9 @@ public interface SongDao { @Query("SELECT * FROM song") LiveData> getAll(); + @Query("SELECT * FROM song WHERE title LIKE '%' || :title || '%'") + LiveData> searchSong(String title); + @Query("SELECT EXISTS(SELECT * FROM song WHERE id = :id)") boolean exist(String id); diff --git a/app/src/main/java/com/cappielloantonio/play/model/RecentSearch.java b/app/src/main/java/com/cappielloantonio/play/model/RecentSearch.java new file mode 100644 index 00000000..2380275b --- /dev/null +++ b/app/src/main/java/com/cappielloantonio/play/model/RecentSearch.java @@ -0,0 +1,38 @@ +package com.cappielloantonio.play.model; + +import androidx.annotation.NonNull; +import androidx.room.ColumnInfo; +import androidx.room.Entity; +import androidx.room.PrimaryKey; + +@Entity(tableName = "recent_search") +public class RecentSearch { + @NonNull + @PrimaryKey(autoGenerate = true) + @ColumnInfo(name = "id") + private int id; + + @ColumnInfo(name = "search") + private String search; + + public RecentSearch(String search) { + this.search = search; + } + + @NonNull + public int getId() { + return id; + } + + public void setId(@NonNull int id) { + this.id = id; + } + + public String getSearch() { + return search; + } + + public void setSearch(String search) { + this.search = search; + } +} diff --git a/app/src/main/java/com/cappielloantonio/play/repository/RecentSearchRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/RecentSearchRepository.java new file mode 100644 index 00000000..a3d6f61d --- /dev/null +++ b/app/src/main/java/com/cappielloantonio/play/repository/RecentSearchRepository.java @@ -0,0 +1,67 @@ +package com.cappielloantonio.play.repository; + +import android.app.Application; + +import androidx.lifecycle.LiveData; + +import com.cappielloantonio.play.database.AppDatabase; +import com.cappielloantonio.play.database.dao.RecentSearchDao; +import com.cappielloantonio.play.model.RecentSearch; + +import java.util.List; + +public class RecentSearchRepository { + private RecentSearchDao recentSearchDao; + private LiveData> listLiveRecentSearches; + + public RecentSearchRepository(Application application) { + AppDatabase database = AppDatabase.getInstance(application); + recentSearchDao = database.recentSearchDao(); + listLiveRecentSearches = recentSearchDao.getLast(3); + } + + public LiveData> getListLiveRecentSearches() { + return listLiveRecentSearches; + } + + public void insert(RecentSearch recentSearch) { + InsertThreadSafe insert = new InsertThreadSafe(recentSearchDao, recentSearch); + Thread thread = new Thread(insert); + thread.start(); + } + + public void deleteAll() { + DeleteAllThreadSafe delete = new DeleteAllThreadSafe(recentSearchDao); + Thread thread = new Thread(delete); + thread.start(); + } + + private static class InsertThreadSafe implements Runnable { + private RecentSearchDao recentSearchDao; + private RecentSearch recentSearch; + + public InsertThreadSafe(RecentSearchDao recentSearchDao, RecentSearch recentSearch) { + this.recentSearchDao = recentSearchDao; + this.recentSearch = recentSearch; + } + + @Override + public void run() { + recentSearchDao.insert(recentSearch); + } + } + + + private static class DeleteAllThreadSafe implements Runnable { + private RecentSearchDao recentSearchDao; + + public DeleteAllThreadSafe(RecentSearchDao recentSearchDao) { + this.recentSearchDao = recentSearchDao; + } + + @Override + public void run() { + recentSearchDao.deleteAll(); + } + } +} diff --git a/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java b/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java index bdcf8272..13dc7d4c 100644 --- a/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java +++ b/app/src/main/java/com/cappielloantonio/play/repository/SongRepository.java @@ -14,17 +14,23 @@ import java.util.List; public class SongRepository { private SongDao songDao; private LiveData> listLiveSongs; + private LiveData> searchListLiveSongs; public SongRepository(Application application) { AppDatabase database = AppDatabase.getInstance(application); songDao = database.songDao(); - listLiveSongs = songDao.getAll(); } public LiveData> getListLiveSongs() { + listLiveSongs = songDao.getAll(); return listLiveSongs; } + public LiveData> searchListLiveSongs(String title) { + searchListLiveSongs = songDao.searchSong(title); + return searchListLiveSongs; + } + public boolean exist(Song song) { boolean exist = false; @@ -35,8 +41,7 @@ public class SongRepository { try { thread.join(); exist = existThread.exist(); - } - catch (InterruptedException e) { + } catch (InterruptedException e) { e.printStackTrace(); } 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 new file mode 100644 index 00000000..50e15913 --- /dev/null +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/FilterFragment.java @@ -0,0 +1,62 @@ +package com.cappielloantonio.play.ui.fragment; + +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Toast; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.lifecycle.ViewModelProvider; + +import com.cappielloantonio.play.R; +import com.cappielloantonio.play.databinding.FragmentFilterBinding; +import com.cappielloantonio.play.model.Genre; +import com.cappielloantonio.play.ui.activities.MainActivity; +import com.cappielloantonio.play.viewmodel.SearchViewModel; +import com.google.android.material.chip.Chip; + +public class FilterFragment extends Fragment { + private static final String TAG = "FilterFragment"; + + private MainActivity activity; + private FragmentFilterBinding bind; + private SearchViewModel searchViewModel; + + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + activity = (MainActivity) getActivity(); + + bind = FragmentFilterBinding.inflate(inflater, container, false); + View view = bind.getRoot(); + searchViewModel = new ViewModelProvider(requireActivity()).get(SearchViewModel.class); + + setFilterChips(); + return view; + } + + @Override + public void onDestroyView() { + super.onDestroyView(); + bind = null; + } + + private void setFilterChips() { + searchViewModel.getGenreList().observe(requireActivity(), genres -> { + bind.loadingProgressBar.setVisibility(View.GONE); + for (Genre genre : genres) { + Chip mChip = (Chip) requireActivity().getLayoutInflater().inflate(R.layout.chip_search_filter_genre, null, false); + mChip.setText(genre.getName()); + + mChip.setOnCheckedChangeListener((buttonView, isChecked) -> Toast.makeText(requireContext(), buttonView.getText() + ": " + isChecked, Toast.LENGTH_SHORT).show()); + + bind.filtersChipsGroup.addView(mChip); + } + }); + } +} 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 c608a3f5..871a2f55 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 @@ -1,31 +1,40 @@ package com.cappielloantonio.play.ui.fragment; -import android.app.Activity; -import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; +import androidx.recyclerview.widget.LinearLayoutManager; +import com.cappielloantonio.play.R; +import com.cappielloantonio.play.adapter.RecentSearchAdapter; +import com.cappielloantonio.play.adapter.SongResultSearchAdapter; import com.cappielloantonio.play.databinding.FragmentSearchBinding; +import com.cappielloantonio.play.model.RecentSearch; +import com.cappielloantonio.play.model.Song; import com.cappielloantonio.play.ui.activities.MainActivity; -import com.paulrybitskyi.persistentsearchview.utils.VoiceRecognitionDelegate; +import com.cappielloantonio.play.viewmodel.SearchViewModel; + +import java.util.ArrayList; +import java.util.List; public class SearchFragment extends Fragment { private static final String TAG = "SearchFragment"; - public static final int REQUEST_CODE = 64545; private FragmentSearchBinding bind; private MainActivity activity; + private SearchViewModel searchViewModel; - protected LinearLayout emptyLinearLayout; - - protected String query = ""; + private RecentSearchAdapter recentSearchAdapter; + private SongResultSearchAdapter songResultSearchAdapter; @Nullable @Override @@ -34,8 +43,12 @@ public class SearchFragment extends Fragment { bind = FragmentSearchBinding.inflate(inflater, container, false); View view = bind.getRoot(); + searchViewModel = new ViewModelProvider(requireActivity()).get(SearchViewModel.class); - searchInit(); + init(); + initRecentSearchView(); + initSearchResultView(); + initSearchView(); return view; } @@ -46,23 +59,38 @@ public class SearchFragment extends Fragment { bind = null; } - @Override - public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { - super.onActivityResult(requestCode, resultCode, data); - - if (requestCode == REQUEST_CODE) { - if (resultCode == Activity.RESULT_OK) { - String code = data.getStringExtra("result"); - search(code); - } - } - - VoiceRecognitionDelegate.handleResult(bind.persistentSearchView, requestCode, resultCode, data); + private void init() { + bind.clearAllSearchTextViewClickable.setOnClickListener(v -> searchViewModel.deleteAllRecentSearch()); } - private void searchInit() { - bind.persistentSearchView.showRightButton(); + private void initRecentSearchView() { + bind.recentlySearchedTracksRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext())); + bind.recentlySearchedTracksRecyclerView.setHasFixedSize(true); + recentSearchAdapter = new RecentSearchAdapter(requireContext(), new ArrayList<>()); + recentSearchAdapter.setClickListener((view, position) -> { + RecentSearch search = recentSearchAdapter.getItem(position); + search(search.getSearch()); + }); + bind.recentlySearchedTracksRecyclerView.setAdapter(recentSearchAdapter); + + searchViewModel.getSearchList().observe(requireActivity(), recentSearches -> recentSearchAdapter.setItems(recentSearches)); + } + + private void initSearchResultView() { + bind.searchResultTracksRecyclerView.setLayoutManager(new LinearLayoutManager(requireContext())); + bind.searchResultTracksRecyclerView.setHasFixedSize(true); + + songResultSearchAdapter = new SongResultSearchAdapter(requireContext(), new ArrayList<>()); + songResultSearchAdapter.setClickListener((view, position) -> { + Toast.makeText(requireContext(), "Song " + position, Toast.LENGTH_SHORT).show(); + }); + bind.searchResultTracksRecyclerView.setAdapter(songResultSearchAdapter); + } + + private void initSearchView() { + bind.persistentSearchView.showRightButton(); + bind.persistentSearchView.setOnSearchQueryChangeListener((searchView, oldQuery, newQuery) -> { }); @@ -70,49 +98,25 @@ public class SearchFragment extends Fragment { }); bind.persistentSearchView.setOnRightBtnClickListener(view -> { + activity.navController.navigate(R.id.action_searchFragment_to_filterFragment); }); - bind.persistentSearchView.setVoiceRecognitionDelegate(new VoiceRecognitionDelegate(this)); - bind.persistentSearchView.setOnSearchConfirmedListener((searchView, query) -> { - if (!query.equals("")) { - searchView.collapse(); - search(query); - } + search(query); }); - - bind.persistentSearchView.setSuggestionsDisabled(true); } public void search(String query) { - emptyScreen(); - this.query = query; + if (!query.equals("")) { + searchViewModel.insertNewSearch(query); + bind.persistentSearchView.collapse(); - bind.persistentSearchView.setInputQuery(query); - performSearch(query); + bind.persistentSearchView.setInputQuery(query); + performSearch(query); + } } private void performSearch(String query) { - - } - - private void loadMoreItemSearch(String query, int page) { - manageProgressBar(true); - - } - - private void emptyScreen() { - emptyLinearLayout.setVisibility(View.GONE); - } - - - private void manageProgressBar(boolean show) { - if (show) { - bind.persistentSearchView.hideLeftButton(); - bind.persistentSearchView.showProgressBar(true); - } else { - bind.persistentSearchView.showLeftButton(); - bind.persistentSearchView.hideProgressBar(true); - } + searchViewModel.searchSong(query).observe(requireActivity(), songs -> songResultSearchAdapter.setItems(songs)); } } diff --git a/app/src/main/java/com/cappielloantonio/play/util/Util.java b/app/src/main/java/com/cappielloantonio/play/util/Util.java new file mode 100644 index 00000000..4cd32808 --- /dev/null +++ b/app/src/main/java/com/cappielloantonio/play/util/Util.java @@ -0,0 +1,18 @@ +package com.cappielloantonio.play.util; + +import java.util.Locale; + +public class Util { + public static String getReadableDurationString(long songDurationMillis) { + long minutes = (songDurationMillis / 1000) / 60; + long seconds = (songDurationMillis / 1000) % 60; + + if (minutes < 60) { + return String.format(Locale.getDefault(), "%01d:%02d", minutes, seconds); + } else { + long hours = minutes / 60; + minutes = minutes % 60; + return String.format(Locale.getDefault(), "%d:%02d:%02d", hours, minutes, seconds); + } + } +} diff --git a/app/src/main/java/com/cappielloantonio/play/viewmodel/SearchViewModel.java b/app/src/main/java/com/cappielloantonio/play/viewmodel/SearchViewModel.java new file mode 100644 index 00000000..43602035 --- /dev/null +++ b/app/src/main/java/com/cappielloantonio/play/viewmodel/SearchViewModel.java @@ -0,0 +1,57 @@ +package com.cappielloantonio.play.viewmodel; + +import android.app.Application; + +import androidx.annotation.NonNull; +import androidx.lifecycle.AndroidViewModel; +import androidx.lifecycle.LiveData; + +import com.cappielloantonio.play.model.Genre; +import com.cappielloantonio.play.model.RecentSearch; +import com.cappielloantonio.play.model.Song; +import com.cappielloantonio.play.repository.GenreRepository; +import com.cappielloantonio.play.repository.RecentSearchRepository; +import com.cappielloantonio.play.repository.SongRepository; + +import java.util.List; + +public class SearchViewModel extends AndroidViewModel { + private SongRepository songRepository; + private GenreRepository genreRepository; + private RecentSearchRepository recentSearchRepository; + + private LiveData> searchSong; + private LiveData> allGenres; + private LiveData> recentSearches; + + public SearchViewModel(@NonNull Application application) { + super(application); + + songRepository = new SongRepository(application); + genreRepository = new GenreRepository(application); + recentSearchRepository = new RecentSearchRepository(application); + } + + public LiveData> searchSong(String title) { + searchSong = songRepository.searchListLiveSongs(title); + return searchSong; + } + + public LiveData> getGenreList() { + allGenres = genreRepository.getListLiveGenres(); + return allGenres; + } + + public LiveData> getSearchList() { + recentSearches = recentSearchRepository.getListLiveRecentSearches(); + return recentSearches; + } + + public void insertNewSearch(String search) { + recentSearchRepository.insert(new RecentSearch(search)); + } + + public void deleteAllRecentSearch() { + recentSearchRepository.deleteAll(); + } +} diff --git a/app/src/main/res/color/color_chip_status.xml b/app/src/main/res/color/color_chip_status.xml new file mode 100644 index 00000000..96c6dbf4 --- /dev/null +++ b/app/src/main/res/color/color_chip_status.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 00000000..1f6bb290 --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 00000000..0d025f9b --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/chip_search_filter_genre.xml b/app/src/main/res/layout/chip_search_filter_genre.xml new file mode 100644 index 00000000..3fa21c23 --- /dev/null +++ b/app/src/main/res/layout/chip_search_filter_genre.xml @@ -0,0 +1,16 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_filter.xml b/app/src/main/res/layout/fragment_filter.xml new file mode 100644 index 00000000..f6f1450e --- /dev/null +++ b/app/src/main/res/layout/fragment_filter.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index e48530e9..c1056690 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -8,21 +8,19 @@ android:id="@+id/persistentSearchView" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingStart="4dp" - android:paddingLeft="4dp" - android:paddingTop="4dp" - android:paddingEnd="4dp" - android:paddingRight="4dp" + android:paddingStart="8dp" + android:paddingTop="8dp" + android:paddingEnd="8dp" app:areSuggestionsDisabled="true" app:cardBackgroundColor="@color/cardColor" app:cardCornerRadius="4dp" - app:cardElevation="2dp" + app:cardElevation="0dp" app:clearInputButtonDrawable="@drawable/ic_close" app:dividerColor="@color/dividerColor" app:isClearInputButtonEnabled="true" app:isDismissableOnTouchOutside="true" app:isProgressBarEnabled="true" - app:isVoiceInputButtonEnabled="true" + app:isVoiceInputButtonEnabled="false" app:leftButtonDrawable="@drawable/ic_search" app:progressBarColor="@color/colorAccent" app:queryInputBarIconColor="@color/darkIconColor" @@ -31,18 +29,98 @@ app:queryInputHintColor="@color/hintTextColor" app:queryInputTextColor="@color/hintTextColor" app:rightButtonDrawable="@drawable/ic_filter" - app:shouldDimBehind="true" /> + app:shouldDimBehind="false" /> - + android:layout_height="wrap_content" + android:layout_below="@id/persistentSearchView" + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_discover_song.xml b/app/src/main/res/layout/item_home_discover_song.xml similarity index 97% rename from app/src/main/res/layout/item_discover_song.xml rename to app/src/main/res/layout/item_home_discover_song.xml index d0fe0fb9..74d3b1d4 100644 --- a/app/src/main/res/layout/item_discover_song.xml +++ b/app/src/main/res/layout/item_home_discover_song.xml @@ -9,7 +9,7 @@ + android:layout_height="156dp"> + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_search_result_song.xml b/app/src/main/res/layout/item_search_result_song.xml new file mode 100644 index 00000000..db030e54 --- /dev/null +++ b/app/src/main/res/layout/item_search_result_song.xml @@ -0,0 +1,68 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png index a6ac0a9d7c9e2bdce18cbf8039d945a30b6f1253..898f3ed59ac9f3248734a00e5902736c9367d455 100644 GIT binary patch delta 2958 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 i$?eD9sv2}9C;boEIh^#Xmlf6k00008=1 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..dffca3601eba7bf5f409bdd520820e2eb5122c75 GIT binary patch literal 4905 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 delta 2359 zcmV-73CQ-05Wy0VBYz19Nklxwm5j6ZwiOQ8&av1TNK5mk|Zqv0DC%(HbVpe{0zf*Iga}e z&-1b(6^iHk<8%-EQx= zdGqEU06@$IBo_dtrKRP|f*_oWL?Vq!!%Q5W?YbTpSn}XxD?#1K>7q-u#Qn$;o&1 zB%^0YHX}*T>IFM`VsLQqcqU8DaE2BDyJ^#=1L1JED_7&^8VEg6P*8AaXlUpIwU|%? zFm2qp@qg`DEcRI{m9i>Rq?&<7&&@XY8HS1SJYPRFH1vfs#i{{V8X6k@9*e~q^o%!Z z^qYEwKwB)9Tf@V{O#l$5b)*DfH*DDO9YGMf>E6oK3$rykTg>o0-+K4%-QUtuq5<%` zwXUx2^JFqvNmJ^<=w+wU(o(q@zu!M&dNCVFvwzt<^5DUP8UPT8eKY{Ge*O9#@p$}? z%Isj|Hw|Joo8k27)39~xR{7Q&H*Uc3^;`Gu-TRn~)HHylwzl@q zq9}e{ZQxLAOf3y!z4rEYIC}Kxv}VqnIRjl?T~p_@QfD^La2)sP$jHcc5(@;tR9;@b zz<=d(c_m4*7?qDQHqa<6=g*&q#>U2J06jfD(AL%lEXz(ipDPH%F!59>we<1h$9~L6 z1c0rnso5z>((jadHzFSz1g9G(PMm;!`}R#Uw7a_-IyyRlVHmj>&0=bv=QwWf!-o$) z!eAxq$eOt~r2!VlIQ-cWu zU|?VX;_>Z2s;jGmYQ3))#B0{9fyGYI@vcb$X09oLZ=hAXg=?KB=^?r#4C|tE_)qm#zP_7nC zYA^)g%9SfdI$E<1dH`d9NQih{=?O&xkG)ej9CLLOvn1$Zd1G{$Zl4C$C1JQv^o-K-Em(SRaF&WTAepbXYBmG4 zrYg#w$KRqT4n2AD3-WXh+n=YO(VBYIcs1S5tM&1X6x zHaC>l}i*W}6w-l$OqbDKy8gA~EE?&I&CswPqRWB&B zE&gdwXu;6qLo62S_WS)m%>->!>%E!Y`vDRo7|12_=gU2Qt%|aV>Am#J20$P%CR`4OqqeZHu!G~cuYcqsDY~v21Tj99O8q+&3jH_~ z3Ju|6C8PNnvY941gW5z;93yxDC@v`}*+c}PtcQK5nMLIi8>C|Mx96u@u!u!Es z5cfQBX^R7uq4&l{JU}zzqz{9;004@Lii*BwwOYT)vTQxWFz6-2hbW4PR4VmZJRbj3 zFc|zR0Ds`7!ek~`4ZUL38V9l&fzSwo2HOF^k(ZZOQczIPXt7voS(dFdnM{iqhQVC} z`3(=w0whTarqk(Xq9~5UrK$thM^>qnI6W##DYc>spMq1kuWrx3mbt!gXuyfipC)X7V=jD^3RoA do-?EF{{R?nYmz{AYH+Hy9+Dw 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 lV%Z2*hu);6rydA(}wUDXPCF_W1vnaRBK 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 literal 5875 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 24a9a7f233740f0eb72c80ab76c6b00fe51922f8..b0907cac3bfd8fbfdc46e1108247f0a1055387ec 100644 GIT binary patch literal 6387 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 literal 10864 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 V_Ak>Z0+Xa5MLAVuxs36b{{eZg!!7^- diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..d8ae03154975f397f8ed1b84f2d4bf9783ecfa26 GIT binary patch literal 10413 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 XdJ+W}DiIkV00000NkvXXu0mjfKBlg6 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 9d33613a3521e1987d52951b18f45736d03bd0a8..2c18de9e66108411737e910f5c1972476f03ddbf 100644 GIT binary patch literal 9128 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 I20H400LcNok^lez literal 14838 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 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..beed3cdd2c32af5114a7dc70b9ef5b698eb8797e GIT binary patch literal 15132 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index ecd5b124..fc8a15a6 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -52,7 +52,7 @@ @@ -72,14 +72,24 @@ android:name="com.cappielloantonio.play.ui.fragment.LibraryFragment" android:label="LibraryFragment" tools:layout="@layout/fragment_library"/> - + + + + \ No newline at end of file diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml index a455df34..f7d310eb 100644 --- a/app/src/main/res/values-night/colors.xml +++ b/app/src/main/res/values-night/colors.xml @@ -26,6 +26,7 @@ #CFCFCF #CFCFCF #121212 + #101010 #F3F3F3 #A0A0A0 @@ -33,5 +34,9 @@ #FFFFFF #EEEEEE #707070 + + #707070 + #444444 + #1D1D1D diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 5df8f573..1193f4b1 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -27,6 +27,7 @@ #303030 #303030 #EEEEEE + #EFEFEF #383838 #757575 @@ -34,4 +35,8 @@ #252525 #303030 #AFAFAF + + #AFAFAF + #EBEBEB + #FFFFFF \ No newline at end of file