diff options
author | Scott Jackson <daneren2005@gmail.com> | 2016-03-18 17:54:23 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2016-03-18 17:54:23 -0700 |
commit | 13ccd02becd0c66044464855b7cd59df4d3bcc53 (patch) | |
tree | f0bb6f7b2b6e204c5733df205475fb7e7bca268a /app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java | |
parent | 4077a554cd7a00b49c1ca88b3a7800222d6ebd10 (diff) | |
download | dsub-13ccd02becd0c66044464855b7cd59df4d3bcc53.tar.gz dsub-13ccd02becd0c66044464855b7cd59df4d3bcc53.tar.bz2 dsub-13ccd02becd0c66044464855b7cd59df4d3bcc53.zip |
#663 Make Search results expandable
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java index 66f2db21..69e5d56d 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/SearchAdapter.java @@ -19,7 +19,9 @@ import android.content.Context; import android.content.res.Resources; import android.view.Menu; import android.view.MenuInflater; +import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import java.io.Serializable; import java.util.ArrayList; @@ -28,10 +30,12 @@ import java.util.List; import github.daneren2005.dsub.R; import github.daneren2005.dsub.domain.MusicDirectory.Entry; import github.daneren2005.dsub.domain.SearchResult; +import github.daneren2005.dsub.util.DrawableTint; import github.daneren2005.dsub.util.ImageLoader; import github.daneren2005.dsub.util.Util; import github.daneren2005.dsub.view.AlbumView; import github.daneren2005.dsub.view.ArtistView; +import github.daneren2005.dsub.view.BasicHeaderView; import github.daneren2005.dsub.view.SongView; import github.daneren2005.dsub.view.UpdateView; @@ -40,32 +44,39 @@ import static github.daneren2005.dsub.adapter.EntryGridAdapter.VIEW_TYPE_ALBUM_C import static github.daneren2005.dsub.adapter.EntryGridAdapter.VIEW_TYPE_ALBUM_LINE; import static github.daneren2005.dsub.adapter.EntryGridAdapter.VIEW_TYPE_SONG; -public class SearchAdapter extends SectionAdapter<Serializable> { - private SearchResult searchResult; +public class SearchAdapter extends ExpandableSectionAdapter<Serializable> { private ImageLoader imageLoader; private boolean largeAlbums; + private static final int MAX_ARTISTS = 10; + private static final int MAX_ALBUMS = 4; + private static final int MAX_SONGS = 10; + public SearchAdapter(Context context, SearchResult searchResult, ImageLoader imageLoader, boolean largeAlbums, OnItemClickedListener listener) { - this.context = context; - this.searchResult = searchResult; this.imageLoader = imageLoader; this.largeAlbums = largeAlbums; - this.sections = new ArrayList<>(); - this.headers = new ArrayList<>(); + List<List<Serializable>> sections = new ArrayList<>(); + List<String> headers = new ArrayList<>(); + List<Integer> defaultVisible = new ArrayList<>(); Resources res = context.getResources(); if(!searchResult.getArtists().isEmpty()) { - this.sections.add((List<Serializable>) (List<?>) searchResult.getArtists()); - this.headers.add(res.getString(R.string.search_artists)); + sections.add((List<Serializable>) (List<?>) searchResult.getArtists()); + headers.add(res.getString(R.string.search_artists)); + defaultVisible.add(MAX_ARTISTS); } if(!searchResult.getAlbums().isEmpty()) { - this.sections.add((List<Serializable>) (List<?>) searchResult.getAlbums()); - this.headers.add(res.getString(R.string.search_albums)); + sections.add((List<Serializable>) (List<?>) searchResult.getAlbums()); + headers.add(res.getString(R.string.search_albums)); + defaultVisible.add(MAX_ALBUMS); } if(!searchResult.getSongs().isEmpty()) { - this.sections.add((List<Serializable>) (List<?>) searchResult.getSongs()); - this.headers.add(res.getString(R.string.search_songs)); + sections.add((List<Serializable>) (List<?>) searchResult.getSongs()); + headers.add(res.getString(R.string.search_songs)); + defaultVisible.add(MAX_SONGS); } + init(context, headers, sections, defaultVisible); + this.onItemClickedListener = listener; checkable = true; } |