From 9dd195620495c5aa2126a1eb7ff93859a84d311b Mon Sep 17 00:00:00 2001 From: daneren2005 Date: Wed, 31 Jul 2013 16:11:56 -0700 Subject: Remove IO from ArtistEntryView --- .../daneren2005/dsub/view/ArtistEntryView.java | 43 +++++++++++++++++----- 1 file changed, 34 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/github/daneren2005/dsub/view/ArtistEntryView.java b/src/github/daneren2005/dsub/view/ArtistEntryView.java index 3b6a50e4..0a9af86e 100644 --- a/src/github/daneren2005/dsub/view/ArtistEntryView.java +++ b/src/github/daneren2005/dsub/view/ArtistEntryView.java @@ -41,10 +41,15 @@ public class ArtistEntryView extends UpdateView { private Context context; private MusicDirectory.Entry artist; + private File file; private TextView titleView; private ImageButton starButton; private ImageView moreButton; + + private boolean exists = false; + private boolean shaded = false; + private boolean starred = true; public ArtistEntryView(Context context) { super(context); @@ -63,21 +68,41 @@ public class ArtistEntryView extends UpdateView { public void setArtist(MusicDirectory.Entry artist) { this.artist = artist; - titleView.setText(artist.getTitle()); - starButton.setVisibility((Util.isOffline(getContext()) || !artist.isStarred()) ? View.GONE : View.VISIBLE); - starButton.setFocusable(false); + file = FileUtil.getArtistDirectory(context, artist); + updateBackground(); update(); } + + @Override + protected void updateBackground() { + exists = file.exists(); + } @Override protected void update() { - starButton.setVisibility((Util.isOffline(getContext()) || !artist.isStarred()) ? View.GONE : View.VISIBLE); - File file = FileUtil.getArtistDirectory(context, artist); - if(file.exists()) { - moreButton.setImageResource(R.drawable.list_item_more_shaded); + if(artist.isStarred()) { + if(!starred) { + starButton.setVisibility(View.VISIBLE); + starred = true; + } } else { - moreButton.setImageResource(R.drawable.list_item_more); + if(starred) { + starButton.setVisibility(View.GONE); + starred = false; + } } - } + + if(exists) { + if(!shaded) { + moreButton.setImageResource(R.drawable.list_item_more_shaded); + shaded = true; + } + } else { + if(shaded) { + moreButton.setImageResource(R.drawable.list_item_more); + shaded = false; + } + } + } } -- cgit v1.2.3