From f1fd9a58e97ffb71807391ceac6fe66aa160f054 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Tue, 21 Jan 2014 16:44:38 -0800 Subject: #263 Add song/album totals to genre list --- src/github/daneren2005/dsub/domain/Genre.java | 20 ++++++++++++++- .../dsub/service/parser/GenreParser.java | 2 ++ src/github/daneren2005/dsub/view/GenreView.java | 30 ++++++++++++++-------- 3 files changed, 40 insertions(+), 12 deletions(-) (limited to 'src/github/daneren2005') diff --git a/src/github/daneren2005/dsub/domain/Genre.java b/src/github/daneren2005/dsub/domain/Genre.java index 25d226d7..4ca4c387 100644 --- a/src/github/daneren2005/dsub/domain/Genre.java +++ b/src/github/daneren2005/dsub/domain/Genre.java @@ -14,7 +14,9 @@ import github.daneren2005.dsub.util.Util; public class Genre implements Serializable { private String name; private String index; - + private Integer albumCount; + private Integer songCount; + public String getName() { return name; } @@ -36,6 +38,22 @@ public class Genre implements Serializable { return name; } + public Integer getAlbumCount() { + return albumCount; + } + + public void setAlbumCount(Integer albumCount) { + this.albumCount = albumCount; + } + + public Integer getSongCount() { + return songCount; + } + + public void setSongCount(Integer songCount) { + this.songCount = songCount; + } + public static class GenreComparator implements Comparator { @Override public int compare(Genre genre1, Genre genre2) { diff --git a/src/github/daneren2005/dsub/service/parser/GenreParser.java b/src/github/daneren2005/dsub/service/parser/GenreParser.java index f572b564..35913ba9 100644 --- a/src/github/daneren2005/dsub/service/parser/GenreParser.java +++ b/src/github/daneren2005/dsub/service/parser/GenreParser.java @@ -97,6 +97,8 @@ public class GenreParser extends AbstractParser { String name = getElementName(); if ("genre".equals(name)) { genre = new Genre(); + genre.setSongCount(getInteger("songCount")); + genre.setAlbumCount(getInteger("albumCount")); } else if ("error".equals(name)) { handleError(); } else { diff --git a/src/github/daneren2005/dsub/view/GenreView.java b/src/github/daneren2005/dsub/view/GenreView.java index 6a8e04ef..cbd5f081 100644 --- a/src/github/daneren2005/dsub/view/GenreView.java +++ b/src/github/daneren2005/dsub/view/GenreView.java @@ -21,8 +21,6 @@ package github.daneren2005.dsub.view; import android.content.Context; import android.view.LayoutInflater; import android.view.View; -import android.widget.ImageButton; -import android.widget.ImageView; import android.widget.TextView; import github.daneren2005.dsub.R; import github.daneren2005.dsub.domain.Genre; @@ -31,20 +29,30 @@ public class GenreView extends UpdateView { private static final String TAG = GenreView.class.getSimpleName(); private TextView titleView; + private TextView songsView; + private TextView albumsView; public GenreView(Context context) { super(context); - LayoutInflater.from(context).inflate(R.layout.basic_list_item, this, true); - - titleView = (TextView) findViewById(R.id.item_name); - starButton = (ImageButton) findViewById(R.id.item_star); - starButton.setFocusable(false); - moreButton = (ImageView) findViewById(R.id.item_more); - moreButton.setVisibility(View.GONE); - moreButton.setClickable(false); + LayoutInflater.from(context).inflate(R.layout.genre_list_item, this, true); + + titleView = (TextView) findViewById(R.id.genre_name); + songsView = (TextView) findViewById(R.id.genre_songs); + albumsView = (TextView) findViewById(R.id.genre_albums); } public void setObjectImpl(Object obj) { - titleView.setText(((Genre)obj).getName()); + Genre genre = (Genre) obj; + titleView.setText(genre.getName()); + + if(genre.getAlbumCount() != null) { + songsView.setVisibility(View.VISIBLE); + albumsView.setVisibility(View.VISIBLE); + songsView.setText(context.getResources().getString(R.string.select_genre_songs, genre.getSongCount())); + albumsView.setText(context.getResources().getString(R.string.select_genre_albums, genre.getAlbumCount())); + } else { + songsView.setVisibility(View.GONE); + albumsView.setVisibility(View.GONE); + } } } -- cgit v1.2.3